この記事は 高知工科大 Advent Calendar 2016 の2日目の記事です。
昨年度のカレンダーはこちら: 高知工科大 Advent Calendar 2015
はじめまして。高知工科大学 OB の pine (ぴね) と申します。
いまは東京で働いていますので、東京へ来る際は飲みましょう。
今期は Occultic;Nine とあにトレ推しです。
エディタを問わず使える、テキストエディタの設定ファイルです。
インデント幅や文字コードなどのコードを書く時のスタイルを、プロジェクトごとに容易に統一することができます。
- 公式サイト http://editorconfig.org/
- 特定のエディタに依存しない、共通のデータフォーマット
- プロジェクトごとに別の設定を適応可能
- そのリポジトリで作業してる時に勝手に適応される
- 多くのエディタが標準、もしくはプラグインで対応している
こんなファイルを、各レポジトリのルートに置きます。
それによって、書く人によらず統一されたスタイルのプログラムが誕生します。
root = true
[*]
charset = utf-8
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
[*.py]
indent_style = space
indent_size = 4
[*.md]
indent_style = space
indent_size = 2
上記は、 *
ですべてのファイルに共通する設定が書かれ、その下に拡張子別の設定が記述されています。
多くのテキストエディタ、IDE が editorconfig に対応しています。
- Vim
- Emacs
- Atom
- Sublime Text
- Visual Studio Code
- Visual Studio
- Xcode
- Eclipse
- IntelliJ IDEA
- PyCharm
その他、多数のテキストエディタが対応しています。
http://editorconfig.org/
個人のエディタの設定とは別に、レポジトリごとの設定という概念が生まれることです。
例えば、他の人の作っているレポジトリであっても、
editorconfig さえ置いてあれば、何も考えずに規則に沿ったコーディングできます。
プログラマーが必要以上に気にする、基本的な項目が設定できます。
- インデント幅
- 2 なのか 4 なのか、その他なのか
- インデント文字
- スペースなのかタブなのか
- 改行コード
- 文字コード
- スペースのみの行を許すか
- 最終行に改行を入れるか
詳しくは、公式のドキュメントを御覧ください
https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties
それはあなたの妄想です。
editorconfig を使っているプロジェクトの一覧があるので、御覧ください。
https://github.com/editorconfig/editorconfig/wiki/Projects-Using-EditorConfig
有名どころだと、プログラミング言語の Ruby や、JavaScript のライブラリである jQuery、
macOS のパッケージマネージャーである Homebrew などが使っています。
もしかしてあなた、怠惰ですか???
プラグインを作るのは、あなたです!
戦争のない楽しい開発を楽しみましょう!