はじめに
GoLand には「The Hitchhiker's Guide to GoLand」というチュートリアルがあります。
GoLand を使っている割には把握している機能はほんの一部な気がするので、このチュートリアルを通して「知らなかった GoLand 機能の学習」や「知っていた機能の補強」を得ます。
環境
- macOS Catalina 10.15.2
- GoLand 2019.3.1
TL;DR
- ショートカットを通して GoLand の便利機能の一端を知るチュートリアル
- チュートリアルメニューと導入はこんな感じ
- 個人的に有益だったチュートリアルの紹介
The Hitchhiker's Guide to GoLand お品書き
チュートリアルは全部で 16 項目あります。
- Actions
- Select
- Comment Line
- Basic Completion
- Smart Type Completion
- Method-Like Function Completion
- Postfix Completion
- Completion with Tab
- Rename
- Extract Variable
- Inline
- Extract Function/Method
- Code Formatting
- go fmt
- Implement Missing Methods
- Format String Argument
チュートリアルのはじめ方と冒頭紹介
GoLand 起動スプラッシュ後に表示される Welcome ウィンドウの The Hitchhiker's Guide to GoLand
をクリックすると、
ホームディレクトリ配下にお勉強用の GoLand プロジェクトが自動的に作られます。( ~/GolandProjects/LearnProject )
左ペインに学習内容の目次リンク、右ペインのエディタビューには自動生成されたソースが表示されます。
左上ペインの英語を見てみると、「最も便利なショートカットの1つはアクションの検索」「⌘⇧A
を試してみて」とあります。やってみます。
なにやら検索バーのようなものが表示されるとともに、左上ペインの文章がグレーアウトされ、チェックマークが付きました。
また、元の文章の下に新たに「about
と打ってみろ」と出てきました。
なるほど、こうやって step-by-step で GoLand を学習していく感じなんですね。
ちなみに左ペインの All Topics
リンクをクリックすると、進捗がわかるようになっています。
チュートリアルを通して得た知見
ショートカットキー
command + shift + return ( Complete Current Statement )
4. Basic Completion
で登場。
カーソルが行のどの位置にあっても、インデントを維持しつつ次の行にカーソルが移動するショートカットです。
カーソルを行末まで移動させなくてもいいので効率が上がります。
control + shift + space ( Smart Type )
5. Smart Type Completion
で登場。
通常の候補リスト (control + space) にフィルタリングした候補を表示するショートカットです。
どちらも具体的なリスト条件が不明なので画像を載せます。
- control + space の場合
- control + shift + space の場合
control + space ( x 2 stroke )
6. Method-Like Function Completion
で登場。
ドットの直前の要素を引数に取る関数候補を表示します。
control キーを押しっぱなしの space キー 2 連打で発動。
( ドットの直前が変数の場合も似たようなことができます。その場合は control + space で発動 )
「こういうのもあるのか」程度に。
command + option + n
11. Inline
で登場。
冗長な変数を削除します。
リテラル部分をコピペして元のコードを削除する、といった操作をワンアクションでできます。
「変数で受けたけどベタで書き直す」というリファクタ作業に便利です。
これと逆の機能は 10. Extract Variable
で、command + option + v
があります。
command + option + m
12. Extract Function/Method
で登場。
選択行、カーソル位置など文脈を読んでその部分を関数化します。
これもカット&ペースト等が省略できて効率的です。
カーソルが行末にあると、その行を関数化。
カーソルが関数名上にあると、その関数を返す関数にするか、その行を関数化するかの選択ができます。
複数行選択している場合は、それが関数化されます。
「1メソッドが多機能化してきたから関数に切り出すリファクタ」の際に便利です。
ショートカットキー以外
候補リストから選択したもので上書き
8. Completion with Tab
で登場。
タブキーで上書きとなります。カーソルが単語上のどこにあってもうまいこと上書きしてくれます。
例えば Printf
を Println
に変更する際、Enter キーを押してしまって PrintfPrintln
みたいになってしまうことが多々あったので方法がわかってよかったです。
( 動画も 1 回目は手癖でミスったパターンです、、 )
文字列フォーマット
16. Format String Argument
で登場。
デバッグの際に Printf
に当て込む変数指定が楽になります。
option + return
でコンテキストメニューを表示し、Add format string argument
を選択します。
次は GoLand 2019.2
の新機能チュートリアル ( The Hitchhiker's Guide to GoLand 2019.2 ) です。
以上です。