GoLand の新機能

GoLandの新機能

GoLand 2019.1は、メモリーCPUミューテックス、およびブロックプロファイラーでそのツーリングサポートを拡大し、プロファイリングの経験をまったく新しいレベルの生産性に導きます。また、デバッグを改善し、新しいリファクタリングを追加し、さまざまな方法で式にnilを使用することで発生する可能性があるエラーについて警告します。

さらに、IDEからGo SDKをダウンロードしてインストールし、テーマのカスタマイズと新しい事前設定されたSublime Textキーマップを使用して、自宅にいるように感じることができます。

2019.1 3月27日

メモリ、CPU、ミューテックス、およびブロックプロファイラ

Using Memory profiler in GoLand

GoLandは、Memory、CPU、Mutex、Blockの各プロファイラを統合することで、ツーリングサポートを拡大しました。IDEから直接アプリケーションのプロファイリングを開始してから、専用のツールウィンドウ(表示 | ツール・ウィンドウ | プロファイラー)で分析結果を確認できます。

プロファイラを実行するには、新しいプロファイラーで実行ボタンをクリックしてナビゲーションツールバーで必要な設定を選択します。または、左側のガターの実行アイコンをクリックしたときに表示される実行メニューの新しいアクションを選択します。

コード内で発生する可能性のあるパフォーマンスの課題をよりよく理解するために、特定のプロファイラタイプごとに利用可能なメトリクスによって結果をソートします。フレーム・チャート呼び出しツリーメソッドリストタブを使用してください。あるいは課題を調べるためにソースコードに移動することもできます。

スマート・ステップ情報

Smart Step Into in action

チェーンの呼び出しとネストされたメソッド呼び出しのデバッグは、新しいデバッガアクションスマート・ステップ情報を使用すると簡単になります。それは式の中で任意の呼び出しに足を踏み入れることを可能にし、興味のないメソッドを自動的にステップオーバーします。

例: fmt.Printf("My name is %s, I am %d!", me.FullName(), me.Age())のようなコードをデバッグするときは、Age()にステップインすることを選択できます。

スマート・ステップ情報を起動するには、Shift+F7 を押すか、実行メニューでスマート・ステップ情報を選択します。

詳細は、GoLandでのデバッグ - 2019.1の改善(英語)を参照してください。

新規リファクタリング

Extract Interface refactoring dialog

インターフェースの抽出

インターフェースの抽出リファクタリングは、選択したタイプに基づいて新しいインターフェースを素早く作成できます。起動するには、リファクタリングを呼び出し、Windows / Linuxでは Ctrl+Alt+Shift+T、macOSでは ^T を押し、ポップアップメニューでインターフェースの抽出を選択します。

リファクタリングダイアログには、新しいインターフェースに転送されるよう提案されたメンバーのリストが表示されます。インターフェースの名前を指定して、それを配置するファイル、ディレクトリー、またはパッケージを選択できます。その型がすでにインターフェースを実装している場合は、自動的にリストから除外されます。

詳細は、GoLandのリファクタリング - 抽出インターフェース(英語)を参照してください。

Rename refactoring asks to rename method specifications and all implementations in the interface or only current method

より有能な名前変更

名前変更のリファクタリングは、インターフェースで宣言されたメソッドの名前変更にも役立ちます。そのようなメソッドの名前を変更するとき、GoLandはそれらの実装もまた名前を変更することを申し出ます。

検索ツールウィンドウのリファクタリング・プレビューパネルを使用すると、現在のリファクタリングがどのような影響を与えるのかを確認することができます。使用箇所は、プロジェクト内のタイプと場所によってグループ分けされています。

ニルネス・アナライザー

Goを使用すると、ゼロ値を有効にするためのさまざまな方法が得られますが、機会が多ければ多いほど、トラップに陥るのが簡単になります。

ブランドの新しいニルネス・アナライザーは、さまざまなケースで変数にnil値があるかどうかを即座に検出し、潜在的なエラーや問題について警告するコード・インスペクションのセットです。

詳細は、ニルネスアナライザインスペクション(英語)を参照してください。

デバッガの改善

Switching between goroutines and threads in the debugger

スレッドの代わりにゴルーチン

デバッガの出力は現在スレッドの代わりにゴルーチンを表示します。切り替えて、すぐに標準のGoライブラリーに移動して、コードがどのように実行されているかに関する詳細情報を入手してください。

また、スタックのコピー(ゴルーチンリストを右クリック)を使用して、フレームスタック全体をクリップボードにコピーします。

The debugger displays int as binary via View as action

intを2進数、10進数、または16進数として表示する

デバッガビューでint変数をバイナリ、10進数、16進数のいずれで表示するかを選択できるようになりました。変数を右クリックして、次として表示の適切なまたは優先するオプションを選択します。

Debugging with Run to Cursor as mouse gesture

マウスジェスチャーとしてカーソルに移動

