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 件のコメント:

コメントを投稿

LIXILのシャワートイレの電源ランプ。

年明け早々あれですが。 昨年末から、うちのLIXILのシャワートイレの電源ランプが、チカチカと鬱陶しい点滅を始めました。型番はDV-E116Hで2015年製。LIXILの取説では点検サービスを受けてくださいと書いてあり、この電源ランプの点滅をやめさせる方法はありません。ちなみに出...