GoLand 2024.1 にはいくつかの重要な機能が追加されています。
この新バージョンでは複数の UX と内部ツールが強化されています。 それでは始めましょう!
この機能の制御と行全体の候補を得たい言語の指定は、Settings(設定)| Editor(エディター)| General(一般)| Code Completion(コード補完)| Machine Learning-Assisted Completion(機械学支援補完)で行えます。
GoLand のインデックス作成が大幅に高速化されました。 平均 30% 前後の高速化を実現できています。 当然ながら、実運用での結果はプロジェクトとハードウェアの仕様によってユーザーごとに異なります。 あなたの測定結果をぜひお知らせください! ここでは Gin フレームワークを使ってインデックスを作成した場合の画像を示しています。
この強化により、参照のハイライトが IDE 起動時点から機能するようになりました! この 2 つの例をぜひご覧ください。一目瞭然です。
2023.3 では、関数とメソッドのブロックに対応したインライン補完が導入されました。 2024.1 では、この補完が構造体とインターフェース宣言でも有効になります。 型宣言内でコードの補完候補が提供される場合、親構造体と参照と共に使用箇所のコンテキストが考慮されます。 これにより、AI ベースの補完の関連性が向上します。
GoLand で型、インターフェースメソッド、構造体フィールドのすべてに対してドキュメントが生成されるようになりました。 ドキュメントを生成するには、フィールド定義内の任意の場所にキャレットを置き、Write Documentation(ドキュメントの作成)AI アクションを選択します。 フィールドの定義の前で //を入力すると候補を呼び出すこともできます。
コミットメッセージの生成など、特定の AI アクションのプロンプトをカスタマイズできるようになりました。 これにより、より個人に合った適切な結果を得られます。
バージョン 2024.1 より、AI チャットが生成したコードスニペットを含むファイルをエクスポートできるようになりました。 チャットで質問する際にファイルを添付し、追加のコンテキストを提供できるようにもなっています。
2024.1 では IDE をリモート開発に使用する場合のハイライト表示やレンダリングが改善され、リモートで開発する場合でもローカルでプログラミングする場合と同様にスムーズな操作感を得られるようになりました。 クラウドでのハイライト表示と補完がローカルコードベースとほぼ同等の速度で行われることをぜひお確かめください。
さらに、IDE クライアントからリモートプロジェクトを直接管理できるようになり、新しいリモートプロジェクトを作成したり既存プロジェクトを開いたりできるようにもなっています。
「ようこそ」画面から(ローカルディスクまたは VCS の)Dev Container を実行できるようになりました。 これまではプロジェクトを先に開いておく必要がありました。
Dev Containers にすべての一般的なプログラミング言語に使用できるファイルテンプレートが付属するようになりました。
ユーザーが JetBrains バックエンド IDE(GoLand や CLion など)を devcontainer.json
ファイルで直接構成できる設定が追加されています。
GoLand バージョン 2024.1 では、devcontainer.json
ファイルがプロジェクトのどこに格納されていても認識されるようになりました。 これまでは ~/.devcontainer
フォルダーに格納する必要がありました。
range
のサポート Go 1.22 では、従来の for
ループを使用するよりも簡潔な方法で整数と関数を簡単に反復処理できる機能を導入しました。
ベンダリングはプロジェクトで使用される依存関係をプロジェクトリポジトリに格納できるようにすることで、そのような依存関係をより細かく制御できるようにするものです。 Go 1.22 では、ワークスペースのコマンドでワークスペースの依存関係に含まれる vendor
ディレクトリを使用できます。 GoLand がこの改善をサポートするようになりました。
データフロー解析は GoLand 2023.3 で導入されましたが、2024.1 ではこの機能がデフォルトでオンになるように改良しました。 GoLand の DFA は現在、Constant conditions detection(定数の条件の検出)、Potential nil dereference(潜在的な nil 逆参照)、および Error may be not nil(非 nil の可能性があるエラー)の 3 つのインスペクションをサポートしています。 これらの開発の詳細は、こちらのブログ記事をご覧ください。
terraform init
の実行の提案 Terraform コードファイルで作業ディレクトリを初期化するには、まず terraform init
を実行する必要があります。 この手順は見落としがちで、Terraform 自体がエラーメッセージを吐くだけでなく、コードの自動補完が不完全になったり、ドキュメントが一部しか表示されなくなったりする原因になります。 この問題を回避するため、IDE が明示的に terraform init
の実行を提案するようになりました。
Terraform プラグインのコード補完機能が 3,900 を超えるサードパーティ Terraform プロバイダーに対応できるように拡張され、コードを効率よく記述しやすくなりました。 また、これらの各プロバイダーと特定バージョンの最新のドキュメントを直接 IDE 内で表示することができます。
このため、IDE から離れることなく、新しい Terraform プロバイダーをより素早く調べて機能を理解することができます。
tftpl
)のサポート Terraform のテンプレート言語(tftpl
)のサポートを公開しました。構成ファイルやスクリプトのほか、ウェブサーバー、ネットワーク、サービス構成などのあらゆるプログラムコードでワークフローを強化できます。 テンプレート作成がさらに簡単になったのです! このリリースではテンプレート内の値を実行時に動的に挿入できるようになり、特定の使用に対するテンプレートのレンダリングプロセスが合理化されています。
Terraform のテンプレート言語は変数のテンプレート化と制御フロー要素をサポートするだけでなく、リストとマップに加えて JSON 形式と YAML 形式を生成する機能も含まれています。
ターミナルベースのタスクをよりシンプルかつ便利にするため、GoLand 2024.1 にはビジュアルと機能の両面の強化を組み込んで全面的に見直されたターミナルが備わっています。 便利な履歴やブロック間での簡単な移動、および使用可能なすべてのコマンドのヒントを提供します。
新しい Terminal(ターミナル)ツールウィンドウは新しい IDE とシームレスに統合されており、新しくなった外観に適合しています。また、コマンド、パス、引数、およびオプションをサポートするコマンド補完機能も提供しています。 詳細は、専用のブログ記事をご覧ください。
GoLand 2024.1 には IDE 全体を縮小表示するオプションが導入されています。 当初、拡大縮小の範囲には 100%~200% の拡大表示オプションしかありませんでした。 現在のバージョンでは、IDE を 90%、80%、または 70% に縮小できるようになっています。
大きなファイルでの作業と新しいコードベースの参照を簡単にするため、エディターで行を固定表示できるようにしました。 この機能を使用すると、クラスやメソッドの開始部などの重要な構造要素をエディターの上部にピン留めした状態でスクロールできます。 そうすれば常に表示範囲が固定され、ピン留めされた行をクリックして迅速にコード内を移動できます。
GoLand で GitHub と GitLab ユーザーがより合理的かつアジャイルなコードレビューワークフローを実践できるようになりました。 新しいレビューモードの実装により、作成者とレビュー担当者がエディター内で直接シームレスに対話できるようになりました。 詳細はこちらをご覧ください。
Git ツールウィンドウの Log(ログ)タブに新しい列を導入し、CI システムが実行した GitHub コミットチェックの結果を簡単に確認できるようにしました。 タブをクリックすると、CI チェックの全詳細を表示できます。
コードレビューワークフロー内の保留中の更新を示唆する視覚的なインジケーターを導入しました。 注意が必要な変更がある場合、青いドットのバッジがツールウィンドウのアイコンに表示されます。 また、未確認のプルリクエストには青いドットが付くため、コードレビュープロセスの更新を見逃すことがありません。