デバッグ中にカーソル位置まで実行アクションが行番号をクリックすることで利用可能になりました。強調表示するには、線の上にカーソルを合わせます。カーソル位置まで実行の行番号をクリックしてください。

Debugging windows minidumps on macOS

ミニダンプのサポート

コアダンプの調査に加えて、現在はIDEでウィンドウミニダンプを開いて分析することもできます。コアダンプと同様に、実行 | コアダンプを開くを選択するのと同じくらい簡単です。

詳細は、GoLandでのデバッグ - Windowsミニダンプ(英語)を参照してください。

Run/Debug configuration window with new sudo checkbox

sudoを使ってGoの設定を実行する

実行/デバッグ構成をsudoで実行できるようになりました。ユーザーとして特権操作を必要とするアプリケーションをデバッグします。

テーマのカスタマイズのサポート

GoLand in new Dark Purple theme

まったく新しいUIテーマに挨拶しましょう。ダーク・パープル(英語)シアンライト(英語)グレー(英語)テーマがプラグイン経由で利用可能になりました。

紫が足りない?あまりにも退屈な?楽しすぎる?もう問題ありません! 2019.1から、すべてのIntelliJ-IDEAベースのIDEは完全にカスタマイズ可能なすべてのUI要素の色を取得します: 文字通り何の色も変えることができます!

このカスタマイズをとても簡単にしました。このチュートリアルでは、独自のテーマを作成して共有する方法を学びます。

IDEからGo SDKをインストールする

GoLand's welcome screen with the new option to download and install any required version of the Go SDK

GoLandで新しいプロジェクトを作成するとき、ベータとRCバージョンを含むSDKの必要なバージョンをダウンロードしてインストールするオプションがあります。IDEから離れたり、Webを見たりする必要はもうありません。

選択されたSDKバージョンがインストールされるとすぐに、GoLandはイベント・ログウィンドウであなたに通知します。

Go モジュールの更新

Vendoring mode checkbox in Go Modules settings

ベンダー・モード

Go Modulesプロジェクトテンプレートには、新しいベンダー・モードチェックボックスが追加されました。これにより、外部の依存関係やインターネットへの接続なしに、ベンダーフォルダーのライブラリーを使用できます。同じチェックボックスは環境設定 | Go | Goモジュール (Vgo)の設定でも使用できます。

Code completion for non-imported modules

インポートされていないモジュールの補完

GoLandはタイプしている間モジュールキャッシュのすべてのモジュールのためのコード補完提案を提供します。つまり、モジュールがプロジェクトにインポートされ使用されたことがない場合でも、GoLandはそれを認識しています。

新しいインテンションアクション

Set of declaration intention actions

宣言インテンションアクションのセット

宣言の再フォーマット、宣言への括弧の追加、宣言のマージ、宣言の2つのグループへの分割など、インテンションの一連のアクションを自由に宣言できます。

使用可能なアクションの完全なリストとその詳細な説明については、設定/環境設定 | エディター | インテンションでの移動の宣言セクションにアクセスしてください。

Export intention action

インテンションアクションをエクスポート

新しいエクスポート インテンションアクションを使用すると、パッケージを切り替えることなくプライベート関数、型、またはフィールドをエクスポートできます。

さらに、GoLandは未エクスポートのシンボルへの参照を解決するようになりましたが、それでもエラーであることが通知されます。

便利な一般的な変更

Choosing Sublime Text keymap in settings

Sublime Textキーマップ

新しい設定済みSublime Textキーマップは環境設定 | 設定 | キーマップで入手できます。

このプラグイン(英語)から入手可能な、事前設定されたVSコードキーマップを使用することもできます。

Recent Locations popu

最近使用したロケーション・ポップアップ

最近使用したロケーションポップアップ(Cmd-Shift-E / Ctrl+Shift+E)は、プロジェクト内を移動するための新しい方法です。最近訪れた/変更されたコードの場所のリストが、その前後に数行のコードスニペットとして表示されます。結果を絞り込むには、入力を開始して、一致するコードをジャンプさせます。

Welcome screen with new project templates for web development

Web開発用のプロジェクトテンプレート

React アプリReact NativeHTML 5の定型文FoundationなどのWeb開発用のプロジェクトテンプレートは、ようこそ画面から利用できます。

Export 'Code Style' settings to JSON option in settings

「コードスタイル」設定をJSONにエクスポート

コード・スタイル設定をJSONにエクスポートすることが可能です。これは環境設定/設定 | エディター | コード・スタイルで利用可能なXMLへのエクスポートのすでに利用可能なオプションに加えてです。

バージョン管理の改善

'Uncheck all' checkbox for Partial Git in action

git 部分コミットの 'すべてチェック解除' チェックボックス

部分Gitコミットの新しいすべてチェック解除チェックボックス(git add -p)を使用すると、すべてのコードチャンクを一度にオフにしたり、コミットしたいものを選択したりできます。

