Help us understand the problem. What is going on with this article?

チーム開発のためのIntelliJ設定

More than 3 years have passed since last update.

はじめに

チームではメンバー全員がIntelliJを使っていますが、チーム開発のためのエディタ設定
という視点から試行錯誤して決めてきたことをまとめてみようと思います

この記事について

  • 私は別にIntelliJに特別詳しいわけでもなんでもありません
    • いくつかまとめようと思っていた事に加え、一通りPreferencesをざっと眺めてみて内容をピックアップしました
  • Command + Shift + Aで何でも検索が出来るので、設定項目名で検索すると楽に設定箇所にたどり着けるかも知れません
  • 今の仕事がJavaなので、発想はJavaベースです

環境

  • IntelliJ ULTIMATE 14.0.1
  • Mac 10.9.5

行番号を表示する

  • 大きいディスプレイに映してみんなで読んだりレビューしたりするときに必要

設定

  1. Preferences -> Editor -> Appearance -> □ Show line numbersをチェックする

補足

  • どうしてデフォルトがオフなんだろう
  • なんかVimプラグインの:set nuと相性が悪い気がするので、素直にIDE側で設定すると良さそう

フォント

  • テストデータを書いたりするときに割とよく日本語を使うんだけど、全角の幅が半角2つ分になっていないので縦がでこぼこする

Rictyのインストール

  • もともとあるフォントに気に入るのがなかったのでインストールした
    • 当然Rictyをインストールしないでも良い
# Yosemiteの場合のみ
brew install automake   

# Yosemiteの場合のみ
brew install pkg-config

brew tap sanemat/font
brew install Caskroom/cask/xquartz
brew install ricty

# 実際のバージョンに合わせる(正しいコマンドがコンソールに出力されている)
cp -f /usr/local/Cellar/ricty/x.x.x/share/fonts/Ricty*.ttf ~/Library/Fonts/
fc-cache -vf

設定

  1. Preferences -> Editor -> Colors & Fonts -> Font
  2. Scheme name:Defaultになっていると編集できないので、Save Asで新たな設定を作成する
  3. Primary font:からRictyを選択する

補足

  • Before
  • After
  • Rictyを設定するところ

新規ファイル作成時のCreated byをなくす

  • 別に要らないと思う
    • 必要でもGitでわかるし

設定

  1. Preferences -> Editor -> File and Code Templates -> Includes
  2. File Headerを選択し、内容を削除する

補足

  • IncludesではなくTemplatesの方をのClassとかを見ると#parse("File Header.java")となっている
    • 会社やチームで決めているテキストを用意して差し替えたりも出来るだろう

タイポ判定用の辞書の追加

  • 会社の名前とか開発しているシステム自身の名前、独自ツールの名前とかがタイポ判定されることが良くある
    • そういう単語を無視し続けていると、本当のタイポを見逃すので個人的には極力正しく設定したい

設定(適宜追加する場合)

  1. タイポ警告が出ている単語の上でoption + Enter
  2. Typo Save 'xxx' to dictionary

設定(ファイルインポート)

  1. path/to/dic-dir/xxx.dicというファイルを作成する
  2. 改行区切りで単語を列挙する
  3. Preferences -> Editor -> SpellingDictionariesタブを選択
  4. Custom Dictionaries Folderpath/to/dic-dirを追加する

補足

  • .dicファイルへの理解は全くないので、指摘等していただけると喜びます
  • .dicファイルをエクスポートする方法がわからなかった
    • できるのかな
  • .dicファイルもバージョン管理に含めると良いと思う
    • 予め予想できる物は全員で共有するにこしたことはないと思う
  • タイポチェック無視は個人的には乱暴すぎる
  • Intelliってタイポ判定出てるよねw

保存時にフォーマッタを実行する

  • フォーマッタを実行しないと後で無駄にDiffが出てしまうので、決して舐めてはいけない

設定

  1. ToolBar -> Edit -> Macros -> Start Macro Recording
  2. ToolBar -> Code -> Reformat Code...
  3. 好きに選択する
    • □ Optiomize importsはチェックすると良い
  4. Run
  5. ToolBar -> File -> Save all
  6. ToolBar -> Edit -> Macros -> Stop Macro Recording
    • マクロに名前を付けて保存する
  7. Preferences -> Appearance & Befavior -> KeymapMacrosから先ほど保存したマクロを右クリック
  8. Add Keyboard Shorcut
  9. Command + Sを入力してOK
    • 警告は無視

補足

  • こちらの記事のまんまです、すいません
  • Commit前に必ず動く様にしてみたいけど、どうやれば良いかな

フォーマット規約を変更する

  • 俺はoo派、あいつはxx派みたいになっていると千日手のごとくDiffり続けるので設定も決して舐めてはいけない

設定

  1. Preferences -> Editor -> Code Style -> 言語名
  2. 好きに設定する
    • タブやスペース、見た目幅等
    • 空行をどこに何行入れるか
    • ifやforにどんな感じにスペースを入れるか
    • 長い場合どこで改行するか
    • and so on...

補足

  • Before
  • After
  • Javaの慣例等は全然わからないです

フォーマットを部分的に無視する

  • やはりテストデータ等で日本語を使う場面は多い
    • が、IntelliJは全角文字を1文字として数えるので、フォーマッタの縦そろえが逆にぐちゃぐちゃになる

設定

  1. Preferences -> Editor -> Code Style -> □ Enable formatter markers in commentsをチェックする
  2. フォーマッタに無視させたい行(複数可)の前後にコメントで@formatter:off@formatter:onを書く

補足

  • @formatter:offというマーク自体の変更も可能

スニペット登録(Live Templates)

  • 必須設定ではないけど便利なので

設定

  1. Preferences -> Editor -> Live Templates
  2. 右の方のボタンから1. Live Templateを選択
  3. Abbreviation:pdump, Template text:echo '<pre>'; var_dump($と入力
    • 他の項目は任意
  4. 下の方のDefineからPHPを選択
  5. OK
  6. PHPファイル上でpdump

補足

  • 上記はとりあえずブラウザに情報を出したいときにとてもよく使っていた
    • ブラウザでvar_dumpを見るとずら〜っと1行になってしまうため<pre>が必要
  • 入力中
  • 展開

設定をエクスポートする

毎回全員がこれらを手で設定するのはナンセンス

設定

  1. ToolBar -> File -> Export settings...

補足

  • 全部の詳細は確認していないが、この記事で設定したことの大体はエクスポートできそう
  • エクスポートした.jar.dicと合わせてバージョン管理してしまえば良いのかな?

やりたいけど出来ていないこと

  • 全角文字を半角2つ分と数えてフォーマットする

おわりに

(; ・`д・´) はふー 意外と長くなってしまった どうでしたか?
快適に日中を過ごすためにも、道具にはこだわりたいですね

こんなこと気にしてるよ/やってるよ、というのがあれば教えていただけると設定でも運用でも嬉しいです

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした