こんにちは、Habr!
2週間前、GoLand 2019.1をリリースしましたが、このリリースの最新情報について急いでお知らせします。
コードパフォーマンス分析
メモリ、CPU、ミューテックス、ブロックプロファイラーとの統合を追加しました! これで、ボタンをクリックするだけでそれらのいずれかを起動し、IDEを離れることなくプロファイリング結果を分析できます。
この新しいアクションは、[ 実行 ]メニュー、ナビゲーションパネル、およびテスト実行アイコンのコンテキストメニューで使用できます。 プロファイラーウィンドウでプロファイルプロファイリングの結果を確認します( [表示] | [ツールウィンドウ] | [プロファイラー] )。
パフォーマンスの問題をより明確に把握するには、 フレームチャート 、 コールツリー、およびメソッドリストタブを使用します。 さらに、プロファイラーのタイプごとに、そのタイプに対応するメトリックを追加しました。 たとえば、メモリプロファイラを使用すると、 割り当てられたオブジェクト 、 割り当てられたスペース 、 使用中のオブジェクト 、 使用中の スペースのメトリックで結果を並べ替えて調べることができます。
さらに、プロファイラーウィンドウからF4キーを押すと、1つのアクションでソースコードに移動できます。
GoLand でのアプリケーションとテストのプロファイリングの詳細については、 こちら (英語)をご覧ください 。
デバッグ
このバージョンでは、デバッガ用のさまざまな機能が多数登場しました。
新しいSmart Step Intoアクションにより、一連の呼び出しとネストされたメソッドの呼び出しを簡単にデバッグできます。 式で必要な呼び出しを行い、興味のないメソッドを自動的にステップオーバーします。
たとえば、fmt.Printfコード(「私の名前は%s、私は%d!」、Me.FullName()、me.Age())をデバッグする場合、すぐにAge()呼び出しに移動できます。
このアクションをトリガーするには、 Shift + F7を押すか、[ 実行 ]メニューから[ スマートステップイン ]を選択します。
デバッガーはデフォルトでスレッドの代わりにゴルーチンを表示します。 ただし、必要に応じてそれらをすばやく切り替えることができます。
スタック全体をクリップボードにコピーするには、ゴルーチンを右クリックして[ スタックのコピー ]アクションを使用します。
int型の変数を右クリックすると、その値が2進数、10進数、または16進数に変換されます。
デバッグ中に行番号をクリックすると、 カーソルまで実行がアクティブになります 。 行にカーソルを合わせて選択し、その番号をクリックして[ 実行 ] カーソルを起動します 。
実行/デバッグ構成をsudoで実行できるようになりました。 これにより、ユーザーの特権権限を必要とするアプリケーションをデバッグできます。
前のリリースでは、メモリダンプの分析のサポートを追加しました。 これで、Windowsによって作成された小さなメモリダンプを分析できます。 開始するには、[ 実行 ]メニューから[ コアダンプを開く ]を選択します。
コードリファクタリング
インターフェースの抽出リファクタリングは、選択したタイプに基づいて新しいインターフェースをすばやく作成し、そこから必要なメソッド定義を抽出するのに役立ちます。
リファクタリングダイアログボックスで、このタイプから新しいインターフェースを作成する方法に基づいてメソッドを選択できます。 そこで、名前を指定し、このインターフェースを配置するファイル、フォルダー、パッケージを選択できます。
リファクタリングを呼び出すには、 Windows / Linuxの場合はCtrl + Alt + Shift + Tを、macOSの場合は^ Tを押して、ポップアップメニューから[ インターフェイスの抽出]を選択します。
Renameは、インターフェイスで宣言されたメソッドの名前を変更できるようになりました。 そのようなメソッドの名前を変更する場合、GoLandは実装の名前を変更することも提案します。
リファクタリングを適用する前に、プレビューパネルで何が起こるかを見てください。
コードチェック
Nilness Analyzerは、変数がnilであるかどうかを判断する一連の検査であり、ランタイムパニックが引き起こす可能性のある潜在的な脆弱性とコードエラーについて警告します。 たとえば、nilポインターを介した構造体フィールドの使用、nilインターフェイスでのメソッドの呼び出し、nilスライスへのアクセスなど。
Goモジュール
GoLandは、キャッシュ内のすべてのモジュールに対してコード補完オプションを提供します。 言い換えれば、このプロジェクトでモジュールをインポートして使用したことがないが、別のモジュールでこれまで使用したことがある場合、GoLandはこれを記憶し、通知します。
Goモジュールプロジェクトを作成するときに、 ベンダーモードを選択できるようになりました。 このモードでは、外部の依存関係やインターネット接続なしで、ベンダーフォルダーのライブラリを使用できます。 このオプションは、設定にもあります。 設定| 行く| Goモジュール(vgo)
Go SDKの任意のバージョンをGoLandから直接インストールします
GoLandで新しいプロジェクトを作成する場合、IDEを離れることなく、ベータ版とRCバージョンを含むSDKの任意のバージョンをダウンロードしてインストールできます。
選択したバージョンのSDKがインストールされると、GoLandはこれを[ イベントログ]ウィンドウに報告します。
コードを操作する
変数、定数、および型の宣言を使用して作業を簡素化する一連のアクションを追加しました。 広告に括弧を追加したり、そこから括弧を削除したり、広告を結合したり、広告を2つのグループに分割したり、カンマで区切ったりすることができます。
設定のアクションの完全なリストを参照してください: 設定/設定| エディター| 意図
新しいエクスポートアクションは、宣言に移動することなく、使用場所で別のパッケージから関数、型、変数、または定数をエクスポートします。
カスタムテーマ
バージョン2019.1以降、すべてのIntelliJ IDEA IDEに対して任意の配色を作成できます。 新しいスキームはプラグインとして使用されるため、他のユーザーと簡単に共有できます。 私たちは抵抗することができず、いくつかのオプションを作成しました: ダークパープル 、 シアンライト 、 グレー 。
独自のトピックの作成方法については、こちらをお読みください。
一般的な変更
Sublime Textキーボードレイアウトを設定に追加しました。 設定/設定| キーマップ VS Codeのレイアウトは、このプラグインで使用できます 。
Recent Locationポップアップが新しい検索センターです。 プロジェクトコード内で変更を加えた場所またはコードを読んだ場所すべてのリストが表示されます。 デフォルトのキーボードショートカットは、Win / LinではShift + Ctrl + E 、macOSでは⇧⌘Eです。
React App、React Native、HTML5 Boilerplate、FoundationなどのWeb開発プロジェクトテンプレートをホーム画面に追加しました。
これで、コードスタイル設定をJSON形式にエクスポートできます。 これは、既存のXMLエクスポートオプションに追加されます。 設定/設定| エディター| コードスタイル 。
それだけです! このリリースでの変更点について詳しく読むか、短いデモをご覧ください(英語):
ところで、多くの場合、フィードバックや提案から改善のためのアイデアを取り入れています。 コメント、バグトラッカー、またはTwitterでこちらにご連絡ください。
念のため、既にIntelliJ IDEA Ultimateを使用している場合は、GoLandのすべての機能をすぐに使用できるので、このプラグインをインストールするだけでよいことを思い出してください。
ご清聴ありがとうございました!