Fixup and Squash Into actions

'フィックスアップ' と 'スカッシュ・イン' アクション

VCSのログタブは、正しい修正でコミットを作成するためにフィックスアップおよびスカッシュ・インアクションを取得します: そしてスカッシュ!メッセージ

また、ログタブのコンテキストメニューを使用して、コミットから選択したファイルを選択することもできます。

New checkbox for incoming and outgoing commits in settings

受信および発信コミットの表示

環境設定/設定 | バージョン管理 | Gitに移動してブランチで受信/発信のコミットがあるブランチをマークポップアップを選択すると、IDEは受信および発信のコミットが個々のブランチで使用可能かどうかを示します。

Author initials in annotations

注釈内の作成者イニシャル

さらに、IDEでは、代わりに作成者のイニシャルを表示するか、VCSの注釈にフルネームを表示するかを選択できます。

さらに多くの変更

Multiple defaults in switch code inspection
  • スイッチの複数のデフォルトコードインスペクションは、switchステートメント内の冗長なデフォルトのケースについて警告し、重複しているデフォルトに素早くナビゲートすることを可能にします。
  • ドットのインポートで重複が発生した場合、名前が重複していますのコードインスペクションから通知されるようになりました。
  • プロジェクトビューで、無視されるファイルとフォルダーは、他のファイルと区別するのに役立つようにオリーブグリーンを使用するようになりました。環境設定/設定 | バージョン管理 | ファイル・ステータスの色でこれらの色を変更することができます。
  • JetBrains製のプラグインの設定は環境設定/設定ダイアログで検索できます。
  • ファイルをドラッグして、空白の差分ウィンドウにテキストをコピーして貼り付けます。代わりに、ファイルナビゲーションを通して同じことをすることができます。

Web 開発

Using JavaScript destructuring

JavaScriptとTypeScriptでの分割代入

構造化を使用すると、非常に簡潔な構文を使用して、配列およびオブジェクトから変数に値を展開することができます。

GoLand 2019.1は、新しいリファクタリング、インテンションアクション、およびクイックフィックスを提供して、コード内のオブジェクトや配列を簡単に破壊し始めることを支援します。

Convert fucntion with Promise to async/await

Promiseからasync/awaitに換算

新しいasync 関数に変換する インテンションアクションは、.then() および .catch() 呼び出しで約束を返す関数を、async/await構文を使用する非同期関数に自動的に変更します。これはTypeScript、JavaScript、およびFlowファイルで利用可能です。変換したい関数の名前の上で Alt+Enter を押すだけです。

Highlighting for failed line in test

テストで失敗した行の強調表示

GoLandを使用すると、失敗したテストに関する問題が発生した場所をすばやく特定できます。IDEによってエディター内の関連コードが強調表示され、その後、テストランナーからエラーメッセージが表示されます。

これはJest、Karma、Mocha、およびProtractorで機能します。

Updated docs and browser compatibility

CSSに関する最新のドキュメント

CSSプロパティー、HTMLタグ、および属性のドキュメント(F1)には、MDNからのブラウザサポートに関する実際の説明と情報が示されています。

また、今環境設定/設定 | エディター | インスペクション - CSSのブラウザの互換性によって新しい互換性インスペクションを使用できます。ターゲットにするブラウザの最小バージョンを選択するだけです。

データベースの更新

New supported databases
  • Greenplum、Vertica、およびApache Hiveデータベースがサポートされています。
  • パスワードを記憶する機能には、パスワードを保存するための永遠にセッション用の2つのオプションがあります。
  • 接続ダイアログを完全に作り直しました。
  • 新しいキープアライブおよび自動切断オプション
  • データエディターのフィルタはクリップボードを提案します。
2018.3 Nov 21

新しいシグネチャーの変更リファクタリング

Change Signature refactoring in action

新しいシグネチャーの変更リファクタリングでは、わずか数回のクリックで、関数、メソッド、またはメソッド仕様シグネチャーを変更するさまざまな方法が提供されます。

それらの名前の変更や、パラメータの追加、削除、並べ替え、名前の変更が簡単にできます。メソッド仕様をリファクタリングすると、GoLandは実装の更新を希望するかどうかを確認します。

詳細については、シグネチャーの変更を効率的に使用する方法(英語)に関する詳細なブログ投稿を参照してください。

リファクタリングの改善

Problems Detected dialog

名前変更リファクタリング

名前変更リファクタリングでは、名前の変更によって導入される潜在的な競合についてのインサイトを得ることができます。

Inline refactoring highlights code after applying

インライン化リファクタリング

GoLandはインライン化リファクタリングを適用した後にインラインコードを強調表示し、実際に何が起こったのかを把握できます。

GAEアプリケーションのデバッグ

Debugging Google App Engine application

