VS Codeのエージェントモードを拡張するには、を試してください!

WSL でのリモート開発

このチュートリアルでは、Windows Subsystem for Linux (WSL) を有効にし、WSL 拡張機能を使用して Visual Studio Code を WSL で実行する方法を説明します。

前提条件

Visual Studio Code をインストールする必要があります。

拡張機能をインストールする

WSL 拡張機能を使用すると、Windows Subsystem for Linux (WSL) 内で Visual Studio Code を実行できます。

WSL 拡張機能をインストールする

WSL extension

前提条件の確認

WSL 拡張機能がインストールされると、左端に新しいステータスバー項目が表示されます。

Remote Status bar item

リモートステータスバー項目は、VS Code が実行されているコンテキスト (ローカルまたはリモート) をすばやく表示し、項目をクリックすると WSL 拡張機能のコマンドが表示されます。

WSL extension commands

WSL を有効にする

Windows Subsystem for Linux (WSL) は、Windows 10 のオプション機能です。Windows 機能ダイアログまたは PowerShell を介して有効にできます。

Windows 機能ダイアログ

Windows 検索バーに「features」と入力して、Windows の機能の有効化または無効化ダイアログを表示します。下にスクロールして、Windows Subsystem for Linux をオンにします。

Turn Windows features on and off dialog

OK を選択すると、Windows を再起動するよう求められます。

PowerShell

必要に応じて、管理者として PowerShell を開き、次のように入力します。

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

コマンドの実行後、Windows を再起動するよう求められます。

PowerShell prompt to restart

WSL を確認する

Windows の再起動後、コマンドプロンプトを開いて「wsl」と入力すると、WSL が有効になっていることを確認できます。

WSL check

WSL は有効になっていますが、まだ Linux ディストリビューションはインストールされていません。

Linux ディストリビューションをインストールする

WSL 用の Linux ディストリビューションは、Microsoft Store からインストールします。ストアアプリを使用するか、Windows 検索バーで Linux ディストリビューションを検索できます。インストールする Linux ディストリビューション (たとえば Ubuntu) を選択し、プロンプトに従います。

select Ubuntu distro

インストールを選択します。

install Ubuntu

完了したら、起動を選択して開始します。これにより、Linux ターミナルが開き、インストールが完了します。完全な Linux インスタンスをセットアップするため、ユーザー ID とパスワードを作成する必要があります。これで Windows で Linux が実行されます。

Linux terminal

Python 開発

Python がまだインストールされていない場合は、次のコマンドを実行して、Python3 と Python のパッケージマネージャーである pip を Linux インストールにインストールします。

sudo apt update
sudo apt install python3 python3-pip

そして、確認するには、次を実行します。

python3 --version

定番の「Hello World」アプリから始めましょう。「helloWorld」という新しいフォルダーを作成し、実行時にメッセージを出力する Python ファイルを追加します。

mkdir helloWorld && cd helloWorld
echo 'print("hello from python on ubuntu on windows!")' >> hello.py
python3 hello.py

リモート Linux 環境 (この WSL ディストリビューションは、厳密には UI を持たない別のマシンであり、たまたまローカルコンピューターで実行されているだけです) では、開発ツールとエクスペリエンスはかなり制限されます。ターミナルで Vim を実行してファイルを編集するか、\\wsl$ マウントを介して Windows 側でソースを編集できます。

\wsl$ mount

このモデルの問題は、Python ランタイム、pip、またはその他の conda パッケージが Windows にインストールされていないことです。

no Python on Windows

Python は Linux ディストリビューションにインストールされているため、Windows 側で Python ファイルを編集している場合、Windows に同じ Python 開発スタックをインストールしない限り、それらを実行したりデバッグしたりすることはできません。そして、それはすべての Python ツールとランタイムがセットアップされた分離された Linux インスタンスを持つという目的を打ち破ってしまいます!

WSL で実行する

WSL ターミナルで、helloWorld フォルダーにいることを確認し、「code .」と入力して Visual Studio Code を起動します。「.」引数は、VS Code に現在のフォルダーを開くように指示します。VS Code のInsiders バージョンを使用している場合は、代わりに「code-insiders .」を実行する必要があります。

