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

WSLでのリモート開発

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

前提条件

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ファイルを編集する場合、同じPython開発スタックをWindowsにインストールしない限り、それらをP実行したりデバッグしたりすることはできません。それでは、すべてのPythonツールとランタイムがセットアップされた分離されたLinuxインスタンスを持つ意味がなくなってしまいます!

WSLで実行

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

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

launch VS Code

最初に表示されるのは、「VS Code Serverをインストールしています」というメッセージです(c7d83e57…という数字は、インストールしたクライアント側のツールと一致するVS Code Serverのバージョンです)。VS CodeはLinux側に小さなサーバーをインストールし、デスクトップ版VS Codeがそのサーバーと通信します。そのサーバーは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

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

ヒント: ステータスバーの左下隅に、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ファイルを選択するだけで十分です。

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拡張機能パックをインストールして、すべてを入手してください。