GoLand の新機能

GoLandの新機能

GoLand 2020.1は、Goモジュールのサポートのさまざまなアップグレードに加え、ユーザーや拡張されたコード補完ファミリからの操作をほとんどまたはまったく必要としないコード編集機能を提供します。

その上に、新しいコードインスペクション、クイックフィックス、およびプロジェクトを作成またはロードせずにテキストエディターでファイルを開くことができる新しいLightEditモード、インテリジェントなスペルチェックと文法チェックなどのその他の改善があります。Web開発およびデータベースの操作のための新機能。

読んで学ぶのではなく、対話的に学びたいですか? IDE内でGoLand 2020.1の機能チュートリアルを完了しましょう。

Goモジュールの改善

Configuring GOPROXY with automatically suggested by GoLand choice between 'direct' and 'off' values in the new 'Environment Variables' dialog.

Go 1.13の環境変数 GOPROXY , GOPRIVATE , GOSUMDB , GONOPROXYGONOSUMB がサポートされるようになりました。

Goモジュールプロジェクトテンプレートを使用してデフォルト値を設定します。環境フィールドの参照アイコンをクリックするだけで、新しい環境変数ダイアログが開きます。

Code completion for 'replace' keyword, dependency name, and path for the replacement in action.

go , module , require , replace , exclude キーワードのコード補完、依存関係の名前、およびローカルパスでの置換は、go.mod ファイルで使用できます。

GoLand suggests importing a package.

名前変更移動のリファクタリングも行われています。 replace ステートメントで参照されているディレクトリの名前を変更または移動すると、GoLandはそれに応じてgo.modファイルのパスを変更します。

Using Find Usages to find where the directory is used in the go.mod file, and navigate to its source.

これで、プロジェクト・ビューを介して使用箇所の検索を呼び出し、特定のディレクトリへのパスが go.mod ファイルで使用されている場所を調べることができます。

GoLand highlights unused and missing dependencies and suggests removing and fetching them using quick-fixes via Alt-Enter.

GoLand 2020.1では、欠落している依存関係をフェッチし、Alt-Enterを介して未使用を削除できます。

GoLand notifies that commit include the go.mod file with replacements to local paths.

最後に重要なことですが、新しいバージョンでは、ローカルパスに置き換えられたものがある場合、コミットする前に通知が表示されるため、誤ってコミットすることはありません。

使用方法を学習する必要のないコード補完機能

Completing error-handling pattern by typing 'if' inside the function.

GoLand 2020.1は、エラー処理パターンを完了するように if err != nil { ... } を提案します。式の中に if と入力するだけです。

Declaration of 'struct' and 'interface' using code completion.

type キーワードまたは structinterfaceを入力するだけで、構造体とインターフェースのタイプをより速く定義できます。

'Fill Fields' adds spaces after colon.

フィールドを埋めるアクションは、フォーマットルールで必要な場合、コロンの後にスペースを追加します。また、複合リテラルの宣言のステートメントの最後にコンマを追加します。

GoLand moves the cursor to behind the closing bracket.

マップを操作しているときに、キータイプを完了すると、コード補完はカーソルを閉じている括弧の後ろに移動します。

GoLand provides suggestions to complete local variables in the return type of the function.

関数の戻り値の型の場合、補完により、対応する戻り値の型に適したローカル変数とゼロ値が提案されます。

スマートコード補完 ( Ctrl+Shift+Space )

GoLand suggests a pointer to struct initializer.

スマートコード補完は、構造体初期化子へのポインターを提案します。

GoLand suggests compatible type in assertion.

また、アサーションの互換性のあるタイプとタイプswitch caseを最初に提案します。

GoLand suggests the type of the assigned variable in assertion.

タイプアサーションでは、割り当てられた変数のタイプを提供します。

GoLand provides a list of possible pointers in the expression via 'Smart Code Completion'.

最後に、式で可能なポインターの候補のリストを提供します。

基本コード補完 ( Ctrl+Space )

GoLand completes the name of function in the comment block.

基本コード補完のコメントを歓迎してください。これにより、ドキュメントの作成が非常に簡単になります。現在のパッケージ宣言の名前と、関数とメソッドのパラメーター名を提案します。

GoLand suggest conversions in the expression.

さらに、基本コード補完はリテラルと変換を提案します。

コード編集

GoLand adds parentheses around 'int' type after typing the comma to add next return type.

GoLand 2020.1は、複数値の戻り関数のシグニチャーを作成するときに、コンマの後に戻りのタイプを括弧で囲みます。

