🚀 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 の検索バーに「機能」と入力して、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 に指示します。Insiders バージョンの VS Code を使用している場合は、代わりに「code-insiders .」を実行する必要があります。

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

launch 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 ベースのサーバーへのアクセスを許可するように求められる場合があります。

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 linter がインストールされていないことも通知されます。リンターは、ソースコードのエラーと警告を表示するために使用されます。先に進み、インストールを選択します。

pylint not installed notification

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

Python IntelliSense

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

pylint error

デバッグ

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

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 Extension Pack をインストールしてすべて入手してください。