Visual Studio CodeでC/C++開発環境

さて、UMPC aka ちっこいパソコン aka ぱしょこんでは、スクリーンサイズの制約があり、フル機能のVisual Studioはなかなか難しい。
マルチペインのIDEはもちろん使いやすいのだが、物理スクリーンサイズの小さいUMPCでは、フォントサイズを小さくして全て表示しない限り、その恩恵には預かれない。
このサイズの開発環境で、GUIのアプリの開発はそもそも無理なので、Ubuntuのコンソール開発でも十分なはずだ。
しかし、贅沢な環境に慣れてしまったせいか、コードハイライトやコンプリーションは欲しい。
こういった用途には、Visual Studio Code (VS Code)がちょうどいい。
VS CodeはMSFT製の汎用IDEで、各言語対応は拡張機能をインストールして実現する。
またコンパイラは提供されないので、いわゆるオープンソースのものなどを利用するのが吉だ。
C/C++の場合にはMinGWを使用する。


さてググるといろいろ環境設定方法が出てくるのだが、どれも古い情報のようだ。
最新のVS CodeC/C++機能拡張を使えば、いちいちtask.jsonやlaunch.jsonを自分で書く必要はない。

  • まずVS Codeをインストールする

code.visualstudio.com

  • VS Codeを起動し、C/C++機能拡張をインストールする

左のサイドバーの拡張機能のボタン(四角いアイコン)をクリックすると、左側のペインに機能拡張の一覧が表示されるので、C/C++を選びインストールする。

  • Min GWをインストールする

www.mingw.org
インストールマネージャーがインストールされるので、そいつを起動して"mingw32-base"と"mingw32-gcc-g++"をインストールする。


設定としてはこれだけで、あとはコードを書き、デバッグを開始するだけだ。
VS Codeの基本的な使い方として、

  • まずプロジェクトフォルダーを設定("Open Folder"で新しくフォルダーを作り、それを選択)する。
  • 次に新しいファイルを開き、すぐにそれを.cもしくは.cppの拡張子で保存する。そのファイルがC/C++のソースであることを認識するので、コードコンプリーションが動くようになる。
  • コードを書き終わったら、左のサイドバーのデバッグボタン(文字通り虫のアイコン)をクリックし、左側のペインの上のセッティング(歯車)ボタンを押す。どのデバッガーを使用するかプルダウンが表示されるので、"C++(GDB/LLDB)"を選択すればデバッグがスタートする。

このサイトに画面のハードコピーがあるので、参考になる。
qiita.com
左側のペインがデバッグウィンドウになり、デバッグポイントを設定するとその時点の変数の内容が表示されるなど、普通にデバッグができるようになる。


さて、ここまで「問題なく動きますよ」的に書いたが、実は思いっきりハマった。
C/C++機能拡張が自動生成するtask.jsonやlaunch.jsonが動かないのだ。
ググると出てくる、「task.jsonやlaunch.jsonはこう書きましょう」的なテンプレートをコピペすると動く。
ハマったハマった、数か月ハマった。
正解は、「C/C++機能拡張を一度アンインストールする」だ。
その後インストールしなおすと、不思議とすべてがうまくいく。
念のため、前に書かれたtask.jsonやlaunch.jsonは消して、デバッグを開始しよう。
信ずるものは救われる。