GoLand の新機能

GoLand 2022.1 では、ジェネリクスGo workspaces のサポートを追加しました。

マイクロサービスと連携するための新機能もいくつか追加されています。 専用のツールウィンドウですべてのエンドポイントを表示し、Go ファイルから直接 HTTP リクエストを生成できます。

これまでと同様に、新バージョンの GoLand にはデータベースに関する更新とウェブ開発に関する改善が含まれています。

対話的に学習したい方は、ウェルカム画面からアクセスできる「What's New in GoLand 2022.1」(GoLand 2022.1 の新機能)チュートリアルをご利用ください。

ジェネリクス

ジェネリクスを使用して数値追加関数を作成する

改善とバグ修正

このリリースにおける最も重要なタスクは、エラーの誤検出と検出漏れを解消することでした。 これまで、200 件以上のジェネリクスに関する課題を解決しました。

左角括弧の入力後に GoLand が右角括弧を自動追加

補完

型パラメーターにもいくつかの機能を追加しました。

左角括弧を入力すると、GoLand が右角括弧を挿入します。

補完候補の型パラメーター

GoLand は補完候補に型パラメーターを表示し、ユーザーがいずれの候補を受け入れると角括弧を挿入します。

クイックフィックスを使用して欠落しているメソッドを実装

Implement missing methods(欠落しているメソッドを実装)クイックフィックス

型引数にインターフェースが制約しているすべてのメソッドが含まれていない場合、GoLand はエラーを表示します。 欠落しているメソッドは、エラーメッセージからクイックフィックスを直接使用することで実装可能です。

または、赤い電球をクリックするか Alt+Enter を押してから、Implement missing methods(欠落しているメソッドを実装)を選択することもできます。

Go workspaces

go.work ファイルを開く

go.work ファイルのあるディレクトリを開き、通常通りに開発を続けられます。 後日、go.work での構文ハイライトとコード補完も実装する予定です。

マイクロサービス

Go ファイルから Go to declaration(宣言に移動)アクションを使用する

使用箇所の検索と移動

注意: マイクロサービスを構築するための新機能は、現時点では標準ライブラリでのみ使用できます。

Go ファイルの各エンドポイントの横に地球儀アイコンが追加されました。 そのアイコンをクリックすると、GoLand はいくつかのオプションを提案します。

最初のオプションでは、エンドポイントのすべての使用箇所を検索し、そこに移動することができます。 Ctrl を押しながらエンドポイントをクリックしても、使用箇所を表示できます。

Go ファイルからリクエストを生成する

リクエストの生成

地球儀アイコンをクリックして表示される 2 つ目のオプションは、Generate request in HTTP client(HTTP クライアントでリクエストを生成)です。 対応するオプションを選択すると、IDE がバンドルの HTTP クライアントを開きます。 このアクションは、すべての有効な URL のリクエストを生成するために使用できます。

HTTP クライアントにエンドポイントのコード補完機能が追加されました。 補完は、Go ファイル(現時点では標準ライブラリのみをサポート)、Swagger 仕様、.proto ファイル、および JavaScript ファイルからのエンドポイントで機能します。

新しい Endpoints(エンドポイント)ツールウィンドウを開く

Endpoints(エンドポイント)ツールウィンドウ

3 つ目のオプションは、Show all endpoints of module(モジュールのすべてのエンドポイントを表示)です。 このオプションを選択すると、GoLand がプロジェクトのすべてのエンドポイントが表示される新しい Endpoints(エンドポイント)ツールを開きます。

ここから Jump to source(ソースに移動)を使用するか、エンドポイントをクリックして HTTP クライアントタブから直接リクエストを実行することができます。

Go Land による HTTP メソッドの補完候補表示

メソッドとヘッダーの補完

Go ファイル内の HTTP メソッドとヘッダーでコード補完が動作するようになりました。

ブラウザーでリンクを開く

リンクとエンドポイントの下線表示

Go ファイルのすべてのリンクとエンドポイントに下線が表示され、コード内で発見しやすくなりました。 リンクはクリック可能であり、ブラウザーで開くことができます。

GoLand による gRPC リクエストの補完候補表示

gRPC リフレクションのサポート

If your project doesn't have a .proto file but the server supports gRPC reflection, you will be able to run requests and get completion for service and method names right from a running server.

テスト

誤った書式動詞が使用されている場合に、エラーが表示されます

