14
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OPENLOGIAdvent Calendar 2021

Day 18

IntelliJ IDEAを何にどのように使っているか書いてみる

Last updated at Posted at 2021-12-17

はじめに

私は、2021年11月にオープンロジに入社し、IntelliJ IDEAに出会いました(前職では、Eclipseを使ってJavaを書いていました)。そして、以下の弊社社員の記事を読んだりしながら、自分なりに使い方を模索したりカスタマイズしたりしました(PhpStromはIntelliJ IDEAと同じくJetBrains社製のIDEです)。

EclipseはIDEとしてかなり便利な印象だったので、ちょっと不安もあったのですが、普通にIntelliJ IDEA最高でした。今は、「めっちゃ快適だ〜」と幸せな気分に浸りながら日々を過ごしています。この快適さをシェアすべく、私がIntelliJ IDEAを何にどのように使っているか簡単にまとめてみようと思います。

前提

  • OS
    • macOS
  • キーボード
  • キーマッピング
    • left ctrl -> command(⌘)
    • windows -> option(⌥)
    • alt -> ctrl(⌃)
    • right ctrl -> ctrl(⌃)
    • shift -> shift(⇧)

何に使っているのか

私は以下の作業を行う際にIntelliJ IDEAを使っています。

  1. コーディング
  2. コードリーディング
  3. テスト・デバッグ
  4. ターミナルでの作業
  5. Git操作
  6. コードレビュー
  7. データベース操作

インストールした時はこんなに色々なことに使うとは思っていませんでした。

どのように使っているのか

上述した作業別に、それぞれ使っている機能を羅列してみます。「機能」の名称は、Keymapの設定に書かれている名称に合わせてありますので、Keymapの設定で検索するとヒットします(いくつかヒットする場合がありますが、その場合はノリで判断してください)。

Keymapは Eclipse (macOS) をベースにしています。windowsの方は cmd -> ctrl , ctrl -> alt , option -> windows に置き換えて読めば大体合ってます(一部例外はあります)。

0. IntelliJ IDEA自体の設定や操作

大体下記の Find Action... から適当に入力して飛ぶことが多いです。ショートカットキーなら「keymap」、プラグインなら「plugins」と入力して飛んでます。設定が見つからない時は Preferences... にアクセスして検索したりポチポチ探したりしています。あとはまあ...ググります。

機能 意味 ショートカットキー 理由 プラグイン
Find Action... コマンドパレット的なやつ cmd + shift + P Atom / VSCodeに合わせた -
Preferences... 設定を開く cmd + , Eclipse (macOS)のデフォルト -

1. コーディング

私ががやりたいことはちゃんと全部できる印象です。個人的にはマルチカーソルが使えるのが嬉しかったです。Eclipseでは使えなかったので、そのためにVSCodeを併用したりしていました。

ちなみに、下表にはうまく表現できず書きませんでしたが、 ctrl + F などで開く検索バーにキーワードを入力した状態で option (alt) + enter を押すとキーワードの全出現箇所にマルチカーソルを置けてめちゃくちゃ便利です。初めて知った時は感動しました。お試しあれ。

機能 説明 ショートカットキー 理由 プラグイン
Delete Line 選択行を削除 cmd + shift + K Atomに合わせた -
Duplicate Entire Lines 選択行を真下に複製 cmd + shift + D Atomに合わせた -
Move Statement Up 選択行を上に移動 option + ↑ Eclipse (macOS)のデフォルト -
Move Statement Down 選択行を下に移動 option + ↓ Eclipse (macOS)のデフォルト -
Clone Caret Above マルチカーソルを上に追加 cmd + option + ↑ 選択行の移動と併せて覚えやすい -
Clone Caret Below マルチカーソルを下に追加 cmd + option + ↓ 選択行の移動と併せて覚えやすい -
Add Selection for Next Occurrence 単語の選択(マルチカーソル追加) cmd + D Atomに合わせた -
Replace... 置換 cmd + F 置換で検索もできちゃうので置き換えた -
Paste from History... クリップボード履歴から貼り付け cmd + shift + v Eclipse (macOS)のデフォルト -
Comment with Line Comment コメントアウト / アンコメント cmd + / Eclipse (macOS)のデフォルト -
Basic コード補完 option + space cmd + spaceはSpotlight検索と被った -
Generate... コンストラクタやメソッドの作成 cmd + 1 Eclipseに合わせた -
Refactor This... リファクタリング ctrl + shift + R Eclipseに合わせた -
PHPDoc Blocks… PHPDocを生成 ctrl + shift + J Eclipseに合わせた PHP

