WSLでのリモート開発
このチュートリアルでは、Windows Subsystem for Linux (WSL) を有効にし、WSL拡張機能を使用してWSLでVisual Studio Codeを実行する手順を説明します。
前提条件
Visual Studio Codeがインストールされている必要があります。
拡張機能をインストールする
WSL拡張機能を使用すると、Windows Subsystem for Linux (WSL) 内でVisual Studio Codeを実行できます。
前提条件の確認
WSL拡張機能をインストールすると、ステータスバーの左端に新しい項目が表示されます。
リモートステータスバー項目は、VS Codeがどのコンテキスト (ローカルまたはリモート) で実行されているかを素早く表示でき、この項目をクリックするとWSL拡張機能のコマンドが表示されます。
WSLを有効にする
Windows Subsystem for Linux (WSL) は、Windows 10のオプション機能です。Windows機能ダイアログまたはPowerShellを通じて有効にできます。
Windows機能ダイアログ
Windows検索バーに「features」と入力して、Windowsの機能の有効化または無効化ダイアログを表示します。下にスクロールして、Windows Subsystem for Linuxにチェックを入れます。
OKを選択すると、Windowsの再起動を求めるプロンプトが表示されます。
PowerShell
もしよろしければ、管理者としてPowerShellを開き、次のように入力することもできます。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
コマンドの実行後、Windowsの再起動を求めるプロンプトが表示されます。
WSLの確認
Windowsを再起動した後、コマンドプロンプトを開き「wsl」と入力することで、WSLが有効になっていることを確認できます。
WSLは有効になっていますが、まだLinuxディストリビューションはインストールされていません。
Linuxディストリビューションをインストールする
WSL用のLinuxディストリビューションはMicrosoft Storeからインストールします。ストアアプリを使用するか、Windows検索バーでLinuxディストリビューションを検索してください。インストールしたいLinuxディストリビューション(例:Ubuntu)を選択し、プロンプトに従ってください。
インストールを選択します。
完了したら、起動を選択して開始します。これによりLinuxターミナルが開き、インストールが完了します。完全なLinuxインスタンスをセットアップするため、ユーザーIDとパスワードを作成する必要があります。これでWindows上でLinuxが実行されています。
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側でソースを編集できます。
このモデルの問題は、Pythonランタイム、pip、または関連するcondaパッケージが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をパスに追加しなかった可能性があります。
最初に表示されるのは、「VS Code Serverをインストールしています」というメッセージです(c7d83e57…という数字は、インストールしたクライアント側のツールと一致するVS Code Serverのバージョンです)。VS CodeはLinux側に小さなサーバーをインストールし、デスクトップ版VS Codeがそのサーバーと通信します。そのサーバーはWSL内で拡張機能をインストールしてホストし、WSLにインストールされているツールやフレームワークのコンテキストで実行されるようにします。つまり、言語拡張機能は、Windows側にインストールされているものではなく、WSLにインストールされているツールやフレームワークに対して実行され、適切な開発エクスペリエンスが提供されます。
次に、VS Codeが起動し、helloWorld
フォルダーが開きます。VS CodeがWSLに接続していることを示す短い通知が表示されたり、Node.jsベースのサーバーへのアクセスを許可するよう求められたりする場合があります。
これで、hello.py
にカーソルを合わせると、正しいLinuxパスが表示されます。
統合ターミナル
ターミナル > 新しいターミナル (⌃` (Windows, Linux Ctrl+`)) を実行して、新しいターミナルインスタンスを開きます。
WSLでbashシェルの新しいインスタンスが開始されます。これもWindows上で実行されているVS Codeからです。
ヒント: ステータスバーの左下隅に、WSL: Ubuntuインスタンスに接続されていることが表示されます。
編集とデバッグ
Python拡張機能 (および追加ツール) のインストール
hello.py
をクリックして編集用に開きます。拡張機能の推奨が表示され、この場合はMicrosoft Python拡張機能をインストールすることで、豊富な編集およびデバッグエクスペリエンスが得られます。続行してインストールを選択し、必要に応じてリロードしてください。
拡張機能がWSLにインストールされていることを証明するには、もう一度拡張機能ビューを開きます (⇧⌘X (Windows, Linux Ctrl+Shift+X))。WSL: Ubuntu – インストール済みというセクションが表示され、WSL側にインストールされている拡張機能を確認できます。
リロードすると、pylintリンターがインストールされていないというプロンプトも表示されます。リンターはソースコードのエラーや警告を表示するために使用されます。続行してインストールを選択してください。
これで、コードを編集すると、豊かな色付けと補完が得られます。
そしてファイルを保存すると (⌘S (Windows, Linux Ctrl+S))、ファイルにリンティングのエラーと警告が表示されます。
デバッグ
ツールがセットアップできたので、さらに一歩進めてみましょう。hello.pyの1行目の左にあるガターをクリックするか、カーソルをその行に置いてF9を押してブレークポイントを設定します。
次に、F5を押してアプリケーションを実行します。アプリケーションの実行方法を尋ねられますが、これはシンプルなファイルなので、Pythonファイルを選択するだけで十分です。
アプリが起動し、ブレークポイントに到達します。変数を検査したり、ウォッチを作成したり、コールスタックをナビゲートしたりできます。
F10を押してステップ実行すると、デバッグコンソールにprint文の出力が表示されます。
WSLにインストールされたLinuxインスタンスを使用して、Visual Studio Codeの完全な開発エクスペリエンスが得られます。
WSLで別のフォルダーを開きたい場合は、ファイルメニューを開き、フォルダーを開くを選択します。Windowsファイルシステムではなく、Linuxファイルシステムの最小限のファイルおよびフォルダーナビゲーターが表示されます。
Windowsに戻したい場合は、ローカルを表示オプションを選択すると、標準のWindowsファイルを開くダイアログが表示されます。
WSL接続の終了
WSLでのセッションを終了し、VS Codeをローカルで実行に戻すには、ファイル > リモート接続を閉じるを選択します。
おめでとうございます
おめでとうございます。このチュートリアルを正常に完了しました!
次に、他のリモート開発拡張機能をチェックしてください。
または、Remote Development拡張機能パックをインストールして、すべてを入手してください。