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 の検索バーに「機能」と入力して、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 ファイルを編集している場合、Windows に同じ Python 開発スタックをインストールしない限り、それらを実行またはデバッグすることはできません。そして、それはすべての 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 は、デスクトップ VS Code がその後通信する小さなサーバーを Linux 側にインストールしています。次に、そのサーバーは WSL に拡張機能をインストールしてホストし、WSL にインストールされているツールとフレームワークのコンテキストで実行されるようにします。言い換えれば、言語拡張機能は、適切な開発エクスペリエンスのためにそうあるべきであるように、Windows 側にインストールされているものではなく、WSL にインストールされているツールとフレームワークに対して実行されます。
次に起こるのは、VS Code が起動し、helloWorld
フォルダーを開くことです。VS Code が WSL に接続していることを通知する簡単な通知が表示され、Node.js ベースのサーバーへのアクセスを許可するように求められる場合があります。
これで、hello.py
にカーソルを合わせると、適切な Linux パスが表示されます。
統合ターミナル
ターミナル > 新しいターミナル (⌃` (Windows、Linux Ctrl+`)) を実行して、新しいターミナルインスタンスを開きます。
Windows で実行されている VS Code から、WSL で bash シェルの新しいインスタンスを開始します。
ヒント: ステータスバーの左下隅に、WSL: Ubuntu インスタンスに接続されていることが表示されます。
編集とデバッグ
Python 拡張機能 (および追加ツール) のインストール
hello.py
をクリックして編集のために開きます。拡張機能の推奨事項がプロンプト表示されます。この場合は、Microsoft Python 拡張機能をインストールして、豊富な編集およびデバッグエクスペリエンスを実現します。先に進み、インストールを選択し、プロンプトが表示されたらリロードします。
拡張機能が WSL にインストールされていることを証明するには、拡張機能ビューを再度開きます (⇧⌘X (Windows、Linux Ctrl+Shift+X))。WSL: Ubuntu – インストール済み というタイトルのセクションが表示され、WSL 側にインストールされている拡張機能を確認できます。
リロードすると、pylint linter がインストールされていないことも通知されます。リンターは、ソースコードのエラーと警告を表示するために使用されます。先に進み、インストールを選択します。
これで、コードを編集すると、豊富な色分けと補完が得られます。
また、ファイルを保存すると (⌘S (Windows、Linux Ctrl+S))、ファイルにリンティングエラーと警告が表示されます。
デバッグ
ツールがセットアップされたので、もう一歩進んでみましょう。行番号の左側の余白をクリックするか、行にカーソルを置いて F9 を押して、hello.py の 1 行目にブレークポイントを設定します。
次に、F5 を押してアプリケーションを実行します。アプリケーションの実行方法を尋ねられます。これは単純なファイルなので、Python ファイルを選択してください。
アプリが起動し、ブレークポイントにヒットします。変数を確認したり、ウォッチを作成したり、コールスタックをナビゲートしたりできます。
F10 を押してステップ実行すると、デバッグコンソールに print ステートメントの出力が表示されます。
WSL にインストールされた Linux インスタンスを使用して、Visual Studio Code の完全な開発エクスペリエンスを得られます。
WSL で別のフォルダーを開く場合は、ファイルメニューを開き、フォルダーを開くを選択します。Windows ファイルシステムではなく、Linux ファイルシステムの最小限のファイルおよびフォルダーナビゲーターが表示されます。
Windows に戻る場合は、ローカルを表示オプションを選択すると、標準の Windows ファイルを開くダイアログが表示されます。
WSL 接続の終了
WSL でのセッションを終了し、ファイル > リモート接続を閉じる を使用して VS Code のローカル実行に戻ることができます。
おめでとうございます
おめでとうございます。このチュートリアルを正常に完了しました!
次に、他のリモート開発拡張機能を確認してください。
または、Remote Development Extension Pack をインストールしてすべて入手してください。