GoLandでは、 Google App Engineアプリケーションをローカルで簡単に実行してデバッグできるようになりました。

新しいApp Engineプロジェクトテンプレートも追加しました。

詳しくは、Google App Engineアプリケーションのデバッグ(英語)を参照してください。

コアダンプのサポート

Exploring core dumps in the Debugger pane

時には、標準的なデバッガーが、コードの何が間違っているかを理解するのに役立たない場合があります: これはコアダンプが救助に来るところです!

GoLandを使用すると、実行 | コアダンプを開くを選択するだけで済むため、サードパーティのツールを使用することなく、コアダンプの探索を容易にすることができます。

クラッシュダンプを自動的に作成するには、実行構成設定の環境フィールドに GOTRACEBACK=crash と入力します。

コアダンプは、デフォルトでLinuxマシンでのみ使用できます。ただし、macOS、Windows、またはLinuxのあらゆる種類のメモリダンプを分析できます。

Testifyのサポート

Run suites from the editor

これで、エディターから直接スイートとメソッドを定期的なテスト関数として実行できます。

比較失敗ウィンドウは、失敗したアサーションの期待値と実際の値の差分を調べるのに役立ちます。

関連する変更では、空のテストファイル関数のテストファイルのテスト、およびパッケージのテストは、生成ポップアップメニューから利用できます。

コード・インスペクション

Unhandled Error warning in the editor

未処理のエラー

未処理のエラーコードインスペクション は、エラーがチェックされていないときはいつでもエラーを返す関数またはメソッドについて警告します。

Unreachable Code warning in the editor

到達不能コード

到達不能コード インスペクションは、決して実行できないコード部分を検出します。

書式文字列引数を追加する

Add format string generates a placeholder via popup

書式文字列引数を追加する インテンションアクションは、ポップアップを使用して、提供された式のプレースホルダを生成します。プレースホルダを書式文字列に挿入し、その式をプレースホルダの引数として渡します。

また、プレースホルダを対応する引数に置き換える書式文字列のコードの折りたたみを有効にすることもできます。

生成インテンション・アクション

Generate Constructor adds functions

コンストラクターの生成

コンストラクターの生成 インテンションアクションは、構造体タイプの値を作成するための関数を生成します

コンストラクターの生成getter/setterを生成getter および setter の生成は、生成ポップアップメニューから利用できます。

Generate getter and setter adds template

getter および setter の生成

インテンションのアクションgetter/setterを生成getter および setter の生成は、すぐに定型コードを作成し、ポインタ/非ポインタのレシーバー型とその名前をカスタマイズすることができます。

コード補完

Code completion provides a set of functions which accept value of type as the first argument

GoLand 2018.3は、関数にメソッドのような補完を追加します。 T 型の値 t を持ち、t.Fooを書くと、最初の引数として T 型の値を受け入れる関数を見ることができます。

基本補完Ctrl + Space + Space)を2回呼び出して、使用可能なすべての補完オプションを確認します。

コードエディター

Complete Current Statement inserts trailing comma

現在のステートメントの補完

現在のステートメントの補完は、必要な末尾のカンマをコンポジットリテラル (struct、sliceなど)に自動的に挿入し、キャレットを次のステートメントの位置に配置するようになりました。macOSの Cmd + Shift + Enter またはWindows / Linuxの Ctrl + Shift + Enter を押すだけです。

Navigation between shadowed and shadowing methods

シャドーされた/しているメソッドの特定

新しいガターアイコンを使用すると、埋め込みタイプのシャドウ/シャドーイング方法をより正確に特定できます。ワンクリックで前後に移動したり、Windows / Linux上のmacOSまたは Ctrl+UCmd+U を押したりすることもできます。

Excluding a specific set of files from the formatting actions

このファイルセットをフォーマットしない

GoLand 2018.3以降のバージョンでは、コードアクションコードの再フォーマットインポートの最適化、および並べ替えから特定のファイルセットを除外できます。

Go テンプレート (html / template)

Code completion and Rename refactoring in html/template

Goテンプレート (html / template) では、コード補完、使用箇所の検索、名前変更リファクタリング、改善されたコード・フォーマットが使用できます。

デバッガの更新

Evaluate Expression warns about invalid array index and provides code completion

デバッガは、コード補完、インスペクション、および 式の評価ダイアログとウォッチャーパネルのクイックフィックスを提供します。

Mozilla rrのサポート

Debugging with Mozilla rr

Linux上のデバッガでMozilla rrのサポートを追加しました。障害が発生するまでプログラムの実行を記録するため、デバッガで必要な回数だけ失敗した実行を再生することができます。

Mozilla rr(英語)をインストールするとすぐ、すべてがクリックで動作します。ブレークポイントを設定し、エディターの実行/デバッグガターアイコンから記録とデバッグオプションを選択します。この操作により、専用の巻き戻しボタンを使用して実行ウィンドウのデバッガータブが開きます。これにより、前のブレークポイントに達するまでプログラムを逆方向に実行できます。

