0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VScodeでWSL2をリモート接続し,C/C++をデバッグできるようにする

Posted at

やりたいこと

「VScodeからWSLを起動し,C/C++の開発を行いたい!」
C/C++の開発環境を整えるために,下記の方法を検討していました.
・vscode + wsl2
・Visual Studio
・vscode + Cygwin

私は今後Linuxでの開発も視野に入れているため一つ目の方法を取ることにしました.

環境

・Win 11
・WSL(Ubuntu)

参考サイト

VScodeの拡張機能のインストール

リモート接続ができるように下記のいずれかをインストールしてください.
・WSL(以前はRemote-WSLという名前だった)
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl
・Remote Development
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack

※Remote Developmentは「Dev Containers」「WSL」「Remote-SSH」「Remote-tunnels」の4つの拡張機能を有するメタパッケージです.

VScodeからWSLにリモート接続をする

 もともと,WSLはWindows OSの上に無理やりLinuxの環境(カーネル?)を構築していました.そのため,Windowsのファイルシステム(エクスプローラなど)を使ってWSLで使用しているディレクトリを操作することはできませんでした.(WSL2では可能です.)そこで,SSH接続とは違いますが,「ローカルPC上のWSLに同じローカルWindows上のVScodeからリモート接続する」ことでWSLを起動します.(引用元:https://qiita.com/_masa_u/items/d3c1fa7898b0783bc3ed)
 以下からは,VScodeとWSLがインストールされていることが前提での話となります.インストール方法は省略させてください.
まず,Windows PowershellからWSLを起動してください.

wsl

その次にターミナルに

code .

を入力するとVScodeが起動します.以上でVScodeからWSLへリモート接続できました.
 なお,VScodeからも起動できます.左下のマークをクリックすると,
image.png
上部の検索窓がこのように選択できます.
image.png
接続が完了すれば,左下が次のように変化します.
image.png

C\C++の開発環境の構築

1.WSLへパッケージをインストール

gcc, g++, make, gdbなどを個別にインストールしてください.

wsl
sudo apt install gcc
sudo apt install g++
sudo apt install make
sudo apt install gdb

なお,私は試していないですが,「build-essential」という開発に必要なパッケージをまとめたメタパッケージもあるそうです.

2.VScodeのC/C++の拡張機能をインストール

私はパッケージをインストールしました.(写真はインストール後)
image.png
こちらは仮に以前インストールをしていたとしても,再度インストールし直してください.(詳細は分かりませんが,WSLのUbuntuに対してインストールが要求されています.おそらく下記のようなボタンが表示されていると思います.)
image.png
それではいよいよビルド+デバッグの設定です.

3.フォルダ選択 と C言語ファイルの作成

まず,エクスプローラでメインフォルダを開きます.
image.png
このフォルダの任意の位置にプログラムファイルを作ってください.この記事ではtest.cを作成します.

wsl(ターミナル)
touch test.c

このファイルを編集し,任意のファイルを作ってください.下記に一例を載せます.

test.c
#include <stdio.h>
int main(void){
   int a = 3;
   int b = 4;
   printf("%i+%i = %i\n",a, b, a+b);
   return 0;
}

2.lanch.json と tasks.jsonの作成

先ほどのtest.cファイルを開いたまま,F1もしくは上部検索窓から「C/C++:デバッグ構成の追加」を選択してください.
image.png
image.png
これからいずれかを選択します.(調査不足ですが,どれでも大丈夫です.)
すると,「.vscode」フォルダ直下にlanch.json と tasks.jsonが作られます.これらのファイルはビルド&デバッグをするときに必要な設定ファイルです.

いざ実行!

ここまでですべて終了しました.あとはF5を押してください.ターミナルに実行結果が出力されるはずです.デバッグを行いたいときは,ブレークポイントを選択して下さい.
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?