Corredor

ウェブ、プログラミングの勉強メモ。

色々な設定ファイルのコメントアウト方法

実践Vim 思考のスピードで編集しよう! (アスキー書籍)

実践Vim 思考のスピードで編集しよう! (アスキー書籍)

拡張子のない設定ファイルにおいてどのようにコメントが書けるか、色々な設定ファイルでサポートしているコメント構文を調べた。

主にフロントエンド開発で使うツールの設定ファイル多め。設定ファイルに拡張子があり、その言語でのコメントアウト記法が有効なモノ (.js.xml など) は紹介しない。

行頭 # でコメントアウト可能

  • .bashrc
  • .editorconfig
  • .gitignore
  • .gitconig
  • .inputrc
  • .npmrc
  • .tigrc
  • .viminfo

大体の RC ファイルはシェルスクリプトに習って # でコメントアウトできるようだ。

JSON だが // でコメントアウト可能

  • .eslintrc
  • .jsbeautifyrc
  • .jshintrc
  • tsconfig.json
  • tslint.json

通常では JSON ファイルは // などのコメントアウトができないが、JSON としてパースする前にコメントを除去してくれているツールであれば、コメントを含んだ JSON を書ける。主に Node.js (JavaScript 系) で扱うツールはこうしたサポートをしていることが多い。

コメント構文サポートのない JSON (// を書くとエラーになる)

  • .bowerrc : JSON ベース・"//" キー使用可能
  • bower.json : "//" キー使用可能
  • package.json : "//" キー使用可能
  • jsconfig.json : 代替案未検証
  • nodeConfig.json : "//" キー使用可能
  • npm-shrinkwrap.json : 代替案未検証

純粋な JSON ファイルでないとエラーになるモノ。「"//" キー使用可能」と記載したファイルは、後述する代替案でコメントが書ける。

その他のファイル

  • .vimrc : 行頭 " でコメントアウト可能。
  • Windows マクロファイル : 行頭 ;= がオススメ。
    neos21.hatenablog.com
  • Windows レジストリファイル : 行頭 //; でコメントアウト可能。以下の記事で紹介した。
    neos21.hatenablog.com
  • Markdown : 設定ファイルではないけど。普通に HTML のコメント構文が使えるが、PanDoc との協調性のため開始コメントのハイフンを3つにするやり方が良いらしい。

JSON におけるコメントの書き方について

JSON にはコメント構文はない。代替案となるのは以下のとおり。

  • "//": "Comment" といった形で、コメント用のプロパティを作る。
    • データ側を配列にすれば複数行風のコメントも可能。
    • 対象の JSON ファイルを扱う側が無効なキーをエラーにするような場合には向かない。
  • 同名のキーが重複した場合は、後から宣言した方が使用されるので、コメントを書きたいキーと同名のキー名で "// Comment" を書く。
    • 恐らく大抵の JSON パーサで問題なく使えるやり方。
{
  "configuration": "// ココに○○の設定情報を書きます。",
  "configuration": {
    ... (省略) ...
  }
}