エディター設定

仕様とファイル形式
エディター設定
フォーマットの種類INI設定ファイル
標準spec.editorconfig.org
オープンフォーマット?はい
フリーフォーマット?はい
Webサイトeditorconfig.org

EditorConfigは、構文強調表示テキストエディタ統合開発環境(IDE)のオープン仕様およびファイル形式であり、特にグループで共同作業を行う際に、一貫したコーディングスタイルを維持することを目的としています。[ 1] [ 2]複数のエディタや個人が同じ規約を使用するのに役立ちます。設定はファイルに保存され、複数の人が共有したり、複数のエディタ(同じ人または複数)で使用したりできます。[3] [4]行末の文字やインデントの管理方法などの規約を使用して、さまざまなプログラミング言語やその他の構造化テキストファイルをフォーマットするルールを定義します。[5]

コンセプト

プロジェクトのウェブサイトには、「EditorConfigは、複数の開発者が様々なエディタやIDEを使用して同じプロジェクトに取り組む際に、一貫したコーディングスタイルを維持するのに役立ちます。EditorConfigプロジェクトは、コーディングスタイルを定義するためのファイル形式と、エディタがファイル形式を読み取り、定義されたスタイルに準拠できるようにするテキストエディタプラグインのコレクションで構成されています。EditorConfigファイルは簡単に読み取ることができ、バージョン管理システムと連携して動作します。」と記載されています。[6]

仕様

出典: [7]

設定は通常、UTF-8でエンコードされたテキストファイル(.editorconfig )に保存されます。一部のツールでは、スタイル設定をEditorConfigファイルとして保存できます。[8] 各行:

  • 空白文字のみ使用可能
  • または始まるコメント;#
  • セクション ヘッダー。角括弧 [ で始まり、角括弧 ] で終わります。
    • セクションヘッダーには括弧の外側に空白以外の文字を含めることはできません。
    • 括弧内には空白/タブを含む任意の文字を含めることができます。
    • /パス区切り文字として スラッシュ文字を使用する
      • \Windows でも、バックスラッシュは禁止されています。
  • キーと値=を区切るキーと値のペア

その他の行形式は無効です。インラインコメントはサポートされていません。行頭以外の場所に ';または '文字がある場合、その行のテキストの一部とみなされます。文字のエスケープはサポートされていません。#

ファイルのパーツ/セクション

  • プリアンブル: 最初のセクションの前にあるオプションのペア。 key=value
  • セクション名: 文字列[ ]
  • セクション: 次のセクションの開始までセクション名に続くキー値のペア。

グロブ表現

セクション名は、 .gitignoreに似た形式を使用するファイル パス グロブであり、Unix 規則に基づいています。