GoLand escaped double-quotes after pasting the text in a string literal.

一部のテキストを文字列リテラルに貼り付けると、IDEは二重引用符をエスケープします。

何もしなくても機能する機能の詳細については、GoLand編集機能について知らなかった(英語)記事を参照してください。

Go 1.14サポート

Difference between GoLand 2019.3 and 2020.1 in terms of overlapping interfaces support.

重複するインターフェースのサポート

Go 1.14は、重複するインターフェースを埋め込むためのサポートを追加しました。重複するインターフェースを使用して型のさまざまな側面を記述する場合、GoLandはそれらの重複したメソッドをエラーとして報告しません。

New settings in 'Go Modules' section.

自動ベンダーモード

モジュールルートにベンダーディレクトリが含まれている場合、Go 1.14ではベンダーモードが自動的に有効になります。GoLand 2020.1の場合、1.13以前のGoバージョンに同様の動作を実装することを決定しました。IDEがモジュールに存在する場合、ベンダー/フォルダーへのインポートを自動的に解決します。

デバッガの更新

Going through goroutines with profiler labels in the 'Debug' window.

プロファイラーラベルのサポート

デバッグ中またはコアダンプ分析中にゴルーチンをより簡単に区別できるように、ゴルーチンにプロファイラーラベルを追加しました。

詳細については、この記事「 デバッグ中にゴルーチンを見つける方法」(英語)を参照してください。

Choosing predefined macros in new 'Macros' dialog for 'Program arguments' field in 'Run/Debug Configurations'.

マクロのサポート

これで、マクロをパラメーターとして使用して、アプリケーションを実行またはデバッグできるようになりました。実行/デバッグ構成ダイアログで、移動ツールまたはプログラムの引数フィールドの+をクリックして、使用可能なマクロのリストを含む新しいマクロダイアログを開きます。

また、構成ファイルをプロジェクトに保存できるようになりました。実行/デバッグ構成ダイアログの上部にあるプロジェクトファイルオプションとして格納を選択します。

後置補完

'.else Postfix template in action.

.else 後置補完テンプレートは、if ステートメントをすばやく追加して、式が偽かどうかを確認します。

クイックフィックス

Converting Println to Printf

Alt+Enterを押して、非フォーマットコールをフォーマットコールにすぐに変更します。

'Create variable’ suggests completing an expression with an expected for it type.

変数を作成クイックフィックスは、正しい値を簡単に入力できるように、予想されるタイプのヒントを表示するようになりました。

コード・インスペクション

GoLand warns about invalid calls of pointer methods on non-pointer receivers and provides a quick-fix for that.

この新しいコードインスペクションは、非ポインターレシーバーでのポインターメソッドの無効な呼び出しについて警告し、迅速な修正を提供します。

GoLand warns about possible misuse of unsafe.Pointer.

コードインスペクション unintptrからunsafe.Pointerへの無効な変換は、整数をポインターに変換するための uintptr および unsafe.Pointer の誤った使用について警告します。

GoLand warns that an argument in 'Unmarshal' function mast have a pointer type.

インスペクション アンマーシャルが不正な引数で呼び出されますは、json.Unmarshal および encoding/json , encoding/xmlおよび encoding/gob パッケージの同様の関数への呼び出しを分析します。

GoLand warns that the argument must have a pointer type.

誤って値で渡されたロックコードインスペクションは、ロックを含む値を誤ってコピーしないようにできます。

ライブ・テンプレート

Declaration of 'var' and 'consts'.

宣言のグループをすばやく作成できるように、新しいテンプレートを追加しました。これらには consts , vars , typesimportsが含まれます。これらのテンプレートのいずれかを使用すると、GoLandは宣言名を中括弧で囲みます。

The 'fori' template in action.

fori テンプレートは、古典的なforループのボイラープレートコードを挿入します。

リファクタリング

The 'Extract Method' keeps the original order after the performing.

メソッドの抽出リファクタリングは、親関数とメソッドパラメーターの元の順序を維持します。

'Rename' offers to rename usages via Alt+Enter.

名前変更リファクタリングは、宣言の名前変更を自動的に検出するようになりました。つまり、宣言の名前を手動で変更すると、IDEはすべての使用箇所の名前を変更できるガターアイコンを表示します。

ナビゲーション

'Find Usages' shows usages of interface methods.

実装に移動するCtrl+Alt+B)および宣言に移動するまたは使用箇所Ctrl+B)は、現在のプロジェクトの結果を最初に表示するようになりました。

