Visual Studio Codeの設定を整える | C言語

(特に組み込みソフト開発で用いられる)古いIDEは機能が貧弱なため、コーディングはVisual Studio Codeで行いビルドやデバッグはIDEで行うようにしています。このときデフォルト設定のままでは不便だったところをまとめています。

目次

settings.json

settings.jsonの開きかたなどは下記ページを参照してください。

ファイルのエンコードにシフトJISを指定する

Visual Studio Codeにはファイルのエンコードを推測する機能があります。しかしこれがまともに機能しません。古いソースコードはシフトJISであることが多く、そうであれば指定してしまった方が確実です。

// ファイルのエンコードの推測を止める
"files.autoGuessEncoding": false,

// ファイルのエンコードをシフトJISで開く
"files.encoding": "shiftjis",

// プラグインのGit Graphを使っているなら、合わせてエンコードを指定する
"git-graph.fileEncoding": "shiftjis",

タブをスペースに置き換える

タブ幅は環境依存のため、どのような環境でも同じように表示させるためスペースに置き換えます。

// タブキーでスペースを挿入
"editor.insertSpaces": false,

// タブ幅は2スペース
"editor.tabSize": 2,

行末の空白を削除する

なぜかコードの後ろに意味のない空白が入っていることがあります。こういうのがとても気になるので削除します。

// 保存時に行末の空白を削除する
"files.trimTrailingWhitespace": true,

特定の拡張子のファイルをエクスプローラーに表示しない

ビルドするとLSTファイルやOBJファイルなどが生成されます。これが適当なフォルダー下にまとまって生成されるなら良いですが、ソースファイルと同じフォルダー下に生成してくれるIDEがいます。するとお目当てのファイルを探し出す邪魔にしかならないのため、(Visual Studio Code上の)エクスプローラーに表示しないようにします。

// エクスプローラーから非表示にする拡張子・フォルダー
"files.exclude": {
	"**/*.lst": true,
	"**/*.obj": true,
},

特定の拡張子のファイルを検索対象から外す

LSTファイルの中に、コードがほぼそのままテキストで保存されているものがあります。これが検索に引っ掛かって邪魔をするため、検索対象から外します。

// 検索の対象外にする拡張子・フォルダー
"search.exclude": {
	"**/*.lst": true,
},

アウトラインの表示内容を厳選する

アウトラインにアレもコレも表示されていると、お目当ての関数を探し出すのが大変です。不要なものは非表示にします。しかしstatic関数の宣言を消す方法は今のところないかもしれません。消したいけど消せなくて不便しています。

// 変数を表示しない
"outline.showVariables": false,

// 定数を表示しない
"outline.showConstants": false,

// 列挙型を表示しない
"outline.showEnums": false,

// 構造体を表示しない
"outline.showStructs": false,

// インターフェイスを表示しない (typedefが非表示になる)
"outline.showInterfaces": false,

c_cpp_properties.json

「c_cpp_properties.json」は「.vscode」フォルダー下にあります。

特殊なキーワードを無効化する

あるときコード補完に変数が出てこないことに気が付きました。理由はなんてことはない、下記の「xdata」なんて知らないよと判断されているのが原因です。

int yes;       // コード補完に出る
xdata int no;  // コード補完に出ない

そこでこのような処理系依存のキーワードをVisual Studio Codeから見えなくしてあげる必要があります。
c_cpp_properties.jsonを開くとdefinesがあるので、そこに無効化したいキーワードを登録してください。

"defines": [
    "xdata="
],

コメント

コメントする

CAPTCHA


目次