VSCodeでPICのプロジェクトを編集する。

MPLAB X IDE + MCC で作成したプロジェクトを、Visual Studio Code でいじろうとしたときに、インテリセンスとエラーチェックでたくさん引っかかってきたので設定を変更したお話。

VSCode でワークスペースにプロジェクトディレクトリを追加して、そのワークスペースのプロパティをいじることでインクルードなどをプロジェクト単位で設定できます。

プロジェクトごとに MCU は違ったりするので、必要に応じて書き換える必要がありますが、以下のようにすることでインテリセンスが静かになりました。
  • まず、プロジェクト直下に ".vscode" というディレクトリを作成します。
  • そこに "c_cpp_properties.json" という名前でファイルを作成します。
  • 以下の内容を "c_cpp_properties.json" に保存します。

{
    "configurations": [
        {
            "name": "XC8-2.05-c99",
            "includePath": [
                "${workspaceFolder}",
                "C:/Program Files (x86)/Microchip/xc8/v2.05/pic/include",
                "C:/Program Files (x86)/Microchip/xc8/v2.05/pic/include/c99"
            ],
            "defines": [
                "__XC8",
                "__PICC__",
                "_16F18346"
            ],
            "intelliSenseMode": "gcc-x64",
            "browse": {
                "path": [
                    "${workspaceFolder}",
                    "C:/Program Files (x86)/Microchip/xc8/v2.05/pic/include",
                    "C:/Program Files (x86)/Microchip/xc8/v2.05/pic/include/c99"
                ],
                "databaseFilename": "",
                "limitSymbolsToIncludedHeaders": true
            },
            "cStandard": "c99",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}

参考にしたのはc_cpp_properties.json Reference Guideです。

このうち、XC8 のバージョンによってディレクトリ名が変わるのでその部分と、"defines" の中で MCU 名を定義しておかないと適切にマクロを展開してくれないので、プロジェクトごとに見直す必要があるでしょう。

0 件のコメント:

コメントを投稿

Vimの補完プラグインをインストール。その4

Vimの補完プラグインをインストール。その3 で、 ddc-tabnine が使えそうです、などと書いたのですが、早速やってみました。 まず、tabnineのバイナリを用意しないといけません。がどうにもTabNineのサイトがわかりにくいので、 tabnine-nvim にあるダ...