Go ブログ

VS Code Go 拡張機能で Gopls がデフォルトで有効に

Go ツールチーム
2021年2月1日

VS Code Go 拡張機能で、より堅牢な IDE 機能と Go モジュールのより良いサポートを提供するために、gopls 言語サーバーがデフォルトで有効になったことを発表します。

goplsは、インテリジェントな自動補完、シグネチャヘルプ、リファクタリング、ワークスペースシンボル検索などのIDE機能を提供します。)

Go モジュールが2年前にリリースされたとき、Go開発者ツールの状況は完全に変わりました。 以前は、goimportsgodefのようなツールは、コードが$GOPATHに保存されているという事実に依存していました。 Goチームがモジュールで動作するようにこれらのツールの書き換えを開始したとき、私たちはギャップを埋めるためにより体系的なアプローチが必要であることにすぐに気づきました。

その結果、互換性のあるエディタのフロントエンドに、自動補完、フォーマット、診断などの IDE 機能を提供する単一の Go 言語サーバーgopls の開発を開始しました。 この永続的で統一されたサーバーは、以前のコマンドラインツールのコレクションからの 根本的な変化です。

goplsの開発に加えて、安定したエディターツール環境を構築する他の方法も模索しました。昨年、GoチームはVS Code用のGo拡張機能の責任を負いました。この作業の一環として、言語サーバーとの拡張機能の統合を円滑化し、goplsの更新を自動化し、goplsの設定を再配置および明確化し、トラブルシューティングのワークフローを改善し、アンケートを通じてフィードバックを求めました。また、Go拡張機能の安定性、パフォーマンス、ユーザーエクスペリエンスの向上に貢献してくれたアクティブなユーザーと貢献者のコミュニティを育成し続けています。

発表

1月28日は、goplsとVS Code Goの両方の道のりにおける大きな節目となりました。VS Code用のGo拡張機能でgoplsがデフォルトで有効になったからです。

この切り替えに先立ち、パフォーマンスと安定性の向上に焦点を当てて、goplsの設計、機能セット、ユーザーエクスペリエンスを繰り返し検討しました。1年以上、goplsはVim、Emacs、その他のエディターのほとんどのプラグインでデフォルトになっています。24回のgoplsリリースを行い、ユーザーの皆様には、毎回フィードバックを提供し、問題を報告していただき、大変感謝しております。

新しいユーザーエクスペリエンスを円滑にするための時間も費やしてきました。goplsを搭載したVS Code Goが、明確なエラーメッセージで直感的になることを願っていますが、質問がある場合や、構成を調整する必要がある場合は、更新されたドキュメントで答えを見つけることができます。また、スクリーンキャストを録画して開始を支援したり、アニメーションで、見つけにくい機能を紹介しています。

Goplsは、特にGoモジュールを使用する場合に、Goコードを操作するのに最適な方法です。モジュールがデフォルトで有効になる今後のGo 1.16の登場により、VS Code Goユーザーは可能な限り最高の経験をすぐに得られるようになります。

それでも、この切り替えはgoplsが完了したことを意味するものではありません。バグ修正、新機能、および全体的な安定性に取り組んでいきます。次の注力分野は、複数のモジュールを操作する際のユーザーエクスペリエンスの向上です。より大規模なユーザーベースからのフィードバックは、次のステップを知らせるのに役立ちます。

では、何をすべきでしょうか?

VS Codeを使用している場合は、何もする必要はありません。 次のVS Code Goのアップデートを取得すると、goplsが自動的に有効になります。

別のエディターを使用している場合は、おそらくすでにgoplsを使用しています。 そうでない場合は、goplsユーザーガイドを参照して、お好みのエディターでgoplsを有効にする方法を確認してください。 Language Server Protocolにより、goplsはすべてのエディターに同じ機能を提供し続けることが保証されています。

goplsが正常に動作しない場合は、詳細なトラブルシューティングガイドを参照して、問題を提出してください。 必要に応じて、いつでもVS Codeでgoplsを無効にすることができます

ありがとうございます

既存のユーザーの皆様、3回目のキャッシュレイヤーの書き換えにご協力いただき、ありがとうございます。新しいユーザーの皆様、ご使用の感想やフィードバックをお待ちしております。

最後に、Goツールの議論は、Goツールコミュニティの貴重な貢献について言及せずに完了することはできません。 長い議論、詳細なバグレポート、統合テスト、そして最も重要なこととして、素晴らしい貢献に感謝します。 最もエキサイティングなgopls機能は、熱心なオープンソースの貢献者からもたらされており、皆様の努力と献身に感謝しています。

詳細情報

goplsとVS Code Goの開始方法のウォークスルーについては、スクリーンキャストをご覧いただき、追加情報については、VS Code Go READMEをご覧ください。

goplsの詳細については、gopls READMEをご覧ください。

次の記事:Go 1.16 がリリースされました
前の記事:Go でのコマンド PATH セキュリティ
ブログインデックス