また、使用箇所の検索Alt+F7)アクションは、デフォルトで常にインターフェースメソッドの使用を検索するようになりました。以前と同様に現在のメソッドの使用箇所を見つけるには、Alt+Shift+Ctrl+F7を使用します。

VCSの改善

New 'Commit' tool window with the diff in the editor.

新しいコミットツールウィンドウ

新しいコミットツールウィンドウにローカルの変更およびシェルフタブが組み込まれました。このツールウィンドウでは、差分の確認、コミットするファイルとチャンクの選択、コミットメッセージの入力など、コミットに関連するすべてのタスクを扱います。コミットは、画面の左側にある垂直ツールウィンドウであり、エディター全体が差分を表示するための余地があります。

The 'Branches' popup

改善されたブランチポップアップ

ブランチポップアップはいくつかの方法で作り直されました:

  • 既存のリモートおよびローカルブランチを検索できる明示的な検索フィールドを追加しました。
  • これで、リフレッシュボタンを使用して、既存のリモート ブランチを更新できます。
  • 受信(青)と送信(緑)のコミットインジケーターがステータスバーに追加されました。
'Rebasing Commits' window

ここから対話的にリベースダイアログ

ここから対話的にリベースを大幅に作り直しました。これは、コミット履歴をより直線的でわかりやすいものにするために、以前のコミットを編集、結合、および削除できるダイアログです。

このダイアログを呼び出すには、Gitツールウィンドウのログタブに移動し、編集する一連のコミットの中で最も古いコミットを選択して右クリックし、ここから対話的にリベースを選択します。

データベースの更新

The results are displayed the code editor.
  • 実行構成を使用してスクリプトファイルとコードスニペットを実行します。これにより、複数のファイルを一度に実行し、並べ替え、新しいファイルを追加し、起動前に他のプログラムまたは構成を実行できます。
  • これで、コードエディターで結果を確認できます。このオプションはデフォルトで無効になっています。オンにするには、設定/環境設定 | データベース | 一般 | エディターに出力結果を表示するに移動します。
  • SSHトンネルの構成を作成し、それを多くのデータソースまたはプロジェクトで使用します。
  • データをExcelファイルにエクスポートする機能が追加されました。
  • また、抽出ドロップダウンで希望のデータ形式を選択できます。

Web 開発

GoLand offers to convert the existing code to optional chaining and/or nullish coalescing via Alt+Enter.

JavaScriptおよびTypeScript用の新しいスマートインテンションおよびインスペクション

新しいスマートインテンションおよびインスペクション(Alt+Enter)を使用して、コーディング時の時間を節約してください! 例:既存のコードをオプションのチェーニングや無効な合体にすばやく変換できるようになりました。この構文は、JavaScriptとTypeScriptの最新バージョンで導入されました。

The Documentation popup shows the type of symbol, and where the symbol is defined.

より役立つクイックドキュメント

JavaScriptおよびTypeScriptの場合、ドキュメントポップアップに、シンボルのタイプと可視性、およびそのシンボルが定義されている場所の詳細など、より役立つ情報が表示されるようになりました。

その他の変更

An opened file in the text editor without creating or loading a project via new 'LightEdit Mode'.
  • JetBrainsの新しいフォントであるJetBrains Monoがデフォルトで使用可能です。フォントの詳細については、こちらのページをご覧ください。
  • IDEで記述したテキストのインテリジェントなスペルチェックと文法チェックを提供するプラグインであるGrazieは、デフォルトでバンドルされています。
  • 新しいLightEditモードを使用すると、プロジェクトを作成またはロードすることなく、テキストエディターでファイルを開くことができます。この新機能を試すには、ここで説明するように、まずツール | コマンドライン・ランチャーの作成からコマンドラインランチャーを作成する必要があります (Toolboxアプリを使用している場合、手順は少し異なります)。ファイルを開く方法、ファイルを比較/マージする方法、さらにはコードインスペクションを実行する方法の詳細については、このWebヘルプセクションを参照してください。
  • 新しいZenモードを追加しました。これにより、気が散る可能性がなくなり、コードに完全に集中できるようになります。本質的に、このモードは集中モード全画面モードを組み合わせたものです。これを有効にするには、表示 | 外観 | Zenモードに入るに移動するか、スキームのクイック切り替えポップアップ(Ctrl+` | View mode | Enter Zen Mode)から選択します。
  • 外部ドキュメントhttps://godoc.org(英語)ではなくhttps://pkg.go.dev(英語)につながるようになりました。
  • デフォルトの配色が復活しましたが、新しい名前のクラシックライトが使用されています。