大学の授業でC言語を書くことになったのですが、まさかのEmacs…。ゆとり世代に生まれた私たちにとってIDEの補完も効かないような環境でプログラムなんて書きたくない!デバッガも必須ですよね!悪名高きprintfデバッグよ…。
というわけでVSCodeでC言語を書くための環境を構築してみます。
結論
git clone https://github.com/chelproc/vscode-c-language-development-for-macos
してください。
とりあえずVSCodeならデフォルトでなんとかしてくれるっしょ!
と思ったのですが上手くいきませんでした。Microsoft謹製のC/C++拡張機能をインストールし、意気揚々とコードを書き始めたのですが・・・

どうやら標準ライブラリが見つからないとお怒りなご様子。Macではどこに入ってるんだっけ?
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
にあるという記述を発見。/.vscode/c_cpp_properties.jsonに書き加え、こんな感じに
{
"configurations": [
{
"name": "Mac",
"includePath": [
"${workspaceFolder}/**",
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include"
]
}
],
"version": 4
}
デバッグ時に困ったことが
[F5]を押してデバッグ構成を追加します。プラグインに内蔵されている構成をそのまま使用しても一通りのデバッグはできたのですが、なんと標準入力をコンソールから入力できません。

これには参りました。出力先を統合ターミナルにしたいので、launch.jsonを眺めてみるのですが・・・

「falseの場合、Linux および Windows では、統合コンソールに表示されます。」Macは??Macは?????
途方に暮れていたところをkamiyaowlさんの記事を発見。CodeLLDBを使うと良いそうなので早速インストール。デバッグ構成を作成して・・・

成功しました!これで快適なC言語ライフを送れそうです♪
まとめ
今回の成果物をGitHubに置いておきました。同じ悩みを抱えていた方はぜひご利用ください!