ダイアグラムのサポート

Go module dependencies diagram

ダイアグラムでは、次のような視覚化と探索が可能です。

  • Goモジュールの依存関係( go.mod ファイルのコンテキストメニューでのみ使用可能)。
  • JavaScriptとTypeScriptプロジェクトのコンテキスト内でのインポートとエクスポート
  • データベースとSQLでのテーブルとその関係。

詳細については、ダイアグラムのサポートに関する(英語)このブログ投稿(英語)を参照してください。

検索とナビゲーション

Search Everywhere popup shows search results

どこでも検索ポップアップの改善

どこでも検索ポップアップ(ダブルシフト)には新しいUIがあり、非同期的なアプローチにより高速に動作します。

また、型へジャンプファイルに移動シンボルに移動、および検索にすばやくアクセスできます。 TAB キーで切り替えます。

Searching multiline code snippet via Find in Path dialog

パス内検索と置換ダイアログ

パス内検索プロジェクト内の置換のダイアログは、複数行のコードスニペットをサポートするのに適しています。

複数行TODOコメント

Multiline TODO in Go project.

GoLand 2018.3は、Go、JavaScript、TypeScript、CSS、およびSCSSの複数のTODOコメントをサポートしています。

GitHubプルリクエスト

GitHub Pull Requests shows searching results by state:close and RP description

新しいGitHubプルリクエストツールウィンドウには、GitHubからの説明、現在のラベル、変更されたファイル、および担当者のすべてのプルリクエストが表示されます。そこでは、状態、担当者、作成者、後、前、またはソートを使用して検索することができます。IDEはまた、新しいローカルブランチを作成したり、GitHubでプルリクエストを開くのに役立ちます。新しいツールウィンドウを開くには、メニューVCS | Gitプルリクエストの表示を選択します。

ツール

--pull in Build options field in the Dockerfiles run configuration

Dockerプラグイン

ビルド部分にCLIオプションを使用できるようになりました。Dockerfiles実行構成では、新しいビルド・オプションフィールドが見つかります。今のところ、cache-fromcpu-sharescpuset-cpusforce-rmlabel, memorymemory-swapshm-sizeno-cachepullquiet、および rmのCLIオプションがサポートされています。

Code completion in Helm template

Kubernetesプラグインの更新

Helmリソーステンプレートファイルを操作するときは、コード補完、名前変更のリファクタリング、コードインスペクション、およびクイックフィックスを楽しみましょう。

詳細はこのブログ記事を読むを参照してください。

アクセシビリティ

High-contrast theme

すべての人がIDEにアクセスできるように努力しています。このアップデートは、その方向で大きな一歩を踏み出しています。