2. コードリーディング

こちらも基本的にやりたいことは全部できています。どこでも検索 で事足りてしまうので、クラス検索やファイル検索を使わなくなりました。

個人的なおすすめは、 ctrl + page up / page down によるタブ切り替えです。私と同じようなキーボード配列の方なら片手でできて押しやすいと思います。

Open on GitHubFind Pull Request は便利すぎて感動しました。slackでのコミュニケーションや内部仕様のドキュメンテーションで便利です。修正の経緯も追えるので助かってます。 Path From Repository Root もそういったコミュニケーションやドキュメンテーションでよく使いますね!

機能 説明 ショートカットキー 理由 プラグイン
どこでも検索 ファイルやクラス、アクション等を検索 shiftを2回押す Eclipse (macOS)のデフォルト -
Find in Files... 全ファイル内検索(grep的なやつ) cmd + shift + F Atom / VSCodeに合わせた -
Select Next Tab 次のタブへ移動 ctrl + page down Chromeに合わせた -
Select Previous Tab 前のタブへ移動 ctrl + page up Chromeに合わせた -
Close タブを閉じる cmd + W Eclipse (macOS)のデフォルト -
Close All Tabs 全てのタブを閉じる cmd + shift + W Eclipse (macOS)のデフォルト -
Go to Declaration or Usages 利用箇所の場合は宣言に飛ぶ
宣言の場合は利用箇所一覧を表示する
F3 Eclipse (macOS)のデフォルト -
Go to implementation(s) (interfaceとかの)実装に飛ぶ cmd + T Eclipseに合わせた -
Back (F3とかで飛んできた元に)戻る cmd + [ Eclipse (macOS)のデフォルト -
File Structure ファイル内の構成要素(メソッドやフィールド)を表示 cmd + O Eclipse (macOS)のデフォルト -
Path From Repository Root ファイルへの相対パスをコピー cmd + shift + C コピーと併せて覚えやすい -
Open on GitHub 選択行をGitHubで開く(ブラウザが起動する) cmd + F3 宣言に飛ぶと併せて覚えやすい -
Find Pull Request 選択行に修正を加えたPull Requestを開く(ブラウザが起動する) cmd + shift + F3 宣言に飛ぶと併せて覚えやすい Find Pull Request

3. テスト・デバッグ

Eclipseでやってたことをそのままやっている感じです。快適です。

機能 説明 ショートカットキー 理由 プラグイン
Go to Test 単体テストに飛ぶ(ない場合は作成) option + 9 cmd + 9にしたかったが、Gitウインドウを開くと被った -
Run context configuration メソッドやクラスを実行 F11 Eclipseに合わせた -
Debug context configuration メソッドやクラスをデバッグ cmd + F11 Eclipseに合わせた -
Toggle Line Breakpoint 選択行にブレークポイントを貼る cmd + shift + B Eclipse (macOS)のデフォルト -
Step Over ステップオーバー F6 Eclipse (macOS)のデフォルト -
Step Into ステップイン F5 Eclipse (macOS)のデフォルト -
Step Out ステップアウト F7 Eclipse (macOS)のデフォルト -
Resume Program 再開(次のブレークポイントまで飛ぶ) F8 Eclipse (macOS)のデフォルト -

4. ターミナルでの作業

F12でターミナルを閉じたり開いたりできるようにしています。ちょっとした作業がしたい時にサクッと開いて、邪魔になったらサクッと閉じられるので便利です。

機能 説明 ショートカットキー 理由 プラグイン
Terminal ターミナルを開く / 閉じる F12 開発者ツールを開くノリで開けるから -

5. Git操作

Git操作自体はほぼターミナルでやっちゃっています。ただ、IntelliJ IDEAのGitウィンドウはdiffを見る時にめちゃくちゃ重宝しています。ローカルでの修正が完了したら、 Show Diff で一通りの差分を確認してからpushするようにしています。

機能 説明 ショートカットキー 理由 プラグイン
Terminal ターミナルを開く / 閉じる F12 開発者ツールを開くノリで開けるから -
Git Gitウィンドウを開く / 閉じる cmd + 9 Eclipse (macOS)のデフォルト -
Show Diff ブランチやコミットのdiffを表示する cmd + D Eclipse (macOS)のデフォルト -

6. コードレビュー

まだレビューする側というよりされる側ではあるのですが、レビューへの返信をIntelliJ IDEA上からやったりしています。Github上よりコードが追いやすいですし、レビューする側になった時は、より便利に使うことになりそうだなあ...と思ってます。

機能 説明 ショートカットキー 理由 プラグイン
Pull Requests(サイドバー) Pull Requests(サイドバー) cmd + shift + 9 Gitウィンドウを開くと併せて覚えやすい -
Projects(サイドバー) Projects(サイドバー) cmd + shift + 0 主にPull Requestsをプロジェクト表示に戻す時に使うので隣のキーにした -

7. データベース操作

なんとデータベースも操作できちゃうんですよね。ちなみに、JetBrainsは DataGrip というデータベース管理の製品も出しています。

機能 説明 ショートカットキー 理由 プラグイン
Database Databaseウィンドウを開く / 閉じる cmd + F12 ターミナルと併せて覚えやすい -
Jump to Source Database Consoleを開く / 閉じる F3 Eclipse (macOS)のデフォルト -
Execute Current Statement in Multiline Console 選択行のSQLを実行 cmd + enter Eclipse (macOS)のデフォルト -

何に使っていないのか

1. ドキュメンテーションやちょっとしたメモ、文字列操作など

私はVisual Studio Codeを使っています。理由は、使いたい基本的なエディタとしての操作が使えて、cmd + N(ctrl + N)で新しいタブを開いてテキトーに書き始められるからです。一応IntelliJ IDEAにもスクラッチファイルなる機能はあって、ショートカットキーでサクッと一時的なファイルを作れるらしいのですが、ファイルの形式とか聞かれるしなんだか煩わしい...か?あれ、そうでもない?ちょっと煩わしいかなという理由だけで敬遠していましたが、これはもったいなかったかもしれないです。

IntelliJ IDEAはmarkdownのサポートはもちろんバッチリ。今まで書こうと思ったことがなかったので調べませんでしたが、おそらくプラグインも充実しているでしょう。ドキュメントをGitで管理している方なんかにはぴったりかもしれません。ドキュメントのプロジェクトをIntelliJ IDEAで読みめば検索よし、閲覧よし、編集よし、Git操作よしです。

ということで、私は今までドキュメンテーションやメモなどにIntelliJ IDEAを使ってきませんでしたが、十分使っていけそうです!

2. タスク管理

どうやらIntelliJ IDEAではタスク管理もできちゃうらしいです。RedmineやJiraなどと連携し、IntelliJ IDEA上でのタスク = プロジェクト管理ツールのチケットといった感じで管理できるようです。そして、それぞれのタスクにかかっている時間をトラッキングしたり、Gitのブランチや開いているタブ、ブレークポイントなどがタスクと紐づけられてタスクを開くと復元できたりするらしい...って、これすごくね??

個人的に、「レビューに出す→他のチケットに取り掛かる→レビューで指摘が入ったからそっちを先になおす→...」みたいなことをやる時にタブがごちゃつくのが気になっていたのですが、この機能で解消できるかもしれないですね。なんか、単なるタスク管理ではないですね。甘く見ていました。

ということで、この機能も今まで使ってこなかったがこれから使っていくことになるかもしれないです。IntelliJ IDEA、いや、JetBrainsおそるべし...。

最後に

この記事を書きながら新たな発見もありまして、もっともっと便利に使える!と実感しました。これからもどんどん使い込んでいこうと思います。この記事で触れられていないことで「これが最高すぎる!!」みたいなことがありましたら、コメントで教えていただけると嬉しいです!

14
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?