💻

Golandでよく使うショートカット

こんにちは、DX事業部の木戸です。
約10年前にWindows + Java + Eclipseという環境からMac + PHPという環境に変わった際に、今はどうかわかりませんがMac + EclipseがWindowsと使用感があまりにも異なっていて、開発効率が悪化したときに出会ったのがJetBrains製のPhpStormでした。Windows + Eclipseの仕様感とほぼ変わらず、うおおおってなって以来、JetBrains製品をずっと利用しています。
LayerX インボイス、ワークフロー機能ではバックエンドにGoを採用しており、今回は同社製のGolandで良く使っているショートカットについてご紹介したいと思います。よく使ってるのを上の方にしてます。※使用しているPCがMacのため、Macのみのご紹介です。
  • コード補完
  • 変数宣言箇所、メソッド実装箇所へジャンプ
  • さっきの場所に戻る、戻った後進む
  • 呼び出し元へジャンプ
  • 呼び出し元検索
  • interfaceの実装箇所へジャンプ
  • 選択行の複製
  • 選択行の移動
  • 選択行を削除
  • 選択行をコメントアウト
  • ファイル名検索
  • 全ファイルからテキスト検索
  • 全ファイルからテキスト検索&置換
  • なんでも検索
  • リネーム
  • マルチカーソル
  • タブを閉じる
  • 警告を修正
  • コードのフォーマット
  • メソッド引数を改行
  • 選択行をメソッドに切り出す

コード補完

Ctrl + スペース
一番使うのはこれです。
の後ろで実行すると候補がずらっと出てきたり、日付フォーマットのYYYY -> 2006なんかも補完してくれます。

変数宣言箇所、メソッド実装箇所へジャンプ

Command + ↓
Command + B
Command + マウスでクリック
過去の自分のソース含めソース解析しているときに多用してます。後述ですが、ジャンプした後の戻るショートカットの相性の良さでキーボードの場合はCommand + ↓を使うことがほとんどです。マウス操作中はマウスでクリックですね。

さっきの場所に戻る、戻った後進む

戻る:Command + Option + ←
進む:Command + Option + →
Commnd + ↓でジャンプして、Commad + ←で戻って、あれ?戻るべきじゃなかったってCommand + →でジャンプ先に戻ってって感じで使ってます。便利。

呼び出し元へジャンプ

Command + B
Command + マウスでクリック
宣言箇所へのジャンプとCommand + ↓以外は同じです。これの良いところがメソッドの引数を増やしたり減らしたりしても呼び出し元へジャンプしてくれるところなんです。メソッドの引数変えたとかリファクタした時とかによく使います。

呼び出し元検索

Control + Option + H
呼び出し元へジャンプとほとんど同じです。呼び出し元をリストアップしたいときに使います。

interfaceの実装箇所へジャンプ

Command + Option + B
Command+ ↓ or Bでメソッド実装箇所へジャンプして、interfaceかってなったときに使います。

選択行の複製

Command + D
同じような実装をメソッド単位でするときとかにもよく使います。

選択行の移動

インデントを無視した行移動:Shift + Option + ↑ or ↓
インデントを考慮した行移動:Shift + Command + ↑ or ↓

選択行を削除

Command + Delete

選択行をコメントアウト

Command + /

ファイル名検索

Command + Shift + O

全ファイルからテキスト検索

Command + Shift + F

全ファイルからテキスト検索&置換

Command + Shift + R

なんでも検索

Shift * 2回
ショートカットキー忘れたとか、ショートカット割当たってないコマンドとかを実行する時とかに使います。

リネーム

Shift + F6
変数名、メソッド名とかのリネームも可能なのと、ファイル名のリネームもできます。

マルチカーソル

Alt + マウスでクリック
何かしら一気に変更かけたいときにはこれ

タブを閉じる

Command + W

警告を修正

Option + Enter
何かしら警告が出てるときにマウスオーバーで警告理由出てくるんですが、修正候補を出すときに利用します。使用頻度はそこまで高くないです。

コードのフォーマット

Command + Option + L
Golandだとgoファイルは自動フォーマットの設定があるのであまり使いませんが、sqlファイルなどでよく使います。

メソッド引数を改行

Option + Enter
警告を修正するときと同じショートカットです。引数が多くなった時とかに便利

選択行をメソッドに切り出す

Command + Option + M

最後に

JetBrains製品をお使いの方にはご存知の内容ばかりだったかもしれませんが、使い始めの方だったり、使っている方でもこんなショートカットあったんだーってお役に立てれば幸いです。今回はショートカットのみの内容でしたが次回以降で便利な設定や使い方などもご紹介できればと思います。絶賛エンジニア採用中ですので、少しでも興味のある方は一度お話をさせていただければと思います!