LoginSignup
0
0

More than 3 years have passed since last update.

The Hitchhiker's Guide to GoLand 2019.2

Posted at

はじめに

「The Hitchhiker's Guide to GoLand」の 2019.2 版新機能チュートリアルです。


環境

  • macOS Catalina 10.15.2
  • GoLand 2019.3.1

TL;DR

  1. ショートカットを通して GoLand 2019.2 新機能を知るチュートリアル
  2. チュートリアルメニュー
  3. 個人的に有益だったチュートリアルの紹介

The Hitchhiker's Guide to GoLand 2019.2 お品書き

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

  1. Extract Method refactoring with returns
  2. Fill struct fields
  3. Redundant type conversions
  4. Debug function calls
  5. Postfix templates

1. Extract Method refactoring with returns

メソッド切り出し機能。
( 前記事とほぼ同じなのでドキュメントリンクで割愛 )
https://www.jetbrains.com/help/go/extract-method.html#extract-a-method


2. Fill struct fields

構造体のフィールドを自動で埋めてくれる機能。
control + space で補完効かせながら書いているといつの間にか発動していますが、以下のように option + return のコンテキストメニューからも発動できます。
構造体の入れ子も対応してるのが地味に便利かも知れません。
ss-the-hitchhikers-to-guide-2019.2-fill-struct-fileds.gif


3. Redundant type conversions

冗長な型変換の警告と、冗長部分を削除する機能。
options + return のコンテキストメニューから発動します。
下記は []byte を返却する関数呼び出しを更に []byte キャストしている例で、警告部分は文字色が灰色化されています。
こうなる状況がちょっと思いつかないですが、もし灰色になっていたら冗長コードということなので覚えておきます。
ss-the-hitchhikers-to-guide-2019.2-redundant-type-conversions.png
https://www.jetbrains.com/help/go/code-inspection.html#redundant-type-conversions


4. Debug function calls

関数呼び出しをデバッグする機能。
control + shift + d でデバッグを起動して、
option + F9 で「カーソル位置まで実行」。
F7 でステップイン。
option + F8 で「関数評価」といったチュートリアル。
単体テストを書くと不要かも知れませんが、「関数評価」機能はデバッグ実行中に関数をライブ的にテストできます。
例では階乗処理の Factorial 関数のデバッグ中に「関数評価」を起動して、結果を試しています。
ss-the-hitchhikers-to-guide-2019.2-debug-function-calls.gif


5. postfix templates

. ( ドット ) に続くキーワードにコードスニペットを登録しておくことで発動するテンプレート機能。
この手の機能は自分がどのキーワードを登録しているか忘れたりするのであまり使いませんが、 == nil!= nil に展開するキーワードぐらいは覚えておくと効率上がるかもしれません。
設定は command + ,EditorGeneralPostfix Completion で確認・編集できます。

以上です。

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