GoLand 2020.3 では、go ルーチンダンプの調査や個別テーブルテストの実行やそれへの移動、 Testify テストフレームワークのサポートを活用できます。 また、time パッケージのサポート、高度なパッケージの処理方法、UI の改善、ウェブ開発やデータベースの処理に対応したさまざまな新機能、JetBrains の新しい共同開発とペアプログラミング向けサービスを含む多くの新しいコード編集機能があります。
新機能を対話形式の説明で確認したいですか? ウエルカム画面で最新の What's New in GoLand 2020.3コースをご覧ください。
デバッガーには新しい Dump Goroutines アイコンが追加されているため、デバッグセッション中に特定の文字列をスタックに含む go ルーチンを簡単に見つけることができます。 アイコンをクリックするだけで、別のウィンドウにダンプが開きます。
重要な情報に集中しやすくするために、個別の go ルーチンまたは同じスタック内の go ルーチンを非表示にするオプションがあります。 go ルーチンを右クリックして必要なアクションを選択するか、削除をクリックして、ダンプウィンドウの集中の邪魔にならない特別な Hidden セクションに移動できます。
GoLand 2020.3 には、再接続が必要でない場合に Go Remote 構成を使ってプロセスを停止できる機能が追加されています。
構成の設定で、切断時のデバッガのデフォルトの動作を指定することができます。選択できるのは、Stop remote Delve processes(リモート Delve プロセスを停止)または Leave it running(実行を維持)で、毎回尋ねるように指定することもできます。
Run ツールウィンドウから個別のテーブルテストを実行し、それに移動できます。
次のような制限があります。
%s
と %d
動詞による fmt.Sprintf()
呼び出しである場合があります。 IDE は、テストスイートを開始するテスト関数を認識するようになったため、サブセット名が文字列定数である限り、個別の suite.Run
と suite.T().Run
を開始できるようになりました。 さらに、トップレベルのテスト全体ではなく、Run ツールウィンドウからサブセットを再実行することも可能です。
また、GoLand は、1 つのテストケース内で、同じメソッド名を持つ Testify スイートを別々に実行できるようにもなりました。
また、testing.T
を最初の引数として受け入れる関数またはメソッドを入力すると、GoLand は可能であれば自動的にその引数を渡します。 この機能は、testify/assert
、testify/require
、testify/mock
、および testify/suite
パッケージの関数とメソッドで動作します。
Incorrect usage of Println/Printf like functions(Println/Printf 類似関数の不正な使用)コードインスペクションによって、github.com/pkg/errors
、github.com/sirupsen/logrus
、および go.uber.org/zap
パッケージの潜在的な問題が警告されます。
さらに、プレースホルダのハイライトと折り畳みを追加し、Add format string argument(フォーマット文字列引数を追加)インテンションを追加しました。
context.CancelFunc not called code インスペクションは、コンテキストキャンセレーションの潜在的に安全でない使用をレポートします。 これは、context.WithCancel
(および同様の関数)が返す ‘cancel’ 関数がすべての実行パスで呼び出されていない場合に、特に役立ちます。
このパッケージの詳細については、https://golang.org/pkg/context/ をご覧ください。
時間と期間をより簡単に操作できるように、time パッケージのサポートを追加しました。 GoLand は、コード補完(Ctrl+Space)を通じて、定義済みのレイアウトの要素を ISO-8601 の YYYY
, MM
, DD
プレースホルダーとして提案します。
トークンで Ctrl+P を押すと、IDE にその意味が表示されます。 レイアウトトークンのシンタックスハイライトもあります。 コード補完はまた、文字列リテラル以外の標準的な時間レイアウトも提案します。
IDE は、頻繁に使用し、プロジェクトの go.mod
ファイルで明示的に宣言されているパッケージの補完項目の優先をより懸命に行えるよういなりました。
また、パッケージをプロジェクトのインポートパスと補完の提案から完全に除外するオプションも追加しました。 これは、Alt+Enter によって、または Settings | Go | Imports にある新しい Exclude for import and completion(インポートと補完から除外)ウィンドウにあります。
GoLand では、変数シャドーイングをより簡単に見分けることができます。
>Go チームによる design of generics の更新に従い、ジェネリクス構文では丸括弧の代わりに大括弧がサポートされるようになりました。これは、以前のプロポーザルエディションで実装されています。
Settings | Go の Enable generics(Type パラメータの実験的サポート) 設定は、デフォルトではオフになっていることに注意してください。 この機能を使用するには、チェックボックスを明示的にオンにする必要があります。
Type パラメータの詳細については、こちらのブログ記事をお読みください。
テストファイルで func
を入力すると、GoLand はデフォルトで、補完オプションに bench
と test
Live Templates を提案します。
ベンチマーク内に for
を入力すると、IDE は b.N
を受かった for ループで補完するように提案します。
Alt+Enter を押すと、ダイアログにすぐに提案が表示されるようになりました。 さらに、新バージョンの LanguageTool 文法チェックエンジン機能では、英語のチェックが改善され、10 個の言語が追加でサポートされています。
GoLand 2020.3 は JetBrains の共同開発およびペアプログラミング用の新しいサービスである Code With Me(EAP)をサポートしています。 Code With Me を使用すると IDE で現在開いているプロジェクトを他のユーザーと共有し、リアルタイムで共同作業を行うことができます。
詳細については、これらの記事を参照してください。
次の項目に迅速にアクセスできるように、ようこそ画面を新しくしました。
Settings | Appearance & Behavior | Appearance | Theme で Sync with OS オプションを選択すると、IDE のテーマが OS の環境設定に一致するように切り替えられます。
タブを任意の位置にドラッグしてドロップすると、メインのエディタ画面を縦方向または横方向に分割できます。 タブをドラッグする際、エディタ内のドロップできる場所がハイライト表示されます。
Project ビューからファイルを操作する際の UX が改善されました。 Project ビューからファイルを開くと、フォーカスが自動的にエディタに切り替わるため、コーディングをすぐに開始できるようになりました。 スペースバーを押すと、IDE の Project ビューにファイルのプレビューが表示されます。
エディタで同時に複数のファイルを開く場合、1 つの単純なショートカットで行えるようになりました。 Project ビューでファイルを選択し、Shift+Enter を押して、IDE の Editor ウィンドウが分割されて、右手の部分にファイルが開きます。
VCS メニューはサブメニューで非表示にするのではなく、現在使用しているバージョン管理システムに合わせて変化するように変更され、主な VSC 機能にすぐにアクセスできるようになりました。
新しい Git ステージングエリアが用意されました! この機能は、Commit ツールウィンドウにのみ提供されています。
この機能を有効化するには、Settings | Version Control | Git にある Enable staging area チェックボックスをオンにしてください。 オンにすると、変更リストのサポートが無効化されます。
コミット UI には、ステージングされたファイルとステージング解除されたファイルが表示されます。 ファイルをステージングする準備が整ったら、隣にある + アイコンをクリックします。 すると、ファイルが Staged ノードに表示されるようになります。 ステージングエリアに変更を追加するには、ガターアイコンまたは Show Diff を使用することも可能です。
ブランチ操作は次のように改善されました。
Enable for Current Project(現在のプロジェクトに対して有効化)または Enable for All Projects(すべてのプロジェクトに対して有効化)を選択することで、プラグインを現在のプロジェクトまたはすべてのプロジェクトに対して有効化できる機能を追加しました。 設定 | プラグインで、有効化または無効化するプラグインの歯車アイコンを押し、希望するオプションを選択してください。
macOS system shortcut(macOS システムショートカット)キーマップ(Settings | Keymap)は、システムショートカットとの拡張互換性を提供する macOS の代替キーマップを提供し、基本アクションに F キーを使用しなくてもよいようになりました。
プロファイラーと視覚化でのフレームグラフの検索の仕組みを改善し、メソッドのメトリクスをより素早く検索できるようになりました。 フレームグラフパネルの虫眼鏡アイコンをクリックするか、検索リクエストを入力できます。
また、検索フィールド、検索結果の迅速なナビゲーションに役立つ上/下矢印、およびフレームグラフ全体または特定のサブツリー内での検索を選択できる機能が追加されています。
WebStorm チームの厚意により、GoLand 内部のウェブ開発サポートが大きく改善されました。 この分野で今後予定されている変更には、未解決の参照から React コンポーネントを作成する機能があります。 未解決のコンポーネントにキャレットを置き、Alt+Enter を押すと、対応するインスペクションを選択できます。
GoLand が npm と yarn に加えて pnpm パッケージマネージャーを完全にサポートするようになりました。 pnpm-lock ファイルでプロジェクトを開き、マシンに pnpm がインストールされている場合、GoLand はこのプロジェクトのパッケージマネージャーを自動的に pnpm に変更します。 また、Settings | Languages and Frameworks | Node.js and NPM にあるパッケージマネージャーのリストに、専用の pnpm オプションが追加されています。
GoLand 2020.3 では、webpack 構成ファイルの検出を手動または自動で行うように選択できるようになりました。 新しいオプションは、Settings | Languages & Frameworks | JavaScript | Webpack にあります。
DataGrip チームのスタッフのお陰で、GoLand は対応データベースに新たに Couchbase を追加することができました! IDE がサポートしているのは、Couchbase Analytics サービスではなく、 Couchbase Query サービスであることに注意してください。
GoLand がオブジェクトの権限の許可を認識し、オブジェクトの DDL に表示するようになりました。 この機能は、MySQL、PostgreSQL、Greenplum、Redshift、および SQL Server で動作します。
セルの値の個別のエディタが次のように改善されました。
2 つの新しいエクストラクタを追加し、データ操作をより簡単に行えるようにしました。
INSERT
ステートメントを生成します。 さらに、CSV フォーマットの設定に、never quote values(値を引用符で囲まない)という新しいオプションが追加されています。