ハイコントラストのテーマを追加しました。設定 | 外観 & 振る舞いのテーマオプションのドロップダウンリストを使用するか、Ctrl + `を押すだけでアクセスできます。

また、IDEはスクリーンリーダーをより良くサポートします。GoLandでは、ライン番号、VCS注釈、ブレークポイント、その他のガターアイコンをスクリーンリーダーで読み取ることができます。

JavaScriptとTypeScript

Autoimports in JavaScript

JavaScriptのオートインポート

GoLandは、プロジェクトで定義されたシンボルだけでなく、プロジェクトの依存関係のシンボルに対しても、自動的にインポートを追加します。

Parameter hints in JavaScrip

JavaScriptのパラメータヒント

ご存知のように、Go、TypeScript、SQLにはパラメーター・ヒントがあり、JavaScript にも対応しています。

The inspection notifies that method if null or undefined

'null' と 'undefined' のチェック改善

インスペクション オブジェクトはnullまたは未定義ですは、メソッドが undefined または nullの値で呼び出されるか、関数に渡されるか、またはそのプロパティーが使用されるため、TypeErrorを取得したときに通知します。

Code completion in package.json

package.jsonでの補完

GoLandは、package.jsonの依存関係について、以前のものと同様に、最新バージョンの提案を提供します。

Cassandraデータベースのサポート

Cassandra database support

DataGripチームの素晴らしい同僚のおかげで、GoLandは現在Cassandraデータベースをサポートしています。

さらに多くの変更

Reworked Plugins page
  • 接続アクションは、プロジェクトを開くポップアップから利用できます。すでに開いているプロジェクトにディレクトリーをアタッチすることができます。ファイル | 開くをクリックして、アタッチするプロジェクトを選択します。
  • ファイルやプロジェクトを[ようこそ]画面にドラッグして開きます。
  • アクティビティー・モニターは、さまざまなサブシステムとプラグインが消費しているCPUの量を示しています(ヘルプ | アクティビティー・モニター)。
  • 設定 | プラグインプラグインページは、すべての機能やUIを含めて完全に再構築されました。
  • インデックス作成が大幅に高速になりました。
2018.2 7月25日

Goモジュールのサポート (Vgo)

このアップデートにより、Goモジュール(別名 "vgo" )との統合が可能になりました。

詳細は、GoLand 2018.2 EAPでのvgo統合サポート(英語)を参照してください。

移動リファクタリング

移動リファクタリングを改善しました:

  • 新しい移動ダイアログに識別子が必要かどうかが表示され、各識別子をエクスポートまたは移動するかどうかを決定できます。
  • シンボルをパッケージ間で移動できるようになりました。そのような移動が不可能な場合、IDEはそれに応じて警告します。

新しいクイックフィックス

期待される型に変換する

言語が許可する(英語)ときはいつでも、期待される型に変換すると呼ばれる新しいクイックフィックスが値を目的の型に変換します。

欠落しているメソッドを実装する

この新しいクイックフィックスを使用すると、予想されるタイプがインターフェースである場合に欠落したメソッドをすばやく追加できます。例:似たような名前のメソッドを実装することもありますが、パラメータのセットが異なります。この場合、IDEは実装しようとしているインターフェースに準拠させるためにメソッドに何を変更する必要があるかを説明します。あるタイプのインターフェースが実装されていない理由を知っているだけでは不十分であるため、IDEでは、使用が発生する場所から直接インターフェースを実装することができます。

メソッドの実装

メソッドの実装アクションは、メソッドをインターフェースから選択したタイプに追加するだけでなく、すぐにこのタイプを作成することができます。

新しいインテンションアクション

  • ドットインポートエイリアスを追加するを使用すると、インポートにドットエイリアスをすばやく追加して、エクスポートされたすべてのシンボルを修飾子なしで使用できるようにします。逆に、ドットインポートエイリアスを削除するはパッケージ名の使用に戻ります。
  • ローカル変数を導入するでは、値を返す関数/メソッド呼び出しの変数を追加できます。

新しい後置補完

  • .sort テンプレートは、配列式またはスライス式を変換し、要素タイプに基づいて適切なソート方法を前置します。エレメントタイプがカスタムタイプの場合は、sort.Slice メソッドを使用します。
  • .rr テンプレートは、既に利用可能な2つのテンプレート .rre.rrvの力を組み合わせ、同時に変数と式で呼び出すことができます。

コードスタイルの改善

ご存じのように、Goのコメントは注釈としても使用されます。一部のライブラリーでは、注釈マーカーと注釈指示の間のスペースは正しく処理されません。

GoLand 2018.2では、特定の接頭辞で始まる注釈の先頭のスペースを無効にすることができます。設定 | エディター | コード・スタイル | Go | その他に行くと、コメントに先行スペースを追加するオプションのカスタム除外リストが表示されます。で始まるコメントを除いてフィールドを使用して、例外として追加するプレフィックス名を追加します。

デバッガの更新

一時停止しないブレークポイント

デバッガは非一時停止ブレークポイントをサポートしています。ブレークポイントを設定してコンソールに記録したり、到達した時点でブレークポイントのスタックトレースを取得してから実行を再開することもできます。ブレークポイントがヒットして停止すると、これらのアクションを実行することもできます。

関連する変更点では、このアップデートにはいくつかの課題を解決するDelveの最新バージョンが付属しています。通常どおり、デバッグセッションを最大限に活用するには、最新のGoバージョンを使用していることを確認してください。

配列、マップ、スライスの遅延ロード

また、デバッガは配列、マップ、スライスの遅延ロードをサポートするようになりました。マップで深いネスティングをサポートします。マップとスライスでキーと値のペアをよりよく表現できます。

ツール

グローバルファイルウォッチャー

このリリースサイクルでは、ファイル監視は、多くのプロジェクトで作業する開発者のセットアップの冗長性を軽減するためのシンプルで使いやすい機能を提供します。

以前は、プロジェクトごとにファイル監視を設定することは可能でした。これで、プロジェクトオプションとグローバルオプションのどちらを選択するかを設定することができます。プロジェクトごとに各グローバルウォッチャーの状態を有効/無効にするように範囲を制限することもできます。ファイル監視を使用すると、ファイルの変更を追跡し、サードパーティのスタンドアロンアプリケーションを実行できます。

Docker

Dockerプラグインは、実行構成でいくつかの新しいランタイムコマンドラインオプションを認識します:すべてのメモリオプション、--security-opt、およびGPU: --runtime=nvidiaをサポートするオプション。さらに、Docker 実行/デバッグ構成で --rm オプションを使用して、終了後に自動的にクリーンアップされる一時的なコンテナーを起動できるようになりました。

Dockerは、Docker実行構成のコンテキスト・フォルダーフィールドにドッカーファイル用のDockerビルドコマンドを実行するためのベースディレクトリーを指定するオプションを取得します。

バージョン管理

競合をマージする

新しい競合をマージするノードは、各変更リストのマージ競合を含むファイルをグループ化し、簡単に見つけることができます。解決アクションリンクにより、改善された競合でマージされたファイルダイアログが開きます。プルマージ、またはリベースを実行するときにGit ブランチの名前が表示され、ディレクトリーごとにファイルをグループ化することができます。これは、複数のファイルが競合でマージされている場合に特に便利です。

拡張ログタブ

バージョン管理ツールウィンドウの[ログ]タブには、次の改善点が追加されています。

  • 必要なだけログタブを開きます。
  • ブランチフィルタを使用して、お気に入りのブランチでコミットをすばやくフィルタリングできます。
  • コンテキストメニューからGitタグをコミット権から簡単に削除できます。
  • コンテキストを切り替えることなく差分プレビューパネルを探索してください。
  • コンテキストメニューから新しい改訂時のリポジトリーを参照アクションを使用してリポジトリの状態を監視します。Gitバージョン管理でのみ使用できます。

Gitのプッシュダイアログをスキップする

GoLand 2018.2では、コミットプッシュアクションを使用するときに、プッシュダイアログを完全にスキップするオプションがあります。

また、保護されたブランチにプッシュするときにこのダイアログを表示することもできます。これを設定 | バージョン管理 | Git | プッシュを表示ダイアログコミットプッシュに設定します。

複数のGitHubアカウント

これにより、必要なだけ多くのGitHubアカウントを簡単に管理できます。設定 | バージョン管理 | GitHubで使用するすべてのアカウントを設定し、プロジェクトごとにデフォルトのGitHubアカウントを割り当てます。

ユーザー・インターフェース

タッチバーのサポート

MacBook プロの所有者にとっては良いニュースです! GoLand 2018.2はタッチバーから直接、プロジェクトの実行、ビルド、デバッグ、変更のコミットなど、まったく新しいIDE体験を提供します。利用可能なすべてのタッチバーのコンテキストは、設定 | 外観 & 振る舞い | メニューおよびツールバーのタッチバーページでカスタマイズできます。

暗黒化

暗いタイトルバーでGoLandを楽しむことができます。設定 | 外観 & 振る舞い | 外観にジャンプし、ダーク・ウィンドウ・ヘッダーを使用するを選択してこれを試してください。

最後に、IntelliJ プラットフォームに基づいた他のIDEのように、GoLandのアイコンは視覚的な混乱をなくし、読みやすさ、見つけやすさ、明快さを向上させることを目指した新しい見方をしています。

詳細は、IntelliJプラットフォーム2018.2の新しいアイコン(英語)を参照してください。

JavaScriptとTypeScript

TypeScriptの改善

TypeScript 2.9および今後リリースされるTypeScript 3.0のサポート

それに加えて、GoLandはJSDocの型で注釈を付けるのようなTypeScript言語サービス自体によって提供されるより迅速な修正を提供します。

新しいインテンション

このアップデートにより、Alt+Enterを介して多数の新しいインテンションが利用可能になりました。インターフェースの実装派生クラスの作成インターフェースまたは抽象クラスのメンバーを実装する'switch' のケースを生成する'for..of' と繰り返すのほんの一部です。

未使用コードの検索

新しいコードカバレッジ機能により、プロジェクト内の未使用のコードを見つけることができます。GoLandでカバレッジのあるJavaScriptデバッグ設定を開始し、Chromeであなたのアプリケーションとやりとりして、設定を停止します。レポートには、各ファイルとフォルダーで使用されたコードの種類と量が表示されます。

2018.1 3月27日

新しい移動リファクタリング

今回のアップデートでは、Moveリファクタリングを追加しました。このリファクタリングにより、最上位のメンバーを同じパッケージの別のファイルにすばやく移動できます。パッケージ間の移動はまだ許可されていません。

コード補完

デフォルト値補完

キャレットが関数内のreturn文の右側にある場合、コード補完はその関数の戻り値の型に対応するデフォルト値を提案するようになります。

否定補完

コード補完によって提案されたbool式は、!を押して同時に選択して無効にすることができるようになりました。

新しい後置補完

  • .if テンプレートは、bool式をifステートメントに変換する
  • .p テンプレートは、式の前にポインタ演算子を付加する

インテンションのその他のアクション

    更新に追加された新しいインテンションがいくつかあります。たとえば、バイナリ式のフリップ、ネガテート、再帰的な 否定、ブール式の反転などがあります。

より良いインスペクション

go vetに対応し、Go 1.10でのGoテストの前に実行されることになっていたインスペクションの一部が改善されます。IDEは、fmt.Printfの呼び出しに対して型の不一致があり、無効なビルドタグがあると警告を出します。

Enterの自動フォーマット

キャレットがチェーン呼び出しまたは文字列リテラル上にあるときに Enter をクリックすると、IDEは結果のコードを自動的にフォーマットします。

オンザフライでインポートを最適化する

エディターは入力時に、未使用パッケージのインポート文をオンザフライで削除できるようになりました。これは、自分でインポートステートメントを削除する必要がないため便利です。このオプションは、インポートの最適化と呼ばれます。[設定] | [設定]で有効にすることができます。行く | インポート

Dep統合

dep(英語)プロジェクトで作業しているときに未解決のimport文があるファイルを開くと、IDEはdepで確実に動作するクイックフィックスを提供します。

新しいdepプロジェクトを作成するには、プロジェクトウィザードを開き、ダイアログの左側にあるDepタブに切り替えます。

新しいドキュメントポップアップ

クイック・ドキュメント・ポップアップは、サンプル関数を認識し、ドキュメントの一部として組み込んでいます。サンプル関数の名前をクリックすると、IDEはその関数のコードでスクラッチファイルを開きます。

スクラッチファイルの改善

Goコードの選択から作成されたスクラッチファイルは、自動的にすべての適切なimportステートメントを取得します。また、スクラッチファイルは定義済みのテンプレートから作成されるようになりました。このテンプレートは設定 | エディター | ファイルとコードのテンプレートでカスタマイズできます。

デバッガの機能拡張

このアップデートでは、デバッガをローカルに実行中のプロセスにアタッチすることができます。これを行うには、メインメニューの[ 実行 ]をクリックし、[ ローカルプロセスに接続 ]を選択してデバッグするプロセスを選択するだけです。

また、デバッグ時には、デバッガツールウィンドウの[ Watches]タブと[ Variables]タブの影付き変数を区別できます。

より良い実行機能

テストランナーの更新

このアップデートでは、テストの階層構造がサポートされ、出力およびコンパイルエラーが個々のテストおよびパッケージに正しく属性付けされています。

複数のファイルを実行する

更新されたGo ビルド実行構成で、複数のファイルを選択して実行できるようになりました。

その他のコーディング支援の改善

人生をはるかに簡単にするためのいくつかの改善点のリストがあります:

  • IDEが提供するコーディング支援は、Go 1.10のすべての機能を完全にサポートするように更新されました。
  • 変数の導入で使用される名前提案アルゴリズムは、コンテキストを認識し、名前の衝突を回避します。
  • 自動インポートのメカニズムがよりスマートになり、結果のコードがエラーなしでコンパイルされる場合にのみ適用されるようになりました。



  • グローバルシンボルの名前変更リファクタリングと使用箇所の検索は、はるかに高速になりました。
  • IDEのパフォーマンスを向上させるために、GOPATH全体のインデックスを作成しないように、プロジェクトのインデックススコープを制限することができます。新しいオプションは、ファイル | 設定 | 行く | GOPATH | GOPATH全体プロジェクトウィザードインデックス

Gitの改善

部分的なコミット

このアップデートでは、ファイル内の個々の変更を異なる変更リストに関連付け、別々にコミットしてプッシュできるようになりました。 git add -pに類似しています。

コミットの変更を含めるには、変更のコミットダイアログのDiffペインにあるガターのチェックボックスを使用します。個々の変更を変更リスト全体に移動するには、エディターの左側にある変更マーカーを使用します。

より多くのリベースアクション

Rebaseを実行すると、Git ブランチポップアップで新しいリベースを中断リベースを続行コミットをスキップアクションが利用できるようになりました。

JavaScriptとTypeScript

TypeScriptの改善

このアップデートでは、新しいTypeScript 2.7の機能がサポートされています。未解決のプロパティーのための新しいサラウンドタイプのガードクイックフィックスもあります。

スマートな名前変更リファクタリング

クラスの名前変更リファクタリングは、ファイルの名前を変更するようになりました。リファクタリングは、クラスのインテンションアクションとして利用可能になりました。

Prettier で再フォーマット

このアップデートでは、定評のあるコードフォーマッタPrettier(英語)が統合されています。prettierパッケージをインストールした後、新しいPrettierの再フォーマットアクションが使用可能になります。

Vueコンポーネントを抽出する

このアップデートでは、Vueテンプレートの任意のフラグメントを選択し、Refactor | Refactorを使用して個別のVueコンポーネントとして抽出するようにIDEに依頼します。抽出または Alt+Enterを介して。

デプロイ

Docker

Docker Composeの実行構成ダイアログが改善され、複数の作成ファイルがサポートされ、実行するサービスを選択できるようになりました。

Dockerツールウィンドウには、実行構成が設定されているプロジェクトだけでなく、プロジェクトファイル内で設定されているすべてのDocker Composeプロジェクトが表示されます。

Kubernetes

このアップデートでは、プラグイン(英語)を通じてKubernetesの初期サポートが導入されています。このサポートには、コード補完、インスペクション、リソースファイルのクイックフィックス、ナビゲーションを容易にするためのガター内のアイコン、ポップアップドキュメント、およびライブテンプレートが含まれます。