GoLand の新機能

GoLand の新機能

GoLand 2020.2 には、Go モジュールの新機能、コードの問題をレビューして修正するための新しい方法、新しいコード インスペクション のセットが導入されています。その上、待望の選択した行ごとにキャレットを追加、ジェネリックの実験的なサポート、エディターから Go Playground にコードを共有する機能、Windows 上の Git 用の WSL 2 サポートを含むバージョン管理のアップデートなど、新しいコード編集機能を見つけることができます !

読むのではなく、インタラクティブに学ぶことを好みますか? IDE 内のようこそ画面で GoLand 2020.2 の新機能チュートリアルを完了します。

Go モジュールの改善

Set new GOMODCACHE environment variable in the Environment Variables dialog

Go 1.15 以降、新しい GOMODCACHE 環境変数を使用して、モジュールキャッシュのデフォルトの場所を $GOPATH/pkg/mod から別のフォルダーに変更できます。

これを行うには、環境設定 / 設定 | Go モジュール | 環境に GOMODCACHE を設定します。IDE はカスタムの場所を認識し、依存関係を持つ後続のすべてのアクションにそれを使用します。

Commenting module dependency in the go.mod file

行コメントの適用(Windows / Linux では Ctrl+/、macOS では⌘ / )アクションが go.mod ファイルで使用できるようになりました。

GoLand completes a closing brace in go.mod file for replace statement

GoLand は、replaceexclude、および require ステートメントに左括弧を入力すると、すぐに終了括弧を追加するようになりました。

コメントからすべてを取得

Navigation from comment to source code

IDE は、コメントから関連するパッケージレベルの宣言への参照を表示し、宣言または使用箇所に移動するアクション(macOS では⌘ B、Windows / Linux では Ctrl+B/ )を介してそれらに移動できます。

コードインスペクション

Navigation through warning and errors in the file via the Inspections Widget

新しいインスペクションウィジェットは、コードエディターの右上隅に現在のファイルの警告、エラー、タイプミスの数を表示します。矢印アイコンまたは次のエラーアクション(F2)を使用して、移動できます。

このウィジェットを使用すると、強調表示レベル(なし、エラーのみ、またはすべての問題から選択)を構成し、インスペクションの重大度レベルを変更して、コンパクトビューに切り替えて、邪魔にならないようにすることができます。

Moving to error from the Problems View and fixing it via Alt+Enter

問題ツールウィンドウには、現在のファイルの警告とエラーのリストが表示され、それらの問題の説明が表示され、Alt+Enter を使用してすぐに修正できます。

問題ツールウィンドウを開くには、インスペクションウィジェットをクリックするか、表示 | ツールウィンドウ | 問題に移動します。問題を右クリックして、エラーが発生したコード行に直接移動します。

GoLand warns about a possible problem in conversion and suggest to fixing it via Alt+Enter

新しいコードインスペクションは、x の予想される 10 進文字列表現の代わりに、Unicode コードポイント x の UTF-8 表現を返す string(int) 変換で起こり得る問題を処理します。

GoLand は、そのような潜在的なミスについて通知し、専用のクイックフィックスを提供します。

GoLand warns about an incorrect test name and suggests fixing it via Alt+Enter

GoLand は、テストおよび例の一般的な誤った使用箇所について通知するため、そのために go vet を明示的に呼び出す必要はありません。IDE は、単純な場合にクイックフィックスも提供します。たとえば、TestmeTestMe に名前変更することを提案しています。

The Malformed struct tag code inspection alerts the user to a possible problem

不正な構造タグコードインスペクションは、構造体タグが Go の規則に準拠していることを確認し、潜在的な問題について通知します。

GoLand alerts the user about an impossible interface assertion

不可能なインターフェースタイプのアサーションコードインスペクションは、型アサーション v.(T) と、v の静的型 V がターゲットインターフェース T を実装できない可能性のあるインターフェースである対応する型スイッチの場合をチェックします。

これは、VT に同じ名前でシグネチャーが異なるメソッドが含まれている場合に発生します。

コード編集

Show Context Actions shows possible options to apply

コードに適用する前にインテンションアクションまたはクイックフィックスの結果をプレビューするには、Alt+Enter ショートカットを使用してコンテキストアクションの表示を呼び出し、必要なインテンションアクションまたはクイックフィックスを選択して、Windows および Linux の macOS または Ctrl+Shift+I⌥ +Space を押します。

The Add Caret Per Selected Line action creates carets at the end of each selected line

新しい選択した行ごとにキャレットを追加アクションは、選択された各行の終わりにキャレットを作成し、行の選択を解除します。Windows / Linux のショートカット Alt+Shift+G または macOS の⌥⇧ G を使用して起動します。

The Put arguments on one line intention action splits an expression into separate lines

環境設定 / 設定 | エディター | コードスタイル | Go | 折り返しおよび括弧の呼び出し引数、関数パラメーター、および複合リテラル要素の折り返しを構成します。

または、Alt+Enter を使用して引数を別々の行に配置するおよび引数を 1 行に保持するインテンションアクションを使用し、要素を手動で分割および結合できます。

可変引数の制御

Inline Variable refactoring unpacks a slice into variadic arguments

変数を導入するリファクタリング(Windows および Linux の Ctrl+Alt+V、または macOS の⌘⌥ V )は、いくつかの可変引数を新しいスライス変数にパックできます。一方、変数のインライン化(macOS の⌥⌘ N および Linux および Windows の Ctrl+Alt+N )は、逆にスライスを可変引数にアンパックします。

