はじめに
こんにちは、Flab勤務の宋です。
皆さんは開発する時にどんなエディターやIDEを使用していますか。
今まで自分はVS codeでプログラムを書いていました。 最近Scalaを勉強する機会があり、IntelliJ IDEAを使い始めた次第です。 というわけで今回はIntelliJ IDEAのお話です。 とは言っても個人的に便利と思った機能を軽く紹介する程度で、どちらかというとIntelliJ IDEAを使ったことがない方向けの記事になります。
👇普段から使っているVS code code.visualstudio.com
IntelliJ IDEAとは
IntelliJ IDEAはJetBrains社が開発したIDEです。無償で利用できるCommunity Editionと有償のUltimate Editionがあります。 JetBrains社といえばAndroidの公式言語として追加されたKotlinの開発元でもあります。
Community Editionは無償で利用できますが、対応言語に制限があり、またWeb系やDB系の機能が使用できません。 以下では主にCommunity Editionでも使える機能を紹介します。
👇IntelliJ IDEA www.jetbrains.com
便利な機能
選択範囲の拡大&縮小
最初に紹介するのは選択範囲の拡大&縮小機能です。 この機能を使えば範囲選択をする時に、マウスでドラッグしたり、Shiftを押しながらカーソルを移動させたりすることなく簡単に選択することができます。
最初にカーソルがe
とs
の間にある状態から始まり、1回拡大すると test
が選択されます。
拡大を連続して行うと test
→ "test"
→ ("test")
と選択され、最終的には println("test")
が選択されます。
縮小はこの逆の動きをします。
- 選択範囲の拡大
- Windows:
Ctrl + W
- Mac:
Option + ↑
- Windows:
- 選択範囲の縮小
- Windows:
Ctrl + Shift + W
- Mac:
Option + ↓
- Windows:
※最近のアップデートでVS codeにもこの機能が追加されたみたいです。 code.visualstudio.com
後置補完
後置補完を使うことで括弧の中に戻って入力することなく、式から文を構成することができます。 下の例では2回後置補完を使っています。
1回目は.var
です。
これは入力を変数に代入する後置補完です。
デフォルトでは変数はval
として宣言されます、var
にしたい場合はAlt+V
で切り替えることができます。(Scalaではval
は再代入不可、var
は再代入可能)
2回目は.if
です。
これは入力をif式の条件式にする後置補完です。
最後にコードフォーマット機能でコードを整えています。x<11
が自動整形されてx < 11
になっています。
- コードフォーマット
- Windows:
Ctrl + Alt + L
- Mac:
Option + Command + L
- Windows:
ちなみにScalaで利用できる後置補完は以下のようになっています。
インテンション・アクション
インテンション・アクションはIntelliJ IDEAがコードを解析し、様々な方法で最適化をサポートしてくれる機能です。 インテンション・アクションが使える箇所には💡 が現れます。
下の例では2種類のインテンション・アクションを使っています。
1つ目はコードで使用されていない変数を削除するアクションです。これはx
に対して使用しています。
2つ目は型補完のアクションです。これはstr
と seq
に対して使用しています。(Scalaは静的言語で型を持ちますが、型推論があり、明示的に型を示さなくてコンパイルエラーにはなりません。)
str
には文字列IntelliJ
が入っているので、型推論によりString
型が補完されます。seq
はSeq
型のネストになっていますが、これも問題なく補完してくれます。
今回はScalaの変数宣言で使用していますが、ほかの様々な箇所で様々なインテンション・アクションを使用することができます。 是非いろいろ試してみてください。
- インテンション・アクション
- Windows:
Alt + Enter
- Mac:
Option + Enter
- Windows:
定義へジャンプ& 使用箇所の検索
定義へジャンプはその名の通り、変数、関数、クラスなどの定義へジャンプします。
今回の例ではMain
オブジェクトはApp
トレイトをミックスインしています。App
にカーソルを当ててCtrl + B
を押すとApp
トレイトが定義されているApp.scala
の該当部分へジャンプします。
逆に定義部分でAlt + F7
を押すと使用箇所の検索結果が画面下に現れます。ここで選択してEnter
を押すとその利用箇所へジャンプします。
- 定義へジャンプ
- Windows:
Ctrl + B
- Mac:
Command + B
- Windows:
- 使用箇所の検索
- Windows:
Alt + F7
- Mac:
Option + F7
- Windows:
おわりに
IntelliJ IDEAには今回紹介した機能以外にも様々な機能があります。 デバッグやVCSとの連携、さらにUltimate EditionではWeb開発やDBとの連携をサポートしてくれる機能もあります。
というわけでIntelliJ IDEAの便利機能について軽く紹介してみました。如何だったでしょうか。 もうすでにバリバリIntelliJ IDEAを使っている方にとってはすでに知っている機能ばかりで物足りなかったと思います。 逆にまだIntelliJ IDEAを使ったことがない方がこの記事を読んで頂き、IntelliJ IDEAを使ってみようかなと思ってもらえれば幸いです。