VS Code を Windows 11 にインストールして WSL Ubuntu とリモート開発する

# VS Code を Windows 11 にインストールして WSL Ubuntu とリモート開発する

こんにちは、@studio_meowtoon です。今回は、Windows 11 に VS Code をインストールする手順と、WSL Ubuntu とリモート開発する方法を紹介します。
![vs-code_on_windows_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3206449/924bb4e8-258b-740a-29cb-20c5574e338b.png)

## 目的

Windows 11 の Linux でクラウド開発します。

こちらから記事の一覧がご覧いただけます。

https://qiita.com/studio_meowtoon/items/6119ab05d8b13527efd8

## 実現すること

+ Windows 11 に VS Code をインストールします。
+ VS Code に リモート拡張機能を導入して WSL Ubuntu とリモート開発をします。

## 技術トピックス

### VS Code とは？  

<details>
<summary>こちらを展開してご覧いただけます。</summary>

### [Microsoft Visual Studio Code](https://azure.microsoft.com/ja-jp/products/visual-studio-code/)

:::note info
Visual Studio Code (VS Code) は、Microsoft が開発したオープンソースのコードエディタです。軽量で高速、拡張性が高く、豊富な機能を持っています。主要なプログラミング言語のサポートがあり、エディタ内でのデバッグ、Git などのバージョン管理システムの統合、ターミナルなどの機能も提供しています。また、多数の拡張機能を利用することで、自分に合ったエディタ環境をカスタマイズできます。  
:::