注: このコマンドが機能しない場合は、ターミナルを再起動する必要があるか、インストール時に VS Code をパスに追加していなかった可能性があります。

launch VS Code

最初に表示されるのは、「Installing VS Code Server」というメッセージです (c7d83e57… の数字は、インストールしたクライアント側のツールと一致する VS Code Server のバージョンです)。VS Code は、デスクトップ VS Code が通信する小さなサーバーを Linux 側にインストールしています。そのサーバーは、WSL 内で拡張機能をインストールおよびホストし、WSL にインストールされているツールやフレームワークのコンテキストで実行されるようにします。つまり、言語拡張機能は、適切な開発エクスペリエンスのために、Windows 側にインストールされているものではなく、WSL にインストールされているツールやフレームワークに対して実行されます。

次に起こるのは、VS Code が起動し、helloWorld フォルダーが開かれることです。VS Code が WSL に接続していることを示す簡単な通知が表示される場合があり、Node.js ベースのサーバーへのアクセスを許可するよう求められる場合があります。

installing vscode server

これで、hello.py にカーソルを合わせると、適切な Linux パスが表示されます。

show hello.py Linux path

統合ターミナル

ターミナル > 新しいターミナル (⌃` (Windows, Linux Ctrl+`)) を実行して、新しいターミナルインスタンスを開きます。

new terminal in WSL

Windows で実行されている VS Code から、WSL で bash シェルの新しいインスタンスが開始されます。

ヒント: ステータスバーの左下隅に、WSL: Ubuntu インスタンスに接続されていることが表示されます。

WSL extension Status bar

編集とデバッグ

Python 拡張機能 (および追加ツール) のインストール

hello.py をクリックして編集のために開きます。拡張機能の推奨事項が表示されます。この場合は、豊富な編集およびデバッグエクスペリエンスを提供する Microsoft Python 拡張機能をインストールするよう求められます。インストールを選択し、プロンプトが表示されたらリロードしてください。

Python extension recommendation

拡張機能が WSL にインストールされていることを確認するには、拡張機能ビューを再度開きます (⇧⌘X (Windows, Linux Ctrl+Shift+X))。WSL: Ubuntu – インストール済みというセクションが表示され、WSL 側にインストールされているすべての拡張機能を確認できます。

WSL installed extensions

リロードすると、pylint リンターがインストールされていないというプロンプトも表示されます。リンターは、ソースコードのエラーと警告を表示するために使用されます。インストールを選択してください。

pylint not installed notification

これで、コードを編集すると、豊かな色付けと補完が得られます。

Python IntelliSense

そして、ファイルを保存すると (⌘S (Windows, Linux Ctrl+S))、ファイルにリンティングのエラーと警告が表示されます。

pylint error

デバッグ

ツールがセットアップされたので、さらに一歩進んでみましょう。hello.py の行 1 にブレークポイントを設定するには、行番号の左側の余白をクリックするか、カーソルを行に置いて F9 を押します。

set breakpoint

次に、F5 を押してアプリケーションを実行します。アプリケーションの実行方法を尋ねられますが、これは単純なファイルなので、Python File を選択します。

select debug configuration

アプリが起動し、ブレークポイントにヒットします。変数を検査したり、ウォッチを作成したり、呼び出しスタックをナビゲートしたりできます。

F10 を押してステップ実行すると、デバッグコンソールに print ステートメントの出力が表示されます。

VS Code debug view

WSL にインストールされている Linux インスタンスを使用して、Visual Studio Code の完全な開発エクスペリエンスが得られます。

WSL で別のフォルダーを開くには、ファイルメニューを開き、フォルダーを開くを選択します。Windows ファイルシステムではなく、Linux ファイルシステムの最小限のファイルおよびフォルダーナビゲーターが表示されます。

open folder navigator

Windows に戻るには、ローカルを表示オプションを選択すると、標準の Windows ファイルを開くダイアログが表示されます。

WSL 接続の終了

ファイル > リモート接続を閉じるで、WSL のセッションを終了し、VS Code をローカルで実行している状態に戻すことができます。

おめでとうございます

おめでとうございます。このチュートリアルを正常に完了しました!

次に、他のリモート開発拡張機能をチェックアウトしてください。

または、Remote Development拡張機能パックをインストールして、すべてを入手してください。