LayerX エンジニアブログ

LayerX の エンジニアブログです。

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

こんにちは、DX事業部の木戸です。

約10年前にWindows + Java + Eclipseという環境からMac + PHPという環境に変わった際に、今はどうかわかりませんがMac + EclipseがWindowsと使用感があまりにも異なっていて、開発効率が悪化したときに出会ったのがJetBrains製のPhpStormでした。Windows + Eclipseの仕様感とほぼ変わらず、うおおおってなって以来、JetBrains製品をずっと利用しています。

LayerX インボイス、ワークフロー機能ではバックエンドにGoを採用しており、今回は同社製のGolandで良く使っているショートカットについてご紹介したいと思います。よく使ってるのを上の方にしてます。
※使用しているPCがMacのため、Macのみのご紹介です。

  • コード補完
  • 変数宣言箇所、メソッド実装箇所へジャンプ
  • さっきの場所に戻る、戻った後進む
  • 呼び出し元へジャンプ
  • 呼び出し元検索
  • interfaceの実装箇所へジャンプ
  • 選択行の複製
  • 選択行の移動
  • 選択行を削除
  • 選択行をコメントアウト
  • ファイル名検索
  • 全ファイルからテキスト検索
  • 全ファイルからテキスト検索&置換
  • なんでも検索
  • リネーム
  • マルチカーソル
  • タブを閉じる
  • 警告を修正
  • コードのフォーマット
  • メソッド引数を改行
  • 選択行をメソッドに切り出す

コード補完

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

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

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

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

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

呼び出し元へジャンプ

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

呼び出し元検索

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

interfaceの実装箇所へジャンプ

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

選択行の複製

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

選択行の移動

インデントを無視した行移動:Shift + Option + ↑ or ↓
インデントを考慮した行移動:Shift + Command + ↑ or ↓
f:id:lx_anago:20210518134307g:plain

選択行を削除

Command + Delete
f:id:lx_anago:20210518134630g:plain

選択行をコメントアウト

Command + /
f:id:lx_anago:20210518134815g:plain

ファイル名検索

Command + Shift + O
f:id:lx_anago:20210518141109g:plain

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

Command + Shift + F
f:id:lx_anago:20210518142044g:plain

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

Command + Shift + R

f:id:lx_anago:20210518142420g:plain

なんでも検索

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

リネーム

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

マルチカーソル

Alt + マウスでクリック
何かしら一気に変更かけたいときにはこれ
f:id:lx_anago:20210518143736g:plain

タブを閉じる

Command + W
f:id:lx_anago:20210518144105g:plain

警告を修正

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

コードのフォーマット

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

メソッド引数を改行

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

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

Command + Option + M
f:id:lx_anago:20210518150027g:plain

最後に

JetBrains製品をお使いの方にはご存知の内容ばかりだったかもしれませんが、使い始めの方だったり、使っている方でもこんなショートカットあったんだーってお役に立てれば幸いです。今回はショートカットのみの内容でしたが次回以降で便利な設定や使い方などもご紹介できればと思います。

絶賛エンジニア採用中ですので、少しでも興味のある方は一度お話をさせていただければと思います! herp.careers