GoLand 2020.3 では、goroutines ダンプを探索し、実行して個々のテーブルテストに移動し、Testify テストフレームワークの拡張サポートからさらに多くのものを得ることができます。また、タイムパッケージのサポート、パッケージをよりスマートに処理する方法、UI の改善、Web 開発とデータベースの操作のためのさまざまな新機能、共同開発とペアプログラミングのための新しいサービスなど、多くの新しいコード編集機能もあります。
読むのではなく、インタラクティブに学ぶことを好みますか? IDE 内のウェルカム画面で GoLand 2020.3 の新機能チュートリアルを完了します。
デバッガーの新しいダンプゴルーチンアイコンを使用すると、デバッグセッション中にスタック内の指定された文字列を含むゴルーチンを簡単に見つけることができます。アイコンをクリックするだけで、別のウィンドウでダンプを開くことができます。
重要な情報に集中し続けるために、同じスタックを持つ個々の 1 つまたは複数のゴルーチンを非表示にするオプションがあります。ゴルーチンを右クリックして目的のアクションを選択するか、Delete キーを押して、気を散らさないダンプウィンドウの特別な非表示セクションに移動します。
GoLand 2020.3 は、再接続が必要ない場合に Go リモート構成でプロセスを停止する機能をもたらします。
構成設定では、切断時のデバッガーのデフォルトの動作を指定したり、リモート Delve プロセスを停止します、実行したままにしますを選択したり、GoLand に毎回続行する方法を尋ねさせたりすることができます。
実行ツールウィンドウから個々のテーブルテストを実行してナビゲートできます。
いくつかの制限があります:
%s
動詞と %d
動詞を使用した fmt.Sprintf()
呼び出しにすることができます。IDE は、テストスイートを開始するテスト関数を認識し、サブテスト名が文字列定数である限り、個々の suite.Run
および suite.T().Run
を開始する方法を提供するようになりました。さらに、実行ツールウィンドウからサブテストを再実行して、トップレベルテスト全体の再実行を回避することができます。
さらに、GoLand は、単一のテストケース内で同じメソッド名の Testify スイートを個別に実行できるようになりました。
最後になりましたが、最初の引数として testing.T
を受け入れる関数またはメソッドを完了すると、GoLand は可能であればその引数を自動的に渡します。これは、testify/assert
, testify/require
, testify/mock
および testify/suite
パッケージの関数とメソッドで機能します。
Println / Printf のような関数の誤った使用箇所コードインスペクションは、github.com/pkg/errors
, github.com/sirupsen/logrus
および go.uber.org/zap
パッケージの潜在的な問題について警告します。
その上に、プレースホルダーのハイライトと折りたたみ、および書式文字列引数を追加するインテンションを追加しました。
context.CancelFunc はコードと呼ばれていませんインスペクションは、コンテキストキャンセルの潜在的に危険な使用を報告します。これは、context.WithCancel
によって返される「キャンセル」関数(および同様の関数)がすべての実行パスで呼び出されない場合に特に役立ちます。
このパッケージの詳細については、https://golang.org/pkg/context/(英語) を参照してください。
時間パッケージのサポートが追加されたため、時間と期間をより簡単に処理できます。GoLand は、ISO-8601(英語) からの YYYY
, MM
, DD
プレースホルダーとして、コード補完(Ctrl+Space)を介して事前定義されたレイアウトの要素を提案します。
トークンで Ctrl+P を押すと、IDE にその意味が表示されます。レイアウトトークンの構文のハイライトもあります。コード補完は、文字列リテラルの外側の標準時間レイアウトも提案します。
IDE は、頻繁に使用し、プロジェクトの go.mod
ファイルで明示的に宣言されているパッケージの補完項目に優先順位を付ける際に賢くなりました。
また、プロジェクトのインポートパスと補完提案からパッケージを完全に除外するオプションを追加しました。これは Alt+Enter または設定 | Go | インポートの新しいインポートと完了を除外するウィンドウで行うことができます。
GoLand を使用すると、可変シャドウを簡単に見つけることができます。
Go チームによるジェネリクスの設計(英語)からの更新に従い、以前の提案版で実装されたように、括弧の代わりにジェネリクス構文の角括弧のサポートを追加しました。
設定 | Go のジェネリクスを有効にする (型パラメーターの実験的サポート) 設定はデフォルトでオフになっていることに注意してください。この機能の使用を開始するには、そのチェックボックスを明示的に選択する必要があります。
型パラメーターの詳細については、このブログ投稿(英語)を参照してください。
テストファイルに func
と入力すると、GoLand はデフォルトで、補完オプションに bench
と test
ライブテンプレートを提案します。
ベンチマーク内で for
と入力すると、IDE は b.N
を使用して for ループで完了することを提案します。
Alt+Enter を押すと、提案がダイアログにすぐに表示されるようになりました。さらに、LanguageTool 文法チェックエンジンの新しいバージョンは、英語のチェックが改善され、10 の追加言語のサポートが追加されています。
GoLand 2020.3 は Code With Me (EAP)(英語) をサポートします。これは、共同開発とペアプログラミングのための JetBrains の新しいサービスです。Code With Me を使用すると、IDE で現在開いているプロジェクトを他の人と共有し、リアルタイムで一緒に作業することができます。
詳細については、これらの投稿(英語)を確認してください。
ウェルカム画面を作り直して、次のものにすぐにアクセスできるようにしました。
設定 | 外観と動作 | で OS と同期オプションを選択します。外観 | テーマは、OS の設定に合わせて IDE テーマを自動的に切り替えます。
タブを目的の位置にドラッグしてドロップすることにより、メインエディター画面を水平または垂直に分割します。タブをドラッグしているとき、エディターはタブをドロップできる場所をハイライトします。
プロジェクトビューからファイルを操作する際の UX を改善しました。これで、プロジェクトビューからファイルを開くと、フォーカスがエディターに自動的に配置され、コードの操作をすぐに開始できるようになります。スペースバーを押すと、IDE はプロジェクトビューにファイルのプレビューを表示します。
エディターで複数のファイルを同時に開きたい場合は、1 つの簡単なショートカットで開くことができます。プロジェクトビューでファイルを選択し、Shift+Enter を押して、IDE にエディターウィンドウを分割させ、その右側にあるファイルを開きます。
VCS メニューは、現在使用しているバージョン管理システムに適応し、サブメニューに表示されなくなったため、主要な VCS 機能に簡単にアクセスできるようになりました。
利用可能な素晴らしい新しい Git ステージングエリアがあります ! この機能は、コミットツールウィンドウでのみ使用できることに注意してください。
設定 | バージョン管理 | のステージングエリアを有効化チェックボックスにチェックマークを付けます。Git でオンにします。これを行うと、変更リストのサポートが無効になります。
コミット UI には、ステージングされたファイルとステージングされていないファイルがあります。ファイルをステージングする準備ができたら、ファイルの横にある + アイコンをクリックするだけです。ファイルはステージングノードに表示されます。ステージングエリアに変更を追加するには、ガターアイコンまたは差分を表示を使用することもできます。
ブランチでの作業が改善されました:
現在のプロジェクトで使用可能にするまたはすべてのプロジェクトで使用可能にするを選択して、現在のプロジェクトまたはすべてのプロジェクトのプラグインを有効にする機能を追加しました。設定 | プラグインで、有効または無効にするプラグインの歯車アイコンを押して、目的のオプションを選択します。
macOS システムショートカットキーマップ(設定 | キーマップ)は、システムショートカットとの拡張互換性を提供し、重要なアクションに F キーを使用しないようにする代替の macOS キーマップを提供することを目的としています。
プロファイラーの FlameGraph の検索メカニズムとその視覚化が改善され、メソッドの指標をすばやく見つけることができるようになりました。虫眼鏡アイコンをクリックするか、FlameGraph パネル内に検索リクエストを入力できます。
また、検索フィールド、検索結果間の高速ナビゲーションのための上下の矢印、FlameGraph 全体または特定のサブツリーのみを検索する機能を追加しました。
WebStorm チームの好意により、GoLand は、内部で Web 開発を豊富にサポートするようになりました。この領域での今後の変更の 1 つは、未解決の参照から React コンポーネントを作成する機能です。キャレットを未解決のコンポーネントに配置し、Alt+Enter を押して、対応するインスペクションを選択します。
GoLand は、npm と yarn に加えて、pnpm(英語) パッケージマネージャーを完全にサポートします。pnpm-lock ファイルを使用してプロジェクトを開き、マシンに pnpm をインストールすると、GoLand はこのプロジェクトのパッケージマネージャーを自動的に pnpm に変更します。IDE には、設定 | Languages およびフレームワーク | のパッケージマネージャーのリストに専用の pnpm オプションもあります。Node.js と NPM。
GoLand 2020.3 を使用すると、webpack 構成ファイルを手動で検出するか自動で検出するかを選択できます。新しいオプションは、設定 | Languages& フレームワーク | にあります。JavaScript | Webpack 。
DataGrip チームの同僚のおかげで、GoLand は、サポートされているデータベースのファミリーを新しいメンバー Couchbase で拡張しました。IDE は Couchbase Analytics サービスではなく Couchbase クエリサービスをサポートしていることに注意してください。
GoLand はオブジェクトの付与について認識しており、オブジェクトの DDL に表示します。これは、MySQL、PostgreSQL、Greenplum、Redshift、SQL Server で機能します。
セル値の個別のエディターを改善しました。
データの操作を簡単にするために、2 つの新しいエクストラクターを追加しました。
INSERT
ステートメントを生成します。さらに、CSV 形式の構成に新しいオプションが追加されました。値を引用しないでください。