2026/10/05
社用PCを利用する機会があり、暇なので環境構築した時の記憶です。
長くてスクリーンショットがないので、見にくいかもしれないです。
最終目標
VSCodeでコード書いたら実行できるようにする。
簡単な構成
- Windows
- WSL2(WindowsでLinuxうごかすやつ)
- Ubuntu(今回使うLinux)
- GCC / G++(C++のコンパイラ)
- VSCode(コードエディタ)
1 Windowsアップデート
設定からします。
久しぶりに動かしたPCなので。
最新版にするのは大事です。
2 VSCodeインストール
公式サイトの「Download for Windows」をクリックし、インストーラーをダウンロードして実行します。
すべてに同意しました。
インストールできたら起動します。
3 WSLインストール
PowerShellを管理者権限で開いて、以下を実行してインストールします。
wsl --install5分くらいかかりました。
インストールが終わったら、以下で確認します。
wsl -l -v入ってないようでしたら、以下を実行します。
wsl --install -d Ubuntu
それでも無理なら、再起動しましょう。再起動はすべてを解決します。
再び確認します。
wsl -l -v無事に以下が表示されました。
NAME STATE VERSION
* Ubuntu Running 2
なんか勝手にペンギンのアイコンのアプリが立ち上がりますが、閉じて大丈夫です。
最後にWSLに接続します。
wslなんでもいいので、ユーザー名とパスワードを設定します。
以下のようになれば成功です。
user-name@host-name:/mnt/c/Users/windows-user-name$4 GCCインストール
まずはカタログを取るために、以下を実行します。
sudo apt update次に、お目当てのものをインストールします。
sudo apt install -y build-essential完了したら、以下を実行して確認します。
g++ --version以下のようなものが出れば問題ないです。
g++ (Ubuntu 15.2.0-16ubuntu1) 15.2.0
Copyright (C) 2025 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
問題があれば、再起動しましょう。
5 VSCodeにWSLの拡張機能インストール
VSCodeを開き、左側の壊れたテトリスみたいなアイコンをクリックします。
Extensionsと書いていれば正解です。
ちょくちょく右下に出てくるメッセージは、雰囲気でOKしたり閉じたりします。
検索欄で、
WSLと検索し、Microsoft製のWSL拡張機能をインストールします。青いペンギンのアイコンです。
インストールが完了したら、左下にある、> と < が重なった >< みたいなアイコンをクリックします。Open a Remote Window と表示されているものです。
上側の検索欄に候補がいくつか表示されるので、
Connect to WSLを選択します。
左下のアイコンが青くなり、
WSL: Ubuntuと表示されていれば接続成功です。
今は、Windowsの中のVSCodeから、Windowsの上にあるLinuxに接続してるイメージです。
6 VS CodeにC/C++拡張機能をインストール
先ほどのテトリスアイコンの検索欄から、
C/C++を検索しMicrosoft製のC/C++拡張機能をインストールします。
少し複雑ですが、ここで注意点があります。
Windows側にC/C++拡張機能を入れていても、WSL側には入っていない場合があります。
その状態だとよくわからない警告が出たり、エラーが出たりします。
拡張機能の画面で、
Install in WSL: Ubuntuのようなボタンが表示されている場合は、そちらも押してWSL側にインストールします。
Extentionsのタブで、Local と WSL: Ubuntu の両方に入っていればOKです。
7 テスト実行
ようやくテスト実行です。
まずはディレクトリとファイルを作成します。
フォルダとは呼ばず、ディレクトリと呼びます。
GUIからは作成せず、CLIから作成します。
まずはターミナルを開きます。
VSCodeなら、右上のほうにある、正方形の下3分の1くらいに線が入ってるアイコンをクリックするか、Ctrl + J でおそらく開きます。
そこで、以下のコマンドを実行していきます。
コマンドについて興味があれば調べてみてください。
mkdir -p ~/cppこれで、親ディレクトリが作成されましたのでそこに移動します。
cd ~/cpp次に、VSCodeでこのディレクトリを開きます。
code .. は「現在のディレクトリ」という意味です。
VSCodeの左側にcppディレクトリの中身が表示されればOKです。
次に、C++のファイルを作ります。
touch main.cpp左側にmain.cppが出てくるので開き、以下を書きます。
#include <bits/stdc++.h>
using namespace std;
int main() {
string name;
cin >> name;
cout << "Hello " << name << endl;
return 0;
}
保存します。
Ctrl + S です。
ターミナルで以下を実行し、コンパイルします。
g++ main.cpp何も表示されなければ、だいたい成功ですなので確認してみます。
lsおそらく、
a.out main.cppのようになっているので、実行してみます。
./a.out何も起きないように見えますが、入力待ちですので、
Worldと入力してEnterを押します。
Hello Worldと表示されれば成功です。
ちなみに、以下のように一行で入力を渡すこともできます。
./a.out <<< "World"同じように、
Hello Worldと表示されます。
8 VSCodeのタスクを登録
毎回、
g++ main.cpp
./a.out
と打つのは面倒です。
人間は楽をするためにコンピュータを使っているので自動化します。
VSCodeには、よく使うコマンドを登録してショートカットから実行できる「Task」という機能があります。
今回は、Ctrl + Shift + B を押したら、コンパイルして実行するようにし、ついでに入力もファイルから渡せるようにします。
まず、入力用のファイルを作ります。
touch input.txtinput.txt を開いて、
Worldと書いて保存します。
次に、VSCodeの設定用ディレクトリとファイルを作ります。
mkdir -p .vscode
touch .vscode/tasks.json
この時点で、構成はこんな感じです。
cpp
├── .vscode
│ └── tasks.json
├── input.txt
└── main.cpp
tasks.jsonを開いて、以下を貼り付けます。
{
"version": "2.0.0",
"tasks": [
{
"label": "C++ Build",
"type": "shell",
"command": "g++",
"args": [
"-std=c++20",
"-O2",
"-Wall",
"-Wextra",
"${file}",
"-o",
"${fileDirname}/a.out"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": "$gcc"
},
{
"label": "C++ Run",
"type": "shell",
"command": "./a.out < input.txt",
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": []
},
{
"label": "C++ Build & Run",
"dependsOrder": "sequence",
"dependsOn": [
"C++ Build",
"C++ Run"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
なんかいっぱい書いてますが、ざっくり、
C++ Build: コンパイル
C++ Run: 実行
C++ Build & Run: コンパイルして実行
という設定です。
保存したら、main.cppを開いた状態で、Ctrl + Shift + B を押します。
下のターミナルに、
Hello Worldと表示されたら成功です。
これからは、main.cppにコードを書いて、input.txtに入力を書いて、Ctrl + Shift + B だけです。
最後に
最終的な構成は以下のようになりました。
Windows
└── WSL2
└── Ubuntu
├── GCC / G++
└── ~/cpp
├── .vscode
│ └── tasks.json
├── input.txt
└── main.cpp
VSCode自体はWindows上で動いていますが、WSL拡張機能を使うことで、Ubuntu側のファイルを編集し、Ubuntu側のG++でコンパイルしています。
なぜLinuxを使うのか、なぜでしょうかね。色々と便利だからです。
間違い等あれば修正します。