EditorConfigとは
エンジニアの心の健康を保つのに有効なもの。
ざっくり言うと、コードのスタイルを統一するためのエディタ横断プラグイン
.editorconfigというファイルを置けば、記載されたconfigに基づいて文字コードや改行コード、インデントサイズやインデントスタイルを自動で直してくれる優しいやつ。
EditorConfigを利用することで、
- プロジェクト移動するときエディタの設定いじるのめんどい問題
- そもそも細かいコード規約までexcelやスプレッドシートで管理するのつらい問題
- インデントスタイルはtabなのかspaceなのか問題
- インデントサイズは2つなのか4つなのか問題
- ファイルごとに改行コードが違う問題
- コードレビュー時に超どうでもいいこと(行末に無駄なspaceあるよなど)を指摘する時間が勿体無い問題
以上の悲しみに溢れる不毛な争いを根絶できる。
参考リンク(というかこっち見ればこの記事見ないでも良い気もする)
sublime,vimにおけるインストール方法
たまたま身の回りにsublime派とvim派しかいないのでそれぞれのインストール方法を書いておく。
先ほど挙げたqiitaの記事を見れば大体わかると思うが一応補足として。
sublimetext3
- package controllで普通にinstallすればOK
- パッケージコントロールって何って人はSublime Text 3 の参考書(実践編)Wikiを参照
- Install Package -> Editor Config
vim
- NeoBundleを利用
- わからない場合はvim NeoBundleによるプラグイン管理にまとまっているので参照
- .vimrcのbundle管理箇所に以下を追記
- NeoBundleを利用
NeoBundle 'editorconfig/editorconfig-vim'
- 追記後Vim立ち上げて:NeoBundleInstall
補足:vim使ってるけどneobundleとか全然よくわかんない人用
もう全然わかんないしvimrcなんて書き換えたことないvimmer向け手順
- neobundleのインストール(mac向け。windowsはごめんなさい)
$ mkdir -p ~/.vim/bundle
$ cd ~/.vim/bundle
$ git clone git://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim
- .vimrcの記述
$ vim ~/.vimrc
以下の内容をペースト(余計なものも入ってるけど気にしないで)
:set clipboard=unnamed
:syntax on
set nocompatible
filetype off " for NeoBundle
if has('vim_starting')
set rtp+=$HOME/.vim/bundle/neobundle.vim/
endif
call neobundle#begin(expand('~/.vim/bundle'))
NeoBundleFetch 'Shougo/neobundle.vim'
NeoBundle 'editorconfig/editorconfig-vim'
call neobundle#end()
filetype plugin indent on " restore filetype
- bundleのインストール
$ vim
:NeoBundleInstall
.editorconfigファイルの一例
- このファイルをプロジェクトのリポジトリに置いておけばpullした人のエディタに自動的に適用される
- 今回はphpしか扱わないプロジェクトに利用したので、php用しか書いてない。
- 拡張子ごとに設定を記述できるので、jsの場合はindent_size2とかも追記できる。
# This file is for unifying the coding style for different editors and IDEs
# editorconfig.org
# PHP PSR-2 Coding Standards
# http://www.php-fig.org/psr/psr-2/
root = true
[*.php]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 4
これで世界の平和は保たれた。
やったね!!!!!!!!!!!