:::note warn
Visual Studio Code (VS Code) はオープンソースソフトウェアです。[VS Code のコード](https://github.com/microsoft/vscode)は、Microsoft によってオープンソース化され、GitHub 上で MIT ライセンスの下で公開されています。つまり、VS Code のコードを誰でも自由に閲覧、ダウンロード、改変、再配布することができます。また、VS Code の開発にはコミュニティからの貢献が歓迎されており、開発者は GitHub 上でコードのプルリクエストを行うことができます。
:::

</details>

### SSH とは？  

<details>
<summary>こちらを展開してご覧いただけます。</summary>

### SSH (Secure Shell)

:::note info
SSH は、ネットワークを介して安全な通信を行うためのプロトコルの一つです。 SSH は、通信経路を暗号化し、不正アクセスや盗聴などのセキュリティ上のリスクを低減することができます。SSH は、主にリモートアクセスやファイル転送などの目的で使用されます。
:::

</details>

## 開発環境

+ Windows 11 Home 23H2 を使用しています。  

:::note info
[WSL](https://learn.microsoft.com/ja-jp/windows/wsl/about) の Ubuntu を操作していきますので macOS の方も参考にして頂けます。  
:::

<details>

WSL (Microsoft Store アプリ版) [※ こちらの関連記事からインストール方法をご確認いただけます](https://qiita.com/studio_meowtoon/items/cd0c4a607d451dbf5430)

```sh
> wsl --version
WSL バージョン: 2.2.4.0
カーネル バージョン: 5.15.153.1-2
WSLg バージョン: 1.0.61
```

Ubuntu [※ こちらの関連記事からインストール方法をご確認いただけます](https://qiita.com/studio_meowtoon/items/cd0c4a607d451dbf5430)

```sh
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 24.04 LTS
Release:        24.04
Codename:       noble
```

</details>

:::note warn
この記事では基本的に Ubuntu のターミナルで操作を行います。**Vim を使用してコピペする方法**を初めて学ぶ人のために、以下の記事で手順を紹介しています。ぜひ挑戦してみてください。
:::

https://qiita.com/studio_meowtoon/items/7771ad48676926e41463

## VS Code 環境の構築 (Windows 11)

### VS Code をインストール

Microsoft Store から **VS Code** を検索して [インストール] します。 ※無料です。  
![vs_code_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3206449/0a7a3867-fd82-6ece-f83a-01f18aebea61.png)

### VS Code のセットアップ

スタートメニューから Visual Studio Code を起動します。  

初回起動時に日本語表示を促すポップアップが開きます。  
![vs_code_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3206449/df3ded8b-da34-fc4b-641c-e4b985fe9c14.png)
[インストールして再起動] ボタンを押します。  

再起動して立ち上がった VS Code が日本語表示になりました。

次に、左のメニューバーから 拡張機能を選択して以下の二つの拡張機能をインストールします。  

**WSL**
![vs_code_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3206449/a24e31d4-4f33-f965-ad05-8e0c036a2089.png)
**Remote - SSH**
![vs_code_5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3206449/87f53c9a-f400-e87a-c621-54a239a95efd.png)
インストールが完了したら、このまま VS Code を閉じます。

## Ubuntu でプロジェクトを作成する

:::note info
はじめて Windows 11 と WSL Ubuntu でリモート開発をする場合、Ubuntu 側にプロジェクトを作成してから開始する方が手順が簡単になります。そのため、この方法をご紹介します。
:::

:::note warn
既に WSL Ubuntu 上で他の言語のプロジェクトを作成している場合は、Python のプロジェクトを作成する必要はありません。代わりに、既存のプロジェクトフォルダに移動し、**code .** と入力してください。これにより、Windows 11 上の VS Code が起動します。
:::

### Python の Hello World プロジェクトを作成する

Python を確認します。

:::note info
通常 Ubuntu 24.04 には、Python はプリインストールされています。
:::

```sh
$ python3 --version
Python 3.12.3
```

プロジェクトフォルダを作成します。  
※ ~/tmp/hello-python をプロジェクトフォルダとします。  

```sh
$ mkdir -p ~/tmp/hello-python
$ cd ~/tmp/hello-python
```

スクリプトを作成します。

```sh
$ vim hello.py
```

ファイルの内容

```py:hello.py
print("Hello World!")
```

スクリプトを実行してみます。

```sh
$ python3 hello.py
Hello World!
```

ターミナルに "Hello, World!" が表示されました。  

## ここまでのまとめ

+ Windows 11 に VS Code をインストールして日本語表示を有効にしました。
+ VS Code に WSL, Remote - SSH 拡張機能をインストールしました。
+ WSL Ubuntu に Python の "Hello World" プロジェクトを作成しました。

## VS Code で Ubuntu のプロジェクトを開く

Ubuntu のターミナルで Python の "Hello World" プロジェクトに移動します。  
※ 上記の手順を実行してきた場合、既に以下のディレクトリに移動した状態です。

```sh
$ cd ~/tmp/hello-python
```

**code** コマンドで Ubuntu から Windows 11 の VS Code を起動します。  
※ 初回起動時のみ、自動的に追加の拡張要素がインストールされます。

```sh
$ code .
Installing VS Code Server for x64 (92da9481c0904c6adfe372c12da3b7748d74bdcb)
Downloading: 100%
Unpacking: 100%
Unpacked 2399 files and folders to /home/username/.vscode-server/bin/92da9481c0904c6adfe372c12da3b7748d74bdcb.
```

:::note info
**code .** は、現在のディレクトリを VS Code で開くためのコマンドです。VS Code が既にインストールされている場合、このコマンドを実行することで、カレントディレクトリ内のファイルやフォルダを VS Code で開くことができます。
:::

セキュリテイのダイアログが開きますが、[はい、作成者を信頼します] を選択します。
![vs_code_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3206449/0fee25c3-5f54-444f-b894-a3dd75147cfe.png)
VS Code が立ち上がりました。VS Code の左下が以下のような表示に変わります。
![vs_code_7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3206449/c5593cc6-4231-21c8-61c3-a4948796afa9.png)
WSL: Ubuntu-22.04 と表示されています。

VS Code で新しいターミナルを開いてみます。
![vs_code_8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3206449/454b1df1-08ea-2db4-b011-0d5dce9ea080.png)
以下のように VS Code の中に Ubuntu のターミナルが開きます。  
![vs_code_9ed.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3206449/861d54f8-99a9-fc15-3bc0-98ba0c24d786.png)
VS Code のターミナルで Python スクリプトを実行してみます

```sh
$ python3 hello.py
Hello World!
```

VS Code のターミナルに "Hello, World!" が表示されました。  

:::note warn
今回は、VS Code で WSL Ubuntu リモート開発することが目的です。そのため、**Python 用の拡張機能のインストールは必要ありません。** ただし、VS Code では Python でプロジェクトを開発することが可能ですので、興味のある方は別途インストールを行ってください。  
:::

## 別のプロジェクトを開くには？

これで設定が完了しました。これ以降、Ubuntu 上の別のプロジェクトフォルダでターミナルから **code .** と入力するだけで、VS Code で開発を行うことができます。今後の記事では、Java 開発環境などの構築方法を紹介する予定です。

## カスタマイズ

キーボードの **F1** キーを押して VS Code のコマンドパレットに以下を入力します。

```sh
> settings json
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3206449/2f00543c-1c32-b38b-4c18-da2b4dde8026.png)

設定を適用する対象を選択します。
※ ここでは 基本設定: ユーザー設定を開く (JSON) を選択しました。

:::note info
editor.codeLens を OFF にする設定は以下を追記します。
:::

```json:settings.json
}
    ※ 省略
    "editor.codeLens": false
}
```

## まとめ

+ Windows 11 に VS Code をインストールすることができました。
+ VS Code に WSL, Remote - SSH 拡張機能をインストールしました。
+ WSL Ubuntu に作成したプロジェクトフォルダから、Windows の VS Code を起動して開発することができました。

どうでしたか？ WSL を使用することで、Windows 11 上で手軽に Linux の開発環境 (たとえば Ubuntu など) を構築することができます。ぜひお試しください。今後も Java の開発環境などを紹介していきますので、お楽しみに。それでは失礼します。

## 推奨コンテンツ

https://qiita.com/studio_meowtoon/items/4d11e94a2389758759cd