ファイル名グロブ
キャラクター 一致したファイル
* パス区切り文字を除く任意の文字列(任意の長さ)(/
** 任意の文字列
? 任意の1文字
[seq] シーケンス内の任意の 1文字
[!seq] seqに 含まれない任意の1文字
{s1,s2,..sn} カンマ区切りの文字列リストのいずれか。ネスト可能です。{somestring} はリテラル値 ' ' に一致するため(おそらく意図したものではないため)、リストには複数の文字列を含める必要があります{somestring}
{n1..n2} n 1と n 2の間の整数に一致します(つまり、一致します Z | n 1 n 2 {\displaystyle i\in \mathbb {Z} |n_{1}\leq i\leq n_{2}}

ファイルの場所

EditorConfig プラグインは、既存のファイルが含まれている同じディレクトリ内、およびそのファイルの親ディレクトリ内で、ルート ファイル パス ( Linux / Unix / macOSの場合は/、Microsoft Windows の場合はC:など) に達するまで、または、次のような行が含まれている .editorconfig ファイルを見つけるまで、 .editorconfigという名前のファイルを検索しますroot=true

最も新しく見つかったルールが、読み込まれた順に優先されます。つまり、ファイルと同じディレクトリにあるルールは、上位ディレクトリのルールよりも優先されます。

ファイル形式

エディター構成では、共通のINI構成ファイル形式を使用します。

スタイルオプション

設定オプション
オプションを設定するための設定
インデントスタイル タブ文字またはスペースを 使用する"tab"設定する "space"
インデントサイズ タブあたりのスペース数、またはタブ ストップの幅を定義する整数。
タブ幅 これは通常、 indent_sizeがデフォルトとなるため指定されません。
行末 改行の表示方法を制御には、 、、またはを設定します"lf""cr""crlf"
文字セット 文字セットを制御するための文字エンコードlatin1」、「utf-8」、「utf-8-bom」、「utf-16be」または「utf-16le」。
末尾の空白をトリムする 「 true 」に設定すると、改行文字の前の空白文字が削除されます。
最後の改行を挿入 true」の場合はファイルが改行で終了し、「false」の場合は改行が防止されます。
特別なプロパティ(例:ファイルの先頭、セクション外に指定)。現在のファイルで.editorconfigファイルの検索を停止するには、 「 true 」に設定します。(つまり、上位ディレクトリで EditorConfig ファイルの検索を停止します。)

一部のツールでは、 max_line_length(指定した文字数を超えると強制的に改行する)などの追加オプションをサポートしています( EmacsVimAtom、その他いくつかでサポートされています)。

実装

多くの人気エディタがこの仕様のサポートを採用しています。[9]プロジェクトのGitHubページには、Goプログラミング言語、[10] Cプログラミング言語、[11] Pythonプログラミング言語、[12]で書かれた ライブラリありNode.JS ライブラリあります[ 13 ]プロジェクトサイトは、利用可能なエディタの包括的なリストがあります。[14]

プラグインを使わずに動作すると報告されたエディター

GiteaGitHub、IntelliJ IDEA、[15] PyCharm、BBEdit、Xcode 16、JetBrainsのエディタ、[16] KateEmacs [17] KomodoVisual StudioVim / Neovim

プラグインを必要とするエディタ

一部のエディタではプラグインのインストールが必要です: Eclipse IDEAtomGeanyJEditNotepad++NetBeansVisual Studio Code[18] Sublime Text

プラグインを必要とするビルド環境

Apache AntGradleApache Maven

EditorConfigをサポートしていないエディター

EditorConfigをサポートしていない様々なテキストエディタやIDEのリストは保持されていません(例えば、Spyder IDE [19]は過去にサポートが言及されていましたが、まだ含まれていないようです。[20] [21]

EditorConfigを実装するその他のソフトウェア開発ツール

プリティアー[22]

参考文献

  1. ^ Hombergs, Tom (2021-02-15). 「EditorConfigを使った簡単なコードフォーマット」. reflectoring.io . 2024年4月24日閲覧
  2. ^ 「EditorConfigで一貫したコーディングスタイルを定義する」。Microsoft Build。Microsoft。2024年4月。 2024年4月1日閲覧
  3. ^ “EditorConfig”. X (旧称Twitter) . 2024年4月24日閲覧
  4. ^ The Codeholic. 「.editorconfigとは何か - EditorConfig完全ガイド」YouTube . 2024年4月24日閲覧
  5. ^ 「コード分析ルールの構成ファイル」。Microsoft Build . 2023年10月6日. 2024年4月24日閲覧
  6. ^ "EditorConfig"". EditorConfig . 2024年4月23日閲覧
  7. ^ 「EditorConfig仕様」 。 2024年4月24日閲覧
  8. ^ 「コード スタイル オプションとコードのクリーンアップ - Visual Studio (Windows)」。2023年5月15日。
  9. ^ 「.editorconfig とは何か?」Geeks for Geeks 2024年3月7日. 2024年4月24日閲覧
  10. ^ “Editorconfig/Editorconfig-core-go”. GitHub . 2024年4月24日閲覧
  11. ^ “Editorconfig/Editorconfig-core-c”. GitHub . 2024年4月24日閲覧
  12. ^ “Editorconfig/Editorconfig-core-py”. GitHub . 2024年4月24日閲覧
  13. ^ “Editorconfig”. 2023年7月2日. 2024年4月24日閲覧
  14. ^ 「EditorConfigを使用したプロジェクト」。GitHub 2024年4月24日閲覧
  15. ^ 「EditorConfig | IntelliJ IDEA」。
  16. ^ 「EditorConfig - IntelliJ IDEs プラグイン | Marketplace」 。 2024年4月24日閲覧
  17. ^ 「GNU Emacs NEWS、Emacs 30.1の新モードとパッケージ」。2025年2月23日。 2025年7月16日閲覧
  18. ^ 「EditorConfig for VS Code - Visual Studio Marketplace」 。 2024年4月24日閲覧
  19. ^ 「.editorconfig のサポートを追加 #2464」。Syder -ide Github。2015年6月2日。
  20. ^ 「グローバル設定の環境変数 'EDITORCONFIG' · Issue #465 · editorconfig/Editorconfig」。GitHub 2024年4月24日閲覧
  21. ^ 「エディター - Spyder 5 ドキュメント」 。 2024年4月24日閲覧
  22. ^ 「静的サイト向けにESLint、Prettier、EditorConfigを設定する方法」DEV Community . 2022年1月25日. 2024年4月24日閲覧
Retrieved from "https://en.wikipedia.org/w/index.php?title=EditorConfig&oldid=1321834894"