testify/assert の文字列書式

testify/assert 関数で誤った書式動詞が使用された場合、GoLand がエラーを報告するようになりました。

デバッガー

Debug(デバッグ)ウィンドウのタブのラベルを表示する

タブラベルの非表示

Debug(デバッグ)ツールウィンドウのスペースを最大限に使用できるよう、デフォルトでタブのラベルを非表示にしました。 ラベルを表示する場合やラベルの場所をカスタマイズする場合は、Layout Settings(レイアウト設定)の Show Tab Labels(タブラベルの表示)を使用します。

Kubernetes

クラスターから読み込まれるリソースを変更する

クラスターのリソース編集

注意: Kubernetes プラグインは Settings(設定)| Plugins(プラグイン)からインストールできます。

クラスターからロードされたリソースをエディタータブから変更できるようになりました。

kubectl へのパスを変更できる設定

kubectl へのカスタムパス

kubectl が標準以外の場所にある場合、手動でパスを設定できるようになりました。 カスタムパスを設定するには、Settings(設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| Kubernetes | Path to kubectl executable(kubectl 実行可能ファイルのパス)に移動します。

ツールバーからポート転送機能を使用する

ポート転送

pod のポート転送機能を追加しました。 ポートを転送するには、ツールバーのアイコンを使用するか、pod を右クリックしてコンテキストメニューから Forward Ports…(ポートの転送...)を選択します。

実行中の Describe Resource(リソース情報の取得)アクション

Services(サービス)ビューの Describe Resource(リソース情報の取得)アクション

Services(サービス)ビューに表示されるすべてのリソースで、新しい Describe Resource(リソース情報の取得)アクションを使用できるようになりました。 このアクションはコンテキストメニューか、ツールバーのボタンを使用して呼び出せます。

Services(サービス)ビューに表示されるクラスターイベント

クラスターイベントのノード

クラスターのイベントを Services(サービス)ビューの独立したノードで表示し、システムの最近のイベントに関するデータを確認できるようにしました。

Helm テンプレートファイルに機能するコード補完

Werf のサポート

werf.yaml と関連する Helm テンプレートファイルを限定的にエディターでサポートできるようにしました。 初期サポートとして、コード補完機能、インスペクション、クイックフィックスの提案、.Values.werf.image.* のリファクタリングと名前変更、および booleanint などの一部のフィールドの検証などを行えます。

Docker

Services(サービス)ツールウィンドウ

新しい Services(サービス)ビュー UI

Services(サービス)ツールウィンドウの Docker UI を大幅に改良しました。 この改良により、コンテナー、イメージ、ネットワーク、およびボリュームの操作が改善されています。

Docker Compose ターゲットを追加する

Docker Compose ターゲットのサポート

Docker Compose ターゲットのサポートを追加しました。 ターゲットを追加するには、Run(実行)| Manage targets(ターゲットの管理)に移動し、Add new target(新しいターゲットの追加)をクリックします。

Docker Registry 設定で Docker V2 を使用できます。

Docker Registry V2 のサポート

GoLand で、Docker Registry HTTP API V2 がサポートされました。

Markdown

Markdown エディターの Copy Code(コードのコピー)アイコン

Copy code(コードのコピー)アイコン

Markdown ブロックに Copy code(コードのコピー)アイコンを追加し、内容を簡単にクリップボードにコピーできるようになりました。

Markdown ファイルからコマンドを実行する

コマンドの実行

Markdown ファイルにターミナルで実行する必要のあるコマンドを含む命令が記述されている場合は、ガターの Run(実行)アイコンを使用してこのようなコマンドを Markdown ファイルから直接実行できるようになりました。

Markdown ファイルの新しいフローティングツールバー

フローティングツールバーの改善

Markdown ファイルをより簡単に整形できるように、テキスト選択時に表示されるフローティングツールバーを改良しました。 デザインが新しくなっただけでなく、ツールバーにリスト作成機能とヘッダースタイルを選択できるドロップダウンメニューが追加されています。

ユーザーエクスペリエンス

Notifications(通知)ツールウィンドウ

新しい Notifications(通知)ツールウィンドウ

IDE からの重要で有用な通知をハイライト表示するため、Event Log(イベントログ)インスタンスを Notifications(通知)ツールウィンドウに置き換えました。

Structural Search and Replace(構造検索&置換)ダイアログ

Structural Search and Replace(構造検索&置換)ダイアログの更新

Structural Search and Replace(構造検索&置換)ダイアログを改良して全テンプレートをリスト表示するようにしました。これにより、テンプレート間をより簡単に移動できるようになりました。

GoLand の Structural Search and Replace(構造検索&置換)では、XML、HTML、SQL、および JavaScript がサポートされています。

エディタータブの均等分割

タブの均等分割

エディターの作業スペースを複数の均等なタブに分散できるようになりました。 この設定を行うには、Settings(設定)| Advanced Settings(高度な設定)| Editor Tabs(エディタータブ) に移動し、Equalize proportions in nested splits(ネストした分割の比率を揃える)を選択します。

UML ダイアグラムのエクスポート

UML ダイアグラムを別のフォーマットにエクスポート

ダイアグラムを yEd の .graphml、JGraph の .drawio、Graphviz の .dot、Graphviz の位置情報付きの .dot、Mermaid の .md、Plantuml、および IDEA の .uml ファイルとしてエクスポートすることが可能になり、サードパーティツールとの互換性が確保されました。

バージョン管理

Commit details(コミットの詳細)ペインの GPG 署名情報

Git ツールウィンドウの Commit details(コミットの詳細)ペインの更新

Commit details(コミットの詳細)ペインに詳細な GPG 署名情報が表示されるようになりました。

Annotate with Git Blame(Git Blame で注釈を付ける)が有効な場合に GoLand が行の差分をハイライトします

Annotate with Git Blame(Git Blame で注釈を付ける)の改善

Annotate with Git Blame(Git Blame で注釈を付ける)機能を改善し、変更の調査をより簡単に行えるようにしました。 注釈にマウスポインターを合わせると、IDE が行間の差分をハイライト表示します。その注釈をクリックすると、Git Log(Git ログ)ツールウィンドウが開きます。

データベース

複数のテーブルを別のスキーマにコピーする

複数オブジェクトのコピー

複数のテーブルを選択して、別のスキーマにコピーできるようになりました。

テーブルを選択して F5 を押し、エクスポートダイアログを開きます。 単一のテーブルをエクスポートする際と同様に、列をマッピングし、新しいテーブルの DDL を表示して変更することができます。

MongoDB コレクションのフィールド編集

MongoDB: 結果のフィールドを編集

リレーショナルデータベースと同様に、MongoDB コレクションの結果を簡単に編集できるようになりました。

注意: バージョン 2022.1 でのデータベースに関するすべての変更を詳しく見るには、DataGrip の新機能ページにアクセスしてください。

ウェブ開発

GoLand は、Vue ファイルのグローバルコンポーネントを認識します。

Vue 関連の改善

Vue 3 に関連するいくつかの改善を行いました。 コンポーネントをグローバルとして定義すると、IDE が .vue ファイル内にあるこのようなコンポーネントを認識するようになりました。

GoLand は createApp 構文もサポートしています。 createApp を使用して作成されたアプリケーションと関連する要素を正しく一致させることができます。 このバージョンでは、広く使用されている Vue フレームワークの新バージョンである Nuxt 3 もサポートしています。

GoLand は、Link コンポーネントの href プロパティを解決します。

Next.js の更新

ページのサポートを修正しました。 GoLand は、Link コンポーネントの href プロパティで使用されているパスを解決します。 コード補完、ナビゲーション、および Rename(名前の変更)などのリファクタリングも動作します。

ES モジュールを使った webpack 構成

webpack 構成の ESM サポート

Webpack コーディング支援が webpack.config.js ファイル内の ES モジュールを処理できるようになりました。

GoLand は Volta を使用してインストールされた Yarn と npm を自動的に認識します。

Volta との統合

GoLand に JavaScript ツールマネージャーの Volta が統合されました。 WebStorm は Volta を使用してインストールされた Yarn と npm を自動的に認識します。

注意: バージョン 2022.1 でのウェブ開発に関するすべての改善を詳しく見るには、WebStorm の新機能ページにアクセスしてください。

アクセシビリティの更新

Log(ログ)タブでブランチのツリーの名前と説明をスクリーンリーダーで読み取れるようになり、音声プロンプトで Ctrl+L を使用して他の Log(ログ)フィルター間を移動できるようになりました。

また、VoiceOver のサポートに関する多数の更新が導入されており、macOS ユーザーのアクセシビリティサポートが改善されています。