GoLand 2018.3がリリースされました!
このリリースでは Google App Engine、Goコアダンプ、Mozilla rr などのデバッガの新ツール、またはシグネチャの変更(Change Signature)リファクタリングや Testify サポートをお楽しみいただけます。 新しいコードインスペクションとインテンションアクション、コード補完の改善、ダイアグラムのサポート、VCS、Docker、Kubernetesのアップデートなどがあります。
GIFを含む新機能の説明を確認するには、What’s Newページ (サムライズム様による翻訳はこちらです)をご覧ください。
本リリースのハイライトを簡単に見てみましょう。
リファクタリング
- 新しい Change Signature リファクタリングを使うと、数回クリックするだけで、関数、メソッド、またはメソッド仕様シグネチャを変更できます。
- Inline は、適用後にインライン化されたコードをハイライトします。
- Rename は、名前の変更によって発生する可能性のあるコンフリクトがある場合は警告します。
デバッガ
本リリースでは、さまざまな点でデバッガが改善されています。 以下を行えるようになりました:
- Google App Engine アプリケーションをローカルで実行してデバッグできます。
- サードパーティツールを使用せずに コアダンプ(Go core dumps)を解析できます。 Run | Open Core Dump を選択するだけです。
- Mozilla rrデバッガがサポートされています。 デバッガで2つのボタンを使用するだけで、エラーが発生するまでプログラムの実行を記録して再生できます。
さらに、デバッガは Evaluate Expression ダイアログと Watchers パネルに対してコード補完、インスペクション、およびクイックフィックスを提供します。
テストランナー
Goland 2018.3はTestifyをサポートしています! 通常のテスト機能のようにスイートとメソッドをエディタから直接実行できます。
コードインスペクション
- 新しい Unhandled Error インスペクションは、エラーがチェックされていないときにエラーを返す関数またはメソッドを警告し、クイックフィックスでエラーを受け取る変数を導入できます。
- 新しい Unreachable code インスペクション は、決して実行されることのないコード部分を検出します。
- Function Call コードインスペクションは、新しい Finish Call Expression のクイックフィックスと並行して機能するようになりました。
インテンションアクション
- 新しい Add format string argument インテンションアクションは、ポップアップで指定された式用のプレースホルダを生成します。
- 新しい Generate Constructor は、structタイプの値を作成するための関数を生成します。
- Generate getter/setter および Generate getter and setter は定型コードを作成し、ポインタ/非ポインタレシーバ型とその名前をカスタマイズできるようになりました。
- Generate Constructor だけでなく、Generate getter/setter および Generate getter and setter も、Generate ポップアップメニューから利用できます。
コード補完
GoLand 2018.3では、method-like completion for functions(関数をメソッドのように補完)が追加されています。 T
型の値t
がある場合、t.Foo
を書くと、T
タイプを最初の引数として受け入れる関数を見ることができます。
Goテンプレート(html/template)
Goテンプレートを使用して作業するときに、コード補完、 find usages(使用箇所の検索)、Renameリファクタリング、コードフォーマットの改善などをお楽しみください。
検索&ナビゲーション
- Search Everywhere ポップアップには新しいUIがあり、Go to type、Go to file、Go to symbol 、Findへのクイックアクセスを備えています。
- Find in Path と Replace in Path ダイアログは、複数行のコードスニペットをより良くサポートしています。
コードインサイト
GoLandのコードエディタは、さまざまな点で成長および拡張しています。
- 新しいガターアイコンを使用すると、埋め込みタイプのシャドー化された/シャドー化しているメソッドをより正確に特定できます。
- Complete Current Statement は、複合リテラル(struct、sliceなど)に必要な末尾のカンマを自動的に挿入し、次のステートメントにカーソルを置くようになりました。
- GoLandは、Go、JavaScript、TypeScript、CSS、およびSCSSの複数行のTODOコメントをサポートしています。
- Reformat code、Optimize imports、Rearrange というコードアクションから特定のファイルセットを除外できます。
ダイアグラムサポート
ダイアグラムでは、次のようなビジュアライズと探索が可能です:
- Go module依存関係。
- JavaScriptとTypeScriptプロジェクトでコンテキスト内での import と export 。
- データベースとSQLでのテーブルとその関係。
VCS
- 新しい GitHub Pull Requests ツールウィンドウには、GitHubからのプルリクエストがすべて、その説明、現在のラベル、変更されたファイル、および担当者とともに表示されます。
- GoLandは、ルートリポジトリだけでなく、そのサブモジュールもすべてクローンするようになりました。
ツール:
- KubernetesプラグインはHelmをサポートしています。
- Dockerは、Docker run configuration(実行コンフィギュレーション)のビルド部分のCLIオプションをサポートしています。
アクセシビリティの改善
- ハイコントラストテーマ:Settings | Appearance & Behavior。
- スクリーンリーダーサポートの改善。
その他
- Attach アクションは、Open Project ポップアップで利用できます。
- ファイルやプロジェクトをウェルカムスクリーンにドラッグして開くことができます。
- Activity Monitorには、サブシステムとプラグインが消費しているCPUの量が表示されます:Help | Activity Monitor
- Settings | PluginsのPlugins ページを、その機能性とUIの両方を含めて、完全に作り直しました。
JavaScript & TypeScript
- TypeScript 3.1のサポート
- JavaScriptの自動インポートとパラメーターヒント。
- null と undefined チェックの改善。
- Angular テンプレートのコーディング支援が改善。
package.json
の以前のパッケージバージョンの補完。
データベースとSQL
- Cassandraデータベースのサポート。
- コード補完の改善。
GoLand または All Products Pack の有効なサブスクリプションをお持ちの場合は、ダウンロードページまたは便利なToolbox App を使用して、今すぐGoLand 2018.3にアップグレードしてください。もし Toolboxお使いでなければ、このブログポストを読み、ぜひお試しください!
そうでない場合は、無料の30日間体験版をご利用いただけます! ぜひお試しください!
また、JetBrainsのTwitter (英)/ Twitter (日)、または YouTrack へ、お気軽にご意見をお寄せください。
[原文] Original post in English is written by Ekaterina Zharova