VSCodeとWSLを連携する(2025年度版)

はじめに_

WSL2上にインストールされているLinux上でプログラミングなどをおこなうためにMS VScodeを利用する。

VSCodeのインストール_

WindowsにVSCodeをインストールする。以下のサイトからダウンロードし、インストールする。

2025年6月1日現在のバージョンは以下のとおり(メニューの「ヘルプ」→「バージョン音確認」で確認できる)。

バージョン: 1.100.2 (user setup)
コミット: 848b80aeb52026648a8ff9f7c45a9b0a80641e2e
日付: 2025-05-14T21:47:40.416Z
Electron: 34.5.1
ElectronBuildId: 11369351
Chromium: 132.0.6834.210
Node.js: 20.19.0
V8: 13.2.152.41-electron.0
OS: Windows_NT x64 10.0.26100

以下の画像は起動後の画面。

VSCodeのメニューの日本語化_

VSCodeでは拡張機能をインストールすることでより便利に使うことができる。

拡張機能として以下をインストールする。下の画像の1つ目の赤枠のアイコンをクリックすると拡張機能の画面に移動する。検索窓(2つ目の赤枠)に以下の拡張機能の名前を入力すると該当の拡張機能が表示されるのでインストールする。インストールが終わるとVSCodeの再起動が求められるので、再起動する。すると、日本語化されている。

  • Japanese Language Pack for VS Code(VS Codeのメニューの日本語化)

WSL上のUbuntuとの連携_

【2022年版】WSLでVSCodeが直接使えるLinuxの開発環境を構築する方法【Linux】を参考に、VSCodeとUbuntuを連携する。

ここでいうVSCodeとUbuntuの連携とは、Windows側で起動したVSCodeでUbuntu上のファイルを編集し、Ubuntu上でプログラムのコンパイルや実行を行えるようにするということである。

まず、VSCodeで以下の拡張機能をインストールする。

  • Remote Development (WSL、Dev Containerという拡張機能も自動的にインストールされる)

続いて、インストール済みのUbuntuを起動する(すでにUbuntuが起動している場合は一度終了し、再起動する)。Ubuntuのターミナル上で適当なディレクトリに移動し、以下のコマンドを実行する。

% code .
Installing VS Code Server for Linux x64 (848b80aeb52026648a8ff9f7c45a9b0a80641e2e)
Downloading: 100%
Unpacking: 100%
Unpacked 2042 files and folders to /home/gotoh/.vscode-server/bin/848b80aeb52026648a8ff9f7c45a9b0a80641e2e.
Looking for compatibility check script at /home/gotoh/.vscode-server/bin/848b80aeb52026648a8ff9f7c45a9b0a80641e2e/bin/helpers/check-requirements.sh
Running compatibility check script
Compatibility check successful (0)

するとLinux側にVSCode Serverというものが自動的にインストールされ、Windows側のVSCodeがUbuntuと連携される。

あるディレクトリを開いたとき、以下のようにそのディレクトリの持ち主を信頼してよいかの確認がある。

以下の画像の左隅のように「WSL:Linuxのディストリビューション名」(この例では「WSL: Ubuntu-24.04」)が表示されていれば、WSL2と連携している状態となっている。

次回以降はVSCodeを起動すると自動的にWSL上のUbuntuと連携した状態で起動する。

Windows側のVSCodeからUbuntuにアクセスしたときにrootになってしまう_

上述のようにVSCodeとWSL上のUbuntuを連携させた後、Windows側のVSCodeから連携させたワークスペースを開くと、VSCode上のターミナルのユーザがrootになり、予想外のトラブルが生じる(典型的にはパスが通っていない)。

これを防ぐためにUbuntu上の/etc/wsl.confに以下の記述を追加する。

[user]
default=自分の一般ユーザ名

一般ユーザ名がgotohの場合、Ubuntuのターミナル上で以下のコマンドを実行し/etc/wsl.confに追加する。

% echo '[user]' | sudo tee -a /etc/wsl.conf
% echo 'default=gotoh' | sudo tee -a /etc/wsl.conf

内容を確認する。以下の例は他の設定も記載されている。

% cat /etc/wsl.conf
[boot]
systemd=true

[user]
default=gotoh
[user]
default=gotoh

Ubuntuを一度終了する。VSCodeも一度終了する。

% exit

Powershellを管理者権限で起動し、以下のコマンドを実行し、WSLを一度終了する。

% wsl --shutdown
% exit

VSCodeを起動する。WSLと接続していない場合はWSLと接続する。VSCodeの左隅にある水色のアイコンをクリックする(下の画像の1の部分)。すると、検索窓(下の画像の2の部分)が開くので、「WSLへの接続」を選択する。するとWSLに接続する。

WSLに接続した状態ならば、VSCode上のターミナルを用いて、WSL上のLinux(今回の例ではUbuntu 24.04)を操作できる。メニューから「ターミナル」→「新しいターミナル」を選択する。メニューに「ターミナル」が表示されていない場合は、省略アイコン(下の画像の赤枠部分)をクリックし、省略表示されているメニューから選ぶ。

VSCodeのターミナル上でユーザを確認する。

% whoami
gotoh

設定したどおりのユーザ名が表示されていれば、設定はうまくいっている。以後は、各用途にあわせてVSCodeをカスタマイズする。

戻る_