Skip to content

macOSのVSCodeでC言語の開発環境を構築する

大学の授業でC言語を書くことになったのですが、まさかのEmacs…。ゆとり世代に生まれた私たちにとってIDEの補完も効かないような環境でプログラムなんて書きたくない!デバッガも必須ですよね!悪名高きprintfデバッグよ…。

というわけでVSCodeでC言語を書くための環境を構築してみます。

結論

git clone https://github.com/chelproc/vscode-c-language-development-for-macos

してください。

とりあえずVSCodeならデフォルトでなんとかしてくれるっしょ!

と思ったのですが上手くいきませんでした。Microsoft謹製のC/C++拡張機能をインストールし、意気揚々とコードを書き始めたのですが・・・

Cで#includeがエラー
とりあえず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]を押してデバッグ構成を追加します。プラグインに内蔵されている構成をそのまま使用しても一通りのデバッグはできたのですが、なんと標準入力をコンソールから入力できません。

デバッグコンソールに出力されてしまうため、scanf等の標準入力を扱う関数でキーボードから入力できない

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

統合ターミナルを使えない
統合ターミナルが使えない

「falseの場合、Linux および Windows では、統合コンソールに表示されます。」Macは??Macは?????

途方に暮れていたところをkamiyaowlさんの記事を発見。CodeLLDBを使うと良いそうなので早速インストール。デバッグ構成を作成して・・・

やっと上手くいった
やっと上手くいった

成功しました!これで快適なC言語ライフを送れそうです♪

まとめ

今回の成果物をGitHubに置いておきました。同じ悩みを抱えていた方はぜひご利用ください!

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください