LoginSignup
0
0

More than 3 years have passed since last update.

The Hitchhiker's Guide to GoLand

Last updated at Posted at 2020-01-29

はじめに

GoLand には「The Hitchhiker's Guide to GoLand」というチュートリアルがあります。
GoLand を使っている割には把握している機能はほんの一部な気がするので、このチュートリアルを通して「知らなかった GoLand 機能の学習」や「知っていた機能の補強」を得ます。


環境

  • macOS Catalina 10.15.2
  • GoLand 2019.3.1

TL;DR

  1. ショートカットを通して GoLand の便利機能の一端を知るチュートリアル
  2. チュートリアルメニューと導入はこんな感じ
  3. 個人的に有益だったチュートリアルの紹介

The Hitchhiker's Guide to GoLand お品書き

チュートリアルは全部で 16 項目あります。

  1. Actions
  2. Select
  3. Comment Line
  4. Basic Completion
  5. Smart Type Completion
  6. Method-Like Function Completion
  7. Postfix Completion
  8. Completion with Tab
  9. Rename
  10. Extract Variable
  11. Inline
  12. Extract Function/Method
  13. Code Formatting
  14. go fmt
  15. Implement Missing Methods
  16. Format String Argument

チュートリアルのはじめ方と冒頭紹介

GoLand 起動スプラッシュ後に表示される Welcome ウィンドウの The Hitchhiker's Guide to GoLand をクリックすると、
ホームディレクトリ配下にお勉強用の GoLand プロジェクトが自動的に作られます。( ~/GolandProjects/LearnProject )
ss-welcome-to-goland.png
左ペインに学習内容の目次リンク、右ペインのエディタビューには自動生成されたソースが表示されます。
ss-the-hitchhikers-guide-to-goland-top.png
左上ペインの英語を見てみると、「最も便利なショートカットの1つはアクションの検索」「⌘⇧A を試してみて」とあります。やってみます。
ss-the-hitchhikers-guide-to-goland-find-action.png
なにやら検索バーのようなものが表示されるとともに、左上ペインの文章がグレーアウトされ、チェックマークが付きました。
また、元の文章の下に新たに「about と打ってみろ」と出てきました。
なるほど、こうやって step-by-step で GoLand を学習していく感じなんですね。
ちなみに左ペインの All Topics リンクをクリックすると、進捗がわかるようになっています。
ss-the-hitchhikers-guide-to-goland-all-topics.png


チュートリアルを通して得た知見

ショートカットキー

command + shift + return ( Complete Current Statement )

4. Basic Completion で登場。
カーソルが行のどの位置にあっても、インデントを維持しつつ次の行にカーソルが移動するショートカットです。
カーソルを行末まで移動させなくてもいいので効率が上がります。

control + shift + space ( Smart Type )

5. Smart Type Completion で登場。
通常の候補リスト (control + space) にフィルタリングした候補を表示するショートカットです。
どちらも具体的なリスト条件が不明なので画像を載せます。

  • control + space の場合
    ss-the-hitchhikers-guide-to-goland-smart-type-completion-nomarl.png

  • control + shift + space の場合
    ss-the-hitchhikers-guide-to-goland-smart-type-completion-smart.png
    Smart Type でノイズが減るので効率が上がります。

control + space ( x 2 stroke )

6. Method-Like Function Completion で登場。
ドットの直前の要素を引数に取る関数候補を表示します。
control キーを押しっぱなしの space キー 2 連打で発動。
( ドットの直前が変数の場合も似たようなことができます。その場合は control + space で発動 )
「こういうのもあるのか」程度に。
ss-the-hitchhikers-guide-to-goland-method-like-function-completion.gif

command + option + n

11. Inline で登場。
冗長な変数を削除します。
リテラル部分をコピペして元のコードを削除する、といった操作をワンアクションでできます。
「変数で受けたけどベタで書き直す」というリファクタ作業に便利です。
ss-the-hitchhikers-to-guide-inline.gif
これと逆の機能は 10. Extract Variable で、command + option + v があります。

command + option + m

12. Extract Function/Method で登場。
選択行、カーソル位置など文脈を読んでその部分を関数化します。
これもカット&ペースト等が省略できて効率的です。
カーソルが行末にあると、その行を関数化。
カーソルが関数名上にあると、その関数を返す関数にするか、その行を関数化するかの選択ができます。
複数行選択している場合は、それが関数化されます。
「1メソッドが多機能化してきたから関数に切り出すリファクタ」の際に便利です。
ss-the-hitchhikers-to-guide-extract-function.gif


ショートカットキー以外

候補リストから選択したもので上書き

8. Completion with Tab で登場。
タブキーで上書きとなります。カーソルが単語上のどこにあってもうまいこと上書きしてくれます。
例えば PrintfPrintln に変更する際、Enter キーを押してしまって PrintfPrintln みたいになってしまうことが多々あったので方法がわかってよかったです。
( 動画も 1 回目は手癖でミスったパターンです、、 )
ss-the-hitchhikers-guide-to-goland-completion-with-tab.gif

文字列フォーマット

16. Format String Argument で登場。
デバッグの際に Printf に当て込む変数指定が楽になります。
option + return でコンテキストメニューを表示し、Add format string argument を選択します。
ss-the-hitchhikers-to-guide-format-string-argument.gif

次は GoLand 2019.2 の新機能チュートリアル ( The Hitchhiker's Guide to GoLand 2019.2 ) です。

以上です。

0
0
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
0
0