GoLand 2025.2 では、HTTP サーバーの操作に関する更新、データフロー解析を使用したよりスマートなインスペクション、および操作を妨げない新しい「ようこそ」画面が導入されています。 このリリースではバージョン 2 を含む golangci-lint のサポート品質も大幅に改善されており、リアルタイムコード解析の統合が強化されています。 では、新機能を詳しく見てみましょう。
nil の逆参照
GoLand 2025.2 では潜在的な nil の問題を早い段階で検出する、プロシージャ間の nil の逆参照解析が導入されました。エディター内で直接検出されるため、作業の流れが中断されることはありません。 この解析によってコード内の関数呼び出し、ファイル、パッケージを横断する nil 値の流れを把握することで、エラーの原因となる安全でないポインター操作を検出することができます。
クイックドキュメントポップアップにはパラメーターの null 許容性のヒントが、エディターには潜在的な逆参照の警告が表示されます。また、Problems(問題)ツールウィンドウの専用の Go Data flow analysis(データフロー解析)タブでは、nil 値がどのようにコード内を実際に流れているかが説明されます。
「ようこそ」画面がタブで開くようになったため、プロジェクトを開かなくてもターミナル、Kubernetes、HTTP クライアント、Docker、データベースなどのツールにすぐにアクセスできるようになりました。 また、フォルダーを開いたりプロジェクトをセットアップしたりしなくても、単独ファイルを作成して作業できるようになりました。
Endpoints(エンドポイント)ツールウィンドウで net/http.ServeMux の新しいパターン構文(GET /task/{id}/ のようなメソッドベースやワイルドカードのルートを含む)が完全にサポートされるようになりました。 また、各エンドポイントの横に HTTP メソッドが表示されるようになったため、リストが分かりやすく、扱いやすくなっています。
HTTP メソッドの検出と自動補完が改善され、エンドポイント宣言からリクエストをより簡単に生成できるようになりました。 これは、標準の net/http パッケージや Chi、Gin、Gorrila を使用して定義されたハンドラーで機能します。 GoLand が以下の項目から HTTP メソッドを抽出できるようになっています。
r.GET("/path", handler))http.HandleFunc("POST /item", handler)) r.Method("DELETE", "/item", handler)).Methods(...) 呼び出し(例: r.HandleFunc("/item", handler).Methods("PUT")) このアップデートには、Gin と http.Server の権限解決に関する改善や、機能を拡張しやすくするための一般的なリファクタリングも含まれています。