The Unpack slice quick-fix in action

さらに、スライスを開梱するクイックフィックスを介して、展開された可変引数の課題を処理できるようになりました。

プロジェクトをテンプレートとして保存する

Save Project as Template tool window

これで、プロジェクトまたはファイルをカスタムプロジェクトテンプレートとして保存して再利用できます。ツール | テンプレートとしてプロジェクトを保存を選択します。IDE は、ファイル、フォルダー、およびビルド構成を含むプロジェクトツリーを再作成します。

Playground にジャンプ

Share in Playground action in the dropdown menu

これで、エディター内をダブルクリックして、Playground にジャンプ(英語)でコードを共有および実行できます。ドロップダウンメニューで Go ツール | Playground で共有またはツール | Go ツール | Playground で共有を選択するか、macOS では⌥⇧⌘ S、Windows / Linux では Ctrl+Alt+Shift+S を押します。

これは、ジェネリックで再生する go2 ファイルでも機能します。その場合、GoLand は新しい https://go2goplay.golang.org/(英語) に移動します。

ジェネリックの別名型パラメーター

go2 files are opened in the editor with syntax highlighting and basic reference resolution

Go チームは最近、ジェネリックスのドラフトデザインを発表しました。概念の詳細について(英語)は、Golang のドキュメントを参照してください。

GoLand 2020.2 は、設定 / 環境設定 | Goジェネリック別名 . 型パラメーターの実験的サポートを有効にする設定をオンにすることで操作できるジェネリックのテスト的なサポートを提供します。

この初期サポートは、構文の強調表示と基本的な参照解決を提供し、go2 ファイルでのみ機能します。

もっと詳しく

Sync dependency via Alt+Enter

ベンダーモードを有効にすると、プロジェクトのベンダーフォルダーに格納されている依存関係パッケージのみを使用してアプリケーションをビルドします。

プロジェクトにベンダーフォルダーがあり、設定 / 環境設定 | Go | Go モジュールベンダーモードを自動的に有効にする設定をチェックした場合、解決ではベンダー / フォルダーのみが使用され、モジュールキャッシュは参照されません。

GoLand shows go list progress in the progress bar

GoLand は go list コマンドを順次実行し、キュー内の go list コマンドの実際の数に関する情報をプログレスバーに提供します。

バージョン管理

WSL2 support for Git on Windows

Windows での Git の WSL 2 サポート

GoLand 2020.2 を使用すると、Windows 10、バージョン 2004(英語) の 5 月のアップデートでネイティブに利用できる WSL 2 から Git を使用できます。Git が Windows にインストールされていない場合、GoLand は自動的に WSL で Git を探し、そこから使用します。また、WSL から( \wsl$ path を介して)開かれたプロジェクトについて、WSL から Git に自動的に切り替えます。

Improved Git action dialogs

改善された Git アクションダイアログ

マージプルリベースなどのアクションの Git ダイアログを再設計し、より一貫性と情報量を増やしました。また、どの Git コマンドが実行されるかを理解しやすくし、プルダイアログに– rebase オプションを、マージダイアログに– no-verify オプションを追加しました。

Start a review with a comment action

GitHub プルリクエストの完全サポート

GitHub プルリクエストが完備 ! GoLand を移動せずに、プルリクエストの参照、割り当て、管理、さらにはマージ、タイムラインとイン行コメントの表示、コメントとレビューの送信、変更の受け入れを行います。

Improved presentation of Compare branches results

Compare ブランチ結果の表示の改善

これで、GoLand で 2 つのブランチを比較しているときに、比較したブランチのコミットを 1 つのビューで確認できるようになります。IDE は、VCS ツールウィンドウではなくエディターで比較されている両方のブランチのログを開きます。すべての情報を表示するための十分なスペースがありません。

データベースの更新

Separate editor for cell values

セル値の個別のエディター

セルに大きな値がある場合は、別のパネルで表示または編集できます。右側のツールバーを使用してソフトラップモードを切り替えることもできます。コードエディターのすべての機能をデータに使用してください !

DML preview in the data editor

データエディターでの DML プレビュー

このバージョン以降、データエディターでの変更を表すクエリを確認できます。保留中の変更がある場合にアクティブになる DML ボタンがあります。

そして、DML プレビューのダイアログが表示されます。GoLand は JDBC ドライバーを使用してテーブルを更新するため、このクエリはデータを変更するために実行される正確な SQL ではありませんが、ほとんどの場合は同じです。

A new UI for boolean values

ブール値の新しい UI

ブール値を表示および編集するためのよりユーザーフレンドリーな方法があります。True 値は、他のすべての値と区別するために、箇条書きでマークされています。

Coding assistance for Google BigQuery dialect

Google BigQuery ダイアレクト

新しい SQL ダイアレクトである Google BigQuery を追加しました。BigQuery の完全なサポートはまだここにはありませんが、すべてのものがどこかで始まる必要があります。Google BigQuery を使用している場合、GoLand はクエリを正しく強調表示して、コーディング支援を提供できます。

JavaScript と TypeScript

New smart intentions

新しいスマートインテンション(Alt+Enter)は、いくつかのアクションをより高速に実行できます。例:数値インデックスを持つ for ループを forEach 配列メソッドにすばやく変換できるようになりました。JavaScript と TypeScript ファイルでドキュメントのコメントを確認することも簡単になりました。エディターで直接レンダリングできるため、すべての注意散漫が最小限に抑えられます。