GoLandの新機能

GoLand 2019.3では、CPU消費量の削減と動作の高速化、Go Modulesのサポート強化、新しいクイックフィックスの追加、リファクタリングの強化が提供されます。 Evaluate Expressionにおけるembedされたフィールドのメソッド呼び出し対応、Mozilla rrを使用したアプリケーションのリモートデバッグサポートも追加されました。

また、すべての新規プロジェクトに対するGlobal File Watcherの有効化、MongoDBとの連携などを行えるようになりました!

2019.3(11月29日)

パフォーマンス

A chart with the startup times measurement of GoLand 2019.3 on different operating systems

今年の夏にGoLand 2019.2をリリースして以来、当社はGoLandの高速化とCPU消費量の削減に懸命に取り組んできました。 主なパフォーマンス改善には、起動時間を短縮化したことが挙げられます。IDEが内部的に必要なものをすべてを準備している間に、ウェルカム画面を表示し、プロジェクトのインデックス作成を行うようになりました。

この結果はプロジェクトの規模やお使いのデバイスの使用年数、RAM、ディスク容量にとって変わる場合があります。 今後もこの取り組みを続ける予定で、今後のリリースでは起動時間のさらなる高速化を期待できます。

Go Modulesの改善

Navigation from go.mod file to the Project View

GoLand 2019.3では、go.modファイルに対応したシンタックスハイライトとナビゲーションを提供しています。 あるdependency(依存パッケージ)のインポートパス上で(macOSの場合は⌘+B、Windows/Linuxの場合はCtrl+B)キーを押すと、GoLandがProject View内にあるそのソースまでナビゲートします。

また、Project ViewではGo Modulesのインポートパスが最後の部分だけではなく、完全なインポートパスで表示されます。 各Goモジュールのバージョンは、インポートパスよりも色調を抑えたフォント色で表示されており、容易に確認できるようになっています。

デバッガの更新

Evaluate Expression dialog with the result of call

Embedされたフィールドのメソッド呼び出し

デバッガのEvaluate Expression(式を評価)で、embedされたフィールドのメソッドを直接呼び出せるようになりました。

Mozilla rrを使ったデバッグ

Mozilla rrを使ったリモートデバッグ

Goで記述された多くの本番環境のサービスはLinux上で稼働しています。それらに対して、Mozilla rrは再現が困難なバグの調査を支援します。 Mozilla rrを使ったデバッグはGoLand 2018.3からサポートされていますが、Linuxを実行している開発用マシン上でしか動作していませんでした。 このリリースからは、Linuxマシン上でデバッグサーバーを起動し、macOSやWindowsからリモートでトレースをデバッグできるようになりました。 そのためには、以下の手順に従ってください。

  • リモートマシンでrrのトレースを収集します。
  • 次のようにリモートマシン上でデバッガを起動します:dlv --headless --api-version 2 -l localhost:2345 replay /path/to/trace/dir /path/to/binary
  • Go Remote設定経由でリモートマシンに接続します。

Mozilla rrはLinuxマシンでのみ利用できます。

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

Delete unused parameter name from the expression via Alt+Enter

未使用パラメータの処理

未使用のパラメータがある場合、GoLandがその名前と型の両方を削除可能な場合には両方を、その型がメソッド仕様の実装に使用されている場合には名前のみをハイライトするようになりました。

後者の場合は、2種類のクイックフィックス(Delete parameter namesまたはRename to_)のいずれかを選択できます。 関数型として使用されている関数には同じ動作が適用されます。

また、一度に未使用のパラメータをすべて削除できるようになりました。 Alt + Enter を押し、Delete all unused parameters(未使用のパラメーターをすべて削除)クイックフィックスを使用してください。

Create a missing function

存在しないメソッドや関数の作成

GoLandは存在しない関数やメソッドが関数の型で使用されている場合にそれらを作成するクイックフィックスを提供します。 Alt+Enterを押し、Create method/functionを選択するだけです。

GoLand suggest to import package

パッケージエイリアスの処理を強化

GoLandは、プロジェクト内の任意のファイルで Alt + Enter を使用して、使用されているエイリアスに基づいてパッケージをインポートすることを提案します。

リファクタリング

Types of parameters are shown in the Parameters and Result Parameters tabs

シグニチャの変更

Change SignatureParametersタブとResult parametersタブでパラメータの型を常に表示するようになりました。 Signature Preview内に表示される結果パラメータで連続した型指定を省略するには、新しいReuse typesチェックボックスにチェックを入れてください。

また、2つの新しいインテンションアクションが追加されています。1つはパラメータの定義を単一の宣言にマージするReuse signature typesで、もう1つはAlt+Enterで各パラメータに型を追加するExpand signature typesです。

Extract Variable suggests err for expression of type error

Extract Variable(変数の抽出)とRename(名前の変更)

Extract VariableRenameで名前の提案をさらに改善しました。 例えば、型エラーの式の場合はerrが、context.Contextの場合はctxが提案されます。

コードインスペクションの動作を改善

Comparison of code inspections behavior between 2019.2 and 2019.3 versions

GoLandのコードインスペクションの対象がより絞り込まれました。 個々のコード片に最も関連性の高いクイックフィックスやインテンションアクションを表示できるよう、Alt+Enterを使用してコンテキストメニューを呼び出した際にコードエディタで検出された問題をハイライト表示する範囲を縮小しました。

コード編集

An example of the error message for rune literal

ルーン(rune)リテラルレキサーの改善

ルーンリテラルレキサーに対し、以下のような複数の改善を実施しています。

  • GoLandは、式が不正である理由を説明するエラーメッセージをより明確かつ簡潔に表示するようになりました。
  • GoLandは、編集後の正しいルーンリテラルをエラーとしてハイライトしません。
  • 不正なルーンリテラルの解析処理が安定化されました。
GoLand highlights reassignment in the left-hand side of declaration

再代入のハイライト表示

Goでは短いvar宣言の左側で既存の変数を使用できます。 そのため、似たような2つの構文が異なる意味を持つ場合があります。 このような状況を分かりやすくするため、このような再代入に対するシンタックスハイライトを導入しました。

An example of code folding for composite literals

複合リテラルコードの折りたたみ

GoLand 2019.3では複合リテラルコードを折りたたむことができます。 コード片の折りたたみや展開は、コードの折りたたみ用のトグルを使用するか、所定のキー(Windowsの場合はCtrl+数字キーのマイナス/Ctrl+数字キーのプラス 、macOSの場合は⌘+数字キーのマイナス/⌘+数字キーのプラス)を押してください。 デフォルトのコードの折りたたみ動作をは、Settings/Preferences | Editor | General | Code Foldingで設定できます。

ライブテンプレートの強化

forr live template suggests line as a value

ライブテンプレート「for」と「forr」で適切な変数名が提案されるようになりました。 例えば、インデックスの場合はiindexのような名前が提案され、値の場合はsstringlineが提案されます。

ライブテンプレートの meth は、レシーバー名のコード候補を提供するようになりました。

ナビゲーション

Search only in the selected area

選択範囲内のみを検索

Find(macOSの場合は⌘+F、Windows/Linuxの場合はCtrl+F)を使用すると、選択範囲内のみを検索できます。 エディタ内で必要なコード片を選択してFindを呼び出すだけで、IDEが選択範囲内のみを検索します。 ファイル全体内の検索に簡単に切り替えるには、⌘+F/ Ctrl+Fを2回押すか、バーにあるIn Selectionオプションを切り替えてください。

Searching with ‘Find in Path’ with a file mask option in action

ファイルマスクオプション付きの ‘Find in Path’ の使用

ファイルマスクを使用してFind in Pathダイアログを検索する際、GoLandがそれに応じて検索結果にファイル拡張子を表示するようになりました。 これにより、同じ名前でもファイル拡張子が異なるファイルを簡単に区別できるようになりました。

すべての新規プロジェクトに対してGlobal File Watcherを有効化

Enabling golangci-lint for all new projects

GoLand 2018.2では、ProjectGlobalを使用して異なるプロジェクト間でFile Watcherの設定を共有できるオプション(Global File Watcher)を追加しました。

しかし、相変わらず新規プロジェクトを作成するたびにこのWatcherを有効化しなければなりませんでした。 このリリース以降は、作成または開くすべての新規プロジェクトでデフォルトでFile Watcherを有効にできるようになりました。

FileメニューでOther Settings | Settings for new projectsを選択し、Tools | File Watchersに移動してから新しいGlobal File Watcherを追加します。その後、その隣にあるチェックボックスを選択すると、そのGlobal File Watcherをすべての新規プロジェクトで有効化することができます。

チュートリアル

An exercise for the new feature of Extract Variable refactoring

プロジェクトを完了させて納期に間に合わせる必要がある一方、現在ご利用中の製品に関する新機能ページ、リリースページ、ならびにブログ投稿を読む暇がないことはよくあるかと思います。 そのため、ご都合の良い時にGoLandの機能を学習できるチュートリアルを追加しました。

Tutorials(チュートリアル)はウェルカム画面のプロジェクトリストの上にあります。 IDEを新バージョンにアップグレードすると、新リリースの機能を紹介するレッスンが表示されます。 または、任意のプロジェクトから対応するツールウィンドウを使ってTutorialsにアクセスできます。

その他の変更

Switching between the callers and callees in the Hierarchy tool window

Hierarchyツールウィンドウ

Hierarchyツールウィンドウは、呼び出し先のメソッド階層を解析するための新しいオプションを提供します。 また、選択したメソッドの呼び出し元と呼び出し先を切り替える専用のボタンを2つ追加しました。 さらに、メニュー内で専用のボタンをクリックしてツリー内の要素をアルファベット順に並べ替えできるようになりました。 Tool WindowsリストでHierarchyツールウィンドウを表示するには、先に階層を構築してからNavigate | Call Hierarchy or Navigate | Type Hierarchyに移動してください。

Switching theme plugin without restarting the IDE

テーマとキーマッププラグインをその場で切り替え

GoLand 2019.3では、IDEを再起動せずに任意のテーマやキーマッププラグインをインストール・アンインストールできます。

Select ‘Add Keyboard Shortcut’ in the settings for ‘Focus Editor’ action

フォーカスをエディタに戻すためのカスタムショートカット

ESCを使用する代わりに、エディタにフォーカスを戻すアクション用のカスタムショートカットを設定できます。 Preferences/Settings | KeymapFocus Editorアクションを探して右クリックし、ドロップダウンからAdd Keyboard Shortcutを選択してください。

More visible scrollbars in the editor

スクロールバーの視認性向上

スクロールバーの視認性を向上させるオプションを追加しました。 このオプションを使用するには、Preferences/Settings | Appearance & Behavior | AppearanceUse contrast scrollbarsチェックボックスを選択してください。

バージョン管理の改善

New Clone dialog with the list of repositories

Cloneダイアログの改良

CloneダイアログはVCS | Get from Version controlの下にあります。 このダイアログからログインすると、またはログイン済みの場合、アカウントや組織別にグループ化されたすべてのリポジトリのリストをすぐにプレビューできます。

‘Show Details’ opens a window with conflict changes

マージの競合に関する詳細な情報

merge、rebase、cherry-pick操作を実行中に発生する競合をより簡単に調査できるようになりました。 Show Detailsリンクをクリックするだけで、最終的なコードの状態を引き起こしたコミットのリストを取得できます。また、Mergeダイアログに変更対象のソースに関するより詳細な情報が表示されます。

データベースの更新

View collections and fields in the database explorer

MongoDBのサポート

GoLand 2019.3はMongoDBの基本的なサポートを提供しています。 以下を行えるようになりました:

  • データベースエクスプローラー内でコレクションやフィールドを表示できます。
  • 任意のコレクションを開き、クエリの結果を監視できます。 カラムで並べ替えたり、値を絞り込んだりすることもできます。
  • クエリを実行し、結果を取得できます。 Ctrl/⌘+Enterを押すか、ツールバーのPlayボタンを使用して選択したステートメントを実行できます。
An example of the connection error

接続エラーを調査

接続エラーを調査しやすくなりました。 接続に失敗した際はIDE内の専用ボタンをクリックするだけで、Google検索エンジンを使ったエラーの検索結果に遷移できます。

ウェブ開発

Code completion for the class name from CSS library

CDN上のCSSライブラリの補完

HTMLファイル内でBootstrapや別のCSSライブラリを使用し、それをCDNにリンクしている場合、当該ライブラリのソースをプロジェクトに追加することなくそのクラス名を補完できるようになりました。

Code suggestions for new variable

新しいシンボル名の提案

JavaScriptやTypeScriptで新しい変数やパラメータの名前を追加する際、使用中のプロジェクト、標準ライブラリ、および依存関係で定義されているクラス、インターフェース、type aliases(型エイリアス)の名前に基づいた名前が提案されるようになりました。

新しい変数、関数、クラス、インターフェースの場合は、同じ範囲で使用済みであるものの、未定義になっている名前も提案されます。

2019.2(7月25日)

関数呼び出しのサポート

Evaluate Expression(式の評価)ダイアログで関数を呼び出す

プログラムを実行中に特定の時点で、式の中で何が発生しているのかを詳しく調べることができます。

この機能は、Delveの実験的な関数呼び出し機能のサポートとGoランタイムに依存していることに注意してください。

関数呼び出し機能のサポートでバグや問題に遭遇した場合は、課題トラッカーにご報告をお願いいたします。

デフォルトおよびDarcula カラースキームの改善

更新されたDarculaカラースキーム

GoLand 2019.2では、デフォルトおよびDarculaのカラースキームにセマンティックなコードハイライトのバリエーションを追加しています。

これにより、コードをより深く理解し、そのロジックをより迅速に追えるようになりました。 パッケージ名と変数、組み込みのコード構造と自ら書いたコード構造、型変換と関数呼び出しを容易に区別できます。 メソッドのレシーバと関数/関数呼び出しにも独自の色が使用されるようになりました。

従来通り、Settings/Preferences | Editor | Color Schemeでお好みの設定に変更することができます。

デバッガの更新

デバッガは、変数ペインにString() メソッド実装の結果を表示します

String()メソッドの変数情報を詳細化

デバッガで、単純なString()Error()、およびDebugString()メソッド実装の結果がVariablesペインに表示されるようになりました。 この機能は、呼び出しのない単一のreturnステートメントを持つメソッドをサポートしています。

変数ペインでのtime.Timeおよびnet.IPの表示

特殊な型の表現を改善

GoLand 2019.2は、time.Timetime.Duration、およびnet.IPの型から派生した構造体の値をデバッガのVariablesペインに人間が読み取り可能なフォーマットで表示します。

設定で10進形式を選択します

デフォルトの整数フォーマット

デバッガでの整数変数のデフォルト表示方法を2進数、10進数、16進数のフォーマットから選ぶことができます。 フォーマットはSettings/Preferences | Build, Execution, Deployment | Debugger | Data Views | Goで設定できます。

Go 1.13の各種機能のサポート

コンソールでの新しい数値リテラルの結果

GoLand 2019.2は、数字リテラルとシフトカウントとしての符号付き整数をサポートしています。 これらの変更は、Go 2に向けて実施中のステップに関係しています。 詳細については、Goの公式ブログをご確認ください。

GoLandのコードハイライト機能はあらゆるミスを通知し、コンソールに正しく出力を表示します。

新しいGo 1.13の機能とGoLand 2019.2のそれらへの対応状況については、こちらの記事をお読みください

カスタムPostfix Completionテンプレート

カスタム.forrevテンプレートの使用

GoLand 2019.2では、カスタムPostfix Completionテンプレートを独自に作成できるようになりました。

Settings/Preferences | Editor | General | Postfix Completionに移動して+をクリックし、Goを選択してテンプレートを定義し、テンプレートの適用範囲を選んでください。

カスタムテンプレートの作成に関する詳細は、こちらの記事をご覧ください。

また、新しい定義済みPostfix Completionテンプレートである .aappend があります。 これは、式の前に組み込みのappend関数呼び出しを付け、その結果をこの式に割り当てます。

Change Signatureベースのクイックフィックス

新しいクイックフィックスアクション

Change Signatureリファクタリングをベースにしたクイックフィックスを大量に追加しました。 例えば、Alt+Enterを押すだけで自動的に関数呼び出しのパラメータを推論・追加したり、署名に不足している戻り値パラメータを追加したりできます。

returnでのメソッドの抽出リファクタリング

Extract Method(メソッドの抽出)はreturn文でコードを抽出します

Extract Method(メソッドの抽出)リファクタリングは、return文を使ってコードを処理するようになりました。 コードが常にreturn経由で終了している場合、それはそのままの状態で抽出されます。 しかし、returnのない実行パスが含まれている場合、抽出したメソッドには戻り値として追加のブール型フラグが含まれます。 このフラグは呼び出し側で早くreturnを実行するために使用されます。

コード補完の改善

レシーバのないレシーバメンバーに対するコード補完の提案

コード補完は、レシーバがなくても、レシーバのメンバーに候補を提示するようになりました。 thisまたはselfのようなレシーバ名は推奨されていません。 結果として、それぞれのメソッドは別々のレシーバ名を持つことになります。 このコード補完機能により、この違いを無視することができます。

Go Modulesとdep統合の改良

Goモジュールの統合により自動的に有効化

GoLand 2019.2は、あるプロジェクトがGo Modulesかdepを使用していることを検出すると、Go Modules/dep統合を自動的に有効にします。 これまではGOPATHのインデックス生成を無効化し、Go Modules/dep統合の有効化に関する通知のみを表示していました。 しかし、それでは通知を見逃したり無視したりしやすくなり、プロジェクトの設定が中途半端になってしまうため、不十分であることに気が付きました。

この機能が役に立たない場合は、Settings/Preferences | Go | Go Modules (vgo)でいつでも手動で統合を無効にすることができます。

コードインスペクション

インスペクションは冗長な型変換について警告します

冗長な型変換

Redundant type conversionsというコードインスペクションは、プロジェクトを読みやすく美しくするのに役立ちます。 この機能は、省略可能で冗長な型変換について通知します。

IDEはエディタの非負整数定数について警告します

リテラル内のスライスインデックスの検証

複合リテラル内のスライスインデックスを検証できるようになりました! つまり、インデックスが負でない整数の定数値でなければならないことを、プロジェクトをコンパイルする前にエディタが警告するようになります。

コード編集

コードのハイライト、インスペクション、およびスマート編集アクション

エスケープシーケンスのサポート

文字列リテラルでのエスケープシーケンスのサポートでは次の機能を完全装備しています。

  • コードのハイライト表示
  • 潜在的な問題に関して警告するインスペクション。
  • エスケープシーケンスの位置を識別するスマート編集。
  • より高精度なスペルチェック。

プレースホルダーの書式設定が別の色でハイライト表示されるようになったため、それらを長い文字列で容易に発見できるようになりました。 その色は Settings/Preferences | Editor | Color Scheme | Language Defaults | String | Escape Sequence | Validでカスタマイズできます。 または、Goの場合のみ Settings/Preferences | Editor | Color Scheme | Go | String | Valid escape でカスタマイズできます。

コード補完を介したFill Fields(フィールドを埋める)の使用

Fill Fieldsアクション

構造体のフィールドを埋めやすくなりました。 まず、専用のウィンドウで埋めたいフィールドを選択できるようになりました。 次に、生成された値を編集できるようになりました。 さらに、このアクションをコード補完から使用できるようになりました。

コード補完を介したFill Fields(フィールドを埋める)の使用

選択範囲の拡張を改善

Extend Selectionで、(メソッド本文全体を選択する代わりに)行から空行で区切られたコードブロックまで、セマンティックに正しい方法でコードを拡張できるようになりました。

UIの強化

New | File dialog

New | Fileダイアログの外観を刷新

New | Fileダイアログが、特定のファイルタイプで利用可能なすべての作成オプションのリストを備えたポップアップに生まれ変わりました。 これまでは別のオプションを選ぶにはリストを展開しなければなりませんでしたが、今後は利用可能なすべてのオプションがすぐに表示されます。

プラグインページ

Pluginsページの改善

GoLandで、プラグインの詳細ページを1ページずつ開かなくてもすぐにプラグインの詳細が表示されるようになりました。 歯車アイコンの下に、すべてのダウンロード済みプラグインを一括で無効化または有効化できるよう、さらにオプションを追加しました。 UpdateボタンをInstalledタブのプラグイン名の近くに配置しました。 Updatesタブはもう必要ないため、削除されました。

古いFind(検索)ツールウィンドウと新しいウィンドウの違い

Findツールウィンドウを整理

Findツールウィンドウで、使用頻度の低い一部のアイコンをグループ化し、その他一部のアイコンをまとめて削除しました。

便利な一般的変更

Recently Viewed Files(最近表示したファイル)の範囲を選択

範囲選択オプションの拡充

Recently ChangedRecently Viewed FilesFiles in Previous Search ResultSelectionなどの新しい範囲すべてを範囲選択ツールに追加しました。 Data Sourcesの範囲も選択できるようになります。 これに加えて、Renameリファクタリングの範囲を選択できる機能を追加しました。 Shift+F6を2回押してRenameリファクタリングウィンドウを起動し、名前の変更を実行する範囲を選択してください。

Move Caret to Next Word(キャレットを次の単語に移動)アクションの設定

新しいキャレットの移動コントロールオプション

GoLand 2019.2でMove Caret to Next Wordアクションのデフォルトの挙動が変更されました。IDEがキャレットを現在の単語の終了位置に移動するようになりました。 しかし、この挙動は自由に調整することができます。 Settings/Preferences/Settings | Editor | General に移動し、IDEがキャレットを置く場所を選択してください。単語の終了位置、次の単語の開始位置、あるいはそれら両方の境界に置くこともできます。

プロジェクトビューでのファイルサイズ、変更日時

Projectビューの情報を拡充

Viewメニューの下でIn-place Descriptionsを切り替えると、Projectビューでファイルサイズや日付、修正時刻のプレビューを取得できます。

バージョン管理の改善

プロジェクトビューでのファイルサイズ、変更日時

Local Changesからのコミット

GoLand 2019.2では、Local Changesタブから直接コミットできる手段を提供しています。

コミット作業中にソースコードを閲覧したり、特定ファイルの履歴を表示したり、コミットと同じ場所のファイルの差分を表示したり、IDEの他の機能を使用したりできるようになりました。

この機能を有効にしてダイアログを使用せずにLocal Changesからコミットするには、Settings/Preferences | Version Control | Commit Dialogに移動してCommit from the Local Changes without showing a dialogチェックボックスを選択してください。

コンテキストメニューを使用して.gitignoreにファイルを追加

.gitignoreファイル向けの改善

GoLandはすべての無視ファイルを正しくハイライト表示し、ファイル名とフォルダ名のコード補完機能を提供します。 VCSツールウィンドウのLocal Changesタブからコンテキストメニューを使って.gitignoreに素早くファイルを追加できるようになりました。Unversioned ファイルグループで対象ファイルを右クリックしてAdd to .gitignoreを選択してください。

コンテキストメニューを介したCherry-Pick(チェリーピック)オ​​プションを中止

Abort Mergeオプション

マージ中にBranchesポップアップで使用できるAbort Mergeオプションを追加しました。 これは、作業を中止するためにターミナルに切り替える必要はないという多くの人が待ち望んでいた機能です。

ハッシュカラムを選択

カスタマイズ可能なVCS Logの列

Logタブで瞳のアイコンをクリックして列を決め、コンテキストメニューからShow Columns項目を選択し、表示したい列(AuthorDateまたはHash)を決めてください。

ツール

シェルスクリプトのパス補完

シェルスクリプトのサポート

GoLand 2019.2は単語やパスの補完、クイックドキュメントのプレビュー、さらにテキストベースの名前変更など、シェルスクリプトでの豊富な編集サポートを提供します。

それに加えて、Shellcheckshfmtとの統合を追加しました。

デバッガはView asアクションでintをバイナリとして表示します

Kubernetes向けにKustomizeをサポート

GoLand 2019.2はKubernetesプラグインで、編集支援、キーやパスのコード補完、多数のインスペクションやRenameリファクタリングを提供しています。 また、Kustomizeリソースファイル向けにProjectビューで宣言されたパスから関連するパッケージやファイルに移動できるようにします。

実行中のDockerコンテナのファイルシステムを含むサービスツールウィンドウ

Dockerコンテナのファイルシステム用ブラウザ

Dockerコンテナを実行しているファイルシステムを表示できるようになりました。 このファイルシステムはServicesツールウィンドウのDockerノードのFileタブに表示されます。

ウェブ開発

Propagate to destructuring declaration(分解宣言に伝播)インテンションアクション

JavaScriptとTypeScript用のスマートインテンション

新しいPropagate to destructuring インテンションを使うと、可能な場合に別のデストラクチャリングで追加の変数を置き換えることができます。 デストラクチャリングを完全に削除するには、Replace destructuring with property or index access というインテンションアクションを使用してください。

条件文のブール式に不必要な部分がある場合、IDEが警告を表示し、その単純化方法を提案するようになりました。

リファクタリングプレビューツールウィンドウでグループ化および除外された動的な使用箇所

JavaScrip向けにRenameリファクタリングを改善

JavaScriptまたはTypeScriptファイル内のシンボル名を変更する際、IDEが動的な使用箇所をグループにまとめ、デフォルトでそれらをリファクタリング対象から除外するようになりました。 これにより、リファクタリングの精度が向上し、Refactoring Previewツールウィンドウで正確にリネームすべきものをより細かくコントロールできるようになりました。

コンポーネントのコード補完

Vue.jsのサポート強化

Vue.jsアプリケーションでVuetifyまたはBootstrapVueをお使いですか? これらや他のVueコンポーネントライブラリのコンポーネントとそのプロパティに対するコード補完がより正確になりました。 これらは、当社がIDEでこれらのライブラリを処理するために適用した新しいアプローチにより実現しました。

2019.1(11月21日)

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

GoLandでメモリプロファイラを使用

GoLandは、メモリ、CPU、ミューテックス、ブロックの各プロファイラを統合することで、ツールのサポートを拡大しました。 IDEから直接アプリケーションのプロファイリングを開始してから、専用のツールウィンドウ(View | Tool Windows | Profiler) で解析結果を確認できます。

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

コード内で発生したパフォーマンスの問題をよりよく理解するには、特定のプロファイラタイプごとに利用可能なメトリクスで結果を並べ替えます。Flame Chart(フレームチャート)Call Tree(呼び出しツリー)Method List(メソッドリスト)タブを使用します。あるいは、ソースコードに移動して問題を調べます。

スマートステップイン

Smart Step Into in(スマートステップイン)アクション

新しいデバッガアクションの Smart Step Into (スマートステップイン)を使用すると、チェーン呼び出しとネストされたメソッド呼び出しをより簡単にデバッグできます。 これにより、式中の任意の呼び出しにステップインし、興味がないメソッドを自動的にステップオーバーできます。

例えば、fmt.Printf("My name is %s, I am %d!", me.FullName(), me.Age())のようなコードをデバッグする場合、Age()に限定してステップインできます。

Smart Step Intoを呼び出すには、Shift+F7を押すか、Run(実行)メニューのSmart Step Intoを選択してください。

詳細については、GoLandのデバッグ-2019.1の改善点をご覧ください。

新しいリファクタリング

Extract Interface(インターフェースの抽出)リファクタリングダイアログ

インターフェースの抽出

Extract Interfaceリファクタリングを使用すると、選択した型に基づく新しいインターフェースを素早く作成できます。 このリファクタリングを呼び出すには、Refactor This(これをリファクタリング)を呼び出し、Windows/LinuxではCtrl+Alt+Shift+Tを、macOSでは^Tを押し、ポップアップメニューでExtract Interfaceを選択してください。

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

詳細については、GoLandのリファクタリング-Extract Interfaceをご覧ください。

Rename(名前の変更)リファクタリングは、インターフェース内のメソッド仕様とすべての実装の名前の変更、または現在のメソッドのみの名前変更を提案します。

より有能な「名前の変更」

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

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

Nil値アナライザ

Goではさまざまな方法でゼロ値を有効にできますが、機会が多ければ多いほど、罠に陥りやすくなるものです。

弊社最新のNilness Analyzer(Nil値アナライザ)は、さまざまなケースで変数にnil値があるかどうかを即座に検出し、潜在的なエラーや問題について警告することを目的としたコードインスペクションのセットです。

詳細については、Nilness Analyzerインスペクションをご覧ください。

デバッガの改善

デバッガ内のgoルーチンとスレッド間の切り替え

スレッドの代わりにgoroutineを表示

デバッガの出力で、スレッドの代わりにgoroutineが表示されるようになりました。 これらを切り替えて素早く標準のGoライブラリに移動すれば、コードの実行内容に関する詳細な情報を取得できます。

また、Copy Stack(スタックのコピー)(goroutineリストを右クリック)を使用すると、フレームスタック全体をクリップボードにコピーできます。

デバッガはView asアクションでintをバイナリとして表示します

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

デバッガビューでint変数の表示方法を2進数、10進数、16進数のいずれかで選択できるようになりました。 変数を右クリックし、View as(表示形式) の下にある適切なオプションまたは優先オプションを選択してください。

マウスジェスチャーとしてRun to Cursor(カーソル位置まで実行)を使用したデバッグ

マウスジェスチャーによるRun to Cursor

デバッグ中に行番号をクリックすることで、Run to Cursorアクションを利用できるようになりました。 行の上にカーソルを合わせると、その行がハイライト表示されます。 行番号をクリックするとカーソル位置まで実行されます。

macOSでのWindowsミニダンプのデバッグ

ミニダンプのサポート

コアダンプの調査に加えて、IDEで直接Windowsのミニダンプを開いて解析できるようになりました。 コアダンプの場合と同様に、Run | Open Core Dump(実行 | コアダンプを開く)を選択するだけで簡単に開けます。

詳細については、GoLandのデバッグ-Windowsミニダンプをご参照ください。

新しいsudoチェックボックス付きのRun/Debug configuration (実行/デバッグ設定)ウィンドウ

sudoを使ってGo構成を実行

Run/Debug Configurations(実行/デバッグ構成)がsudoで実行できるようになりました。 これにより、別のユーザーとして実行する特権が必要なアプリケーションをデバッグできるようになりました。

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

新しいダークパープルテーマのGoLand

最新のUIテーマをご覧ください! ダークパープルシアンライト、およびグレーのテーマをプラグイン経由でご利用いただけるようになりました。

紫色が足りませんか? 退屈すぎますか? 派手すぎますか? もう問題ありません! 2019.1から、IntelliJ-IDEAベースのすべてのIDEはあらゆるUI要素の色を完全にカスタマイズできるようになりました。 事実上、何の色でも変えられます! 

今回、このカスタマイズを非常に簡単に行えるようにしました。 こちらのチュートリアルで、独自のテーマを作成し共有する方法をご確認ください。

IDEから直接Go SDKをインストール

Go SDKの必要なバージョンをダウンロードしてインストールするための新しいオプションを含むGoLandのようこそ画面

GoLandで新規プロジェクトを作成する際に、ベータ版とRC版を含め、SDKの必要なバージョンをダウンロードしてインストールするオプションが追加されました。 もうIDEを離れたり、あちこちのウェブを探し回る必要はありません。

選択されたSDKバージョンがインストールされると、GoLandはEvent Log(イベントログ)ウィンドウに通知を表示します。

Go Modulesのアップデート

Go Modules設定のVendoring modeチェックボックス

ベンダリングモード

Go Modulesのプロジェクトテンプレートに新たにVendoring mode(ベンダリングモード)のチェックボックスが追加されました。このモードを有効にすると、外部の依存物やインターネット接続なしで、ベンダーフォルダからライブラリを使用できます。 同様のチェックボックスは、Preferences | Go | Go Modules (vgo)の設定からも利用できます。

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

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

GoLandは、入力時にモジュールキャッシュ内のすべてのモジュールに対してコード補完候補を提供します。 つまり、あるモジュールがプロジェクトにインポートされたことも、使用されたこともない場合でも、GoLandは該当のモジュールを認識いたします。

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

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

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

宣言を希望通りに再フォーマットするのに役立つインテンションアクション一式を追加しました。具体的には、宣言に丸括弧を追加、宣言から丸括弧を削除、宣言をマージ、宣言を(カンマで)2つのグループに分割するなどの処理を実行できます。

ご利用可能なアクションとそれらの詳細な説明の完全なリストは、Settings/Preferences | Editor | IntentionsのGoのDeclarationセクションをご覧ください。

Exportインテンションアクション

Exportインテンションアクション

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

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

便利な一般的変更

設定でのSublime Textキーマップの選択

Sublime Textキーマップ

新しい事前構成済みのSublime Textキーマップは、Preferences | Settings | Keymapでご利用いただけます。

なお、事前設定されたVS Codeキーマップも、こちらのプラグインからご利用いただけるようになりました。

Recent Locations(最近の場所)ポップアップ

Recent Locationsポップアップ

Recent Locationsポップアップ(Cmd-Shift-E / Ctrl+Shift+E)は、プロジェクト内を移動するための新しい方法です。 このポップアップには、最近訪れた/変更したコードの位置がそれらのコード位置前後の数行を含むコードスニペット形式と共にリストで表示されます。 入力を開始して結果を絞り込み、一致するコード片にジャンプできます。

ウェブ開発用の新しいプロジェクトテンプレートを含むようこそ画面

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

ウェブ開発用のプロジェクトテンプレート(React AppReact NativeHTML 5 BoilerplateFoundationなど)を「ようこそ」画面からご利用いただけます。

設定でのJSONに「コードスタイル」設定をエクスポートオプション

「Code Style」設定をJSONにエクスポート

コードスタイル設定をJSONにエクスポートできるようにしました。 これは、すでにご利用いただけるXMLへのエクスポートオプションの追加機能であり、Preferences /Settings | Editor | Code Styleでご利用いただけます。

バージョン管理の改善

部分Gitの 'Uncheck all'(すべてのチェックを外す)チェックボックス

Partial Gitの「Uncheck all(すべてのチェックを外す)」チェックボックス

部分的なGitコミット用の新しいUncheck all(すべてのチェックを外す)チェックボックス(git add -p)を使用すると、一度にすべてのコードチャンクのチェックを外してから、コミットしたいもの選択できます。

「Fixup」と「Squash Into」アクション

「Fixup」および「Squash Into」アクション

VCSのLogタブには、FixupアクションとSquash Intoアクションが実装されました。これらは正しいfixup! とsquash! メッセージを使用して、コミットを作成するためのものです。

また、Logタブのコンテキストメニューを使用して、コミットから選択したファイルのみを選び出せるようになりました。

設定での送受信コミット用の新しいチェックボックス

受信コミットと送信コミットの表示

Preferences/Settings | Version Control | Gitに移動し、Mark Branches that have incoming/outgoing commits in the Branches(ブランチで送受信コミットのあるブランチをマークする)ポップアップを選択すると、IDEが送受信コミットが個々のブランチで利用可能かどうかを示します。

注釈内の著者のイニシャル

注釈内の著者のイニシャル

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

その他の変更

Multiple defaults in switch コードインスペクション
  • Multiple defaults in switch(switchの複数のdefault)コードインスペクションを使用すると、switch文内の冗長なdefaultケースが警告され、重複したdefaultに素早く移動できます。
  • Duplicate names(重複名)コードインスペクションは、ドットインポートで重複が発生した場合に通知するようになりました。
  • Projectビューで、無視対象のファイルとフォルダにオリーブグリーンを使用し、他のファイルと区別できるようにしました。 Preferences/Settings | Version Control | File Status Colorで、これらの色を変更できます。
  • JetBrains製プラグインの設定は、Preferences/Settingsダイアログで検索できます。
  • ファイルをドラッグしてBlank Diff(空白差分)ウィンドウにテキストをコピー&ペーストできます。 または、ファイルナビゲーションからでも同じ操作を実行できます。

ウェブ開発

JavaScriptデストラクチャリング(分割代入)の使用

JavaScriptとTypeScriptのデストラクチャリング

デストラクチャリングを使用すると、非常に簡潔な構文を使用して、配列とオブジェクトの値を複数の変数に展開して代入できます。

GoLand 2019.1では、新しいリファクタリング、インテンションアクション、およびクイックフィックス一式を提供し、コード内のオブジェクトや配列を簡単にデストラクチャリングできるようにしています。

Promiseを持つ関数をasync/awaitに変換

Promiseをasync/awaitに変換

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

テストで失敗した行のハイライト

テストで失敗した行のハイライト

GoLandでは、失敗したテストに関する問題が発生した場所を素早く特定できます。 IDEはエディタ内の関連コードをハイライト表示します。また、その上にカーソルを合わせると、テストランナーからのエラーメッセージが表示されます。

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

ドキュメントの更新とブラウザの互換性

最新のCSSドキュメント

CSSプロパティ、HTMLタグと属性のドキュメント(F1)には、MDNのブラウザ対応状況に関する実際の説明と情報が示されます。

また、Preferences/Settings | Editor | Inspections – CSSの "Browser compatibility" 経由で新しい互換性インスペクションを使用できるようになりました。 ターゲットにしたいブラウザの最小バージョンを選択するだけです。

データベースの更新

新しくサポートされたデータベース
  • Greenplum、Vertica、およびApache Hiveデータベースがサポートされています。
  • Remember password(パスワードを保存)機能に、Forever(永久)とFor session(セッション中)の2つのパスワード保存オプションが追加されました。
  • 接続ダイアログを完全に作り直しました。
  • 新しいキープアライブと自動切断オプション。
  • データエディタのフィルタはクリップボードの内容を候補として表示します。
2018.3(11月21日)

新しいChange Signatureリファクタリング

Change Signature(署名の変更)リファクタリングの活用

新しいChange Signature(署名の変更)リファクタリングを使用すると、数回クリックするだけで、さまざまな方法で関数、メソッド、またはメソッド仕様の署名を変更できます!

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

詳細については、Change Signature(署名の変更)を効率的に使用する方法についての詳細なブログ記事をご覧ください。

リファクタリングの改善

Problems Detected(検出された問題)ダイアログ

Renameリファクタリング

Rename(名前の変更)リファクタリングを使うと、名前の変更によって引き起こされる可能性がある潜在的な競合に関する分析データが得られます。

インラインリファクタリングは適用後コードをハイライト

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

GoLandがInline(インライン化)リファクタリングの適用後にインライン化されたコードをハイライト表示するようになったため、実際の結果を把握できるようになりました。

GAEアプリのデバッグ

Google App Engineアプリケーションのデバッグ

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

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

詳しくは、Google App Engineアプリケーションのデバッグをご覧ください。

コアダンプのサポート

デバッガペインでコアダンプを調査

標準的なデバッグツールでは、コードの何が問題なのかを把握できない場合があります。 そんな場合は、コアダンプの出番です!

GoLandでは、Run | Open Core Dump(実行 | コアダンプを開く)を選択するだけで、サードパーティ製のツールを使用することなく、より簡単にコアダンプを調査することができます。

クラッシュダンプを自動的に作成するには、Run設定構成のEnvironmentフィールドに、GOTRACEBACK=crashと入力するだけです。

コアダンプはデフォルトでLinuxマシンでのみご利用いただけます。 ただし、どのmacOS、Windows、Linuxでもメモリダンプを解析することはできます。

Testifyのサポート

エディタからスイートを実行

スイートとメソッドを通常のテスト関数として、エディタから直接実行できるようになりました。

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

関連する変更として、Empty test file(テストファイルを空にする)Test for function(関数をテスト)Tests for file(ファイルをテスト)、およびTests for package(パッケージをテスト)Generateポップアップメニューから利用できるようになりました。

コードインスペクション

エディタでのUnhandled Error(未処理エラー)警告

未処理エラー

Unhandled Error(未処理エラー)コードインスペクションは、エラーがチェックされていない場合に必ずエラーを返す関数やメソッドについて警告します。

エディタでのUnreachable Code(到達不能コード)警告

到達不能コード

Unreachable Code(到達不能コード)インスペクションは、絶対に実行されないコードの部分を検出します。

フォーマット文字列引数の追加

Add format string(フォーマット文字列を追加)はポップアップを介してプレースホルダーを生成します。

Add format string argument(フォーマット文字列引数の追加)インテンションアクションは、ポップアップから入力した式のプ​​レースホルダーを生成します。 これは、プレースホルダをフォーマット文字列に挿入し、式をプレースホルダの引数として渡します。

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

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

Generate Constructor(コンストラクタの生成)により関数が追加されます

コンストラクタの生成

Generate Constructor(コンストラクタの生成)インテンションアクションは、構造体型の値を作成するための関数を生成します。

Generate Constructor だけでなく、Generate getter/setter(getter/setterの生成)および Generate getter and setter(getterとsetterの生成)も、Generate ポップアップメニューから利用できます。

Generate getter and setter(getterとsetterの生成)でテンプレートを追加

getterとsetterの生成

Generate getter/setter(getter/setterの生成)Generate getter and setter(getterとsetterの生成)インテンションはボイラープレートコードを作成するようになり、ポインタ/非ポインタのレシーブ型とその名前をカスタマイズできるようになりました。

コード補完

コード補完は、型の値を最初の引数として受け取る一連の関数を提供します。

GoLand 2018.3では、method-like completion for functions(関数をメソッドのように補完)が追加されています。 T型の値tがある場合、t.Fooと書くと、T型の値を最初の引数として受け取る関数を調べられます。

基本補完Ctrl + Space + Space)を2回呼び出すと、利用可能な補完オプションがすべて表示されます。

コードエディタ

Complete Current Statement(現在のステートメントの補完)で末尾のカンマを挿入

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

現在のステートメントの補完後、必要な末尾のカンマが自動的にすべての複合リテラル(struct、sliceなど)に挿入され、キャレットが次のステートメントの位置に置かれます。 macOSの場合はCmd + Shift + Enterを、Windows/Linuxの場合はCtrl + Shift + Enter を押してください。

シャドウ化されたメソッドとシャドウ化しているメソッド間のナビゲーション

シャドウ化されたメソッド/シャドウ化しているメソッドを見つける

新しいガターアイコンを使用すると、埋め込み型のシャドウ化された/シャドウ化しているメソッドをより簡単に見つけられます。 また、ワンクリックで、あるいはCmd+U(macOSの場合)、Ctrl+U(Windows/Linuxの場合)を押して、前後に移動することもできます。

フォーマットアクションから特定のファイルセットを除外

特定ファイルセットをフォーマット対象から除外

GoLand 2018.3以降のバージョンでは、Reformat(コードの再フォーマット)Optimize imports(インポートの最適化)Rearrange(再配置)のコードアクションから特定のファイルセットを除外できます。

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

html/templateでのコード補完とRename(名前の変更)リファクタリング

Goテンプレート(html/template)を使って作業する際には、コード補完、使用箇所の検索、Renameリファクタリング、および改善されたコードフォーマットをご利用いただけます。

デバッガの更新

Evaluate Expression(式の評価)は、無効な配列インデックスについて警告し、コード補完をご提供します。

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

Mozilla rrのサポート

Mozilla rrを使ったデバッグ

Linux上のデバッガでMozilla rrを新たにサポートしました。 これは、失敗が発生するまでプログラムの実行を記録するものです。そのため、失敗した実行をデバッガの下で必要な回数だけ再生できます。

Mozilla rrをインストール後、ワンクリックするだけですべてが動作します。 ブレークポイントを設定し、エディタのRun/DebugガターアイコンからRecord and Debug(記録とデバッグ)オプションを選択してください。 このアクションは、専用のRewind(巻き戻し)ボタンが付いたRun(実行)ウィンドウのDebugger(デバッガ)タブを開きます。これにより、前のブレークポイントに達するまでプログラムを逆方向に実行できます。

ダイアグラムのサポート

Goモジュール依存関係ダイアグラム

ダイアグラムを使用すると、次の内容を視覚化して調査することができます。

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

詳細については、こちらのダイアグラムのサポートに関するブログ記事をご覧ください。

検索とナビゲーション

Search Everywhere(どこでも検索)ポップアップに検索結果が表示されます

Search Everywhereポップアップの改善

Search Everywhere(どこでも検索)ポップアップ (Shiftを2回) のUIが刷新され、非同期アプローチによって動作が高速化されました。

また、 そこからGo to type(型に移動)Go to file(ファイルに移動)Go to symbol(シンボルに移動)Find(検索)に素早くアクセスできるようになりました。 それらを切り換えるには TAB キーを使用してください。

Find in Path(パスで見つける)ダイアログで複数行のコードスニペットを検索

Find in PathおよびReplace in Pathダイアログ

複数行のコードスニペットについては、Find in Path(パスを検索)ダイアログと Replace in Path(パスで置換)ダイアログのほうが対応が進んでいます。

複数行TODOコメント

Goプロジェクトの複数行TODO

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

GitHub プルリクエスト

GitHub Pull Requestsはstate:closeおよびRP説明により検索結果を表示します

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

ツール

Dockerfiles実行設定のBuild optionsフィールドでの--pull

Dockerプラグイン

ビルド部分にCLIオプションを使用できるようになりました。Dockerfiles 実行構成で新しいBuild options(ビルドオプション)フィールドが見つかります。 現在、次のCLIオプションがサポートされています: cache-fromcpu-sharescpuset-cpusforce-rmlabel、memorymemory-swapshm-sizeno-cachepullquietrm

Helmテンプレートのコード補完

Kubernetesプラグインのアップデート

Helmリソーステンプレートファイルを使用して作業する際には、コード補完、Rename(名前の変更)リファクタリング、コードインスペクション、およびクイックフィックスが利用可能です。

詳細については、このブログ記事をお読みください

アクセシビリティ

ハイコントラストカラースキーム

当社は誰もが私たちのIDEにアクセスできるように努めており、このアップデートは、その方向に沿って大きな一歩を踏み出すものです。

新しいハイコントラストテーマを追加いたしました。これは、 Settings | Appearance & Behavior の下にあるテーマオプションからドロップダウンリストを使用するか、単にCtrl +  `を押すとアクセスできます。

また、IDEではスクリーンリーダーのサポートが強化されています。 GoLandの行番号、VCSの注釈、ブレークポイント、その他のガターアイコンをスクリーンリーダーで読み上げられるようになりました。

JavaScriptとTypeScript

JavaScriptの自動インポート

JavaScriptの自動インポート

GoLandは、プロジェクトで定義されたシンボルだけでなく、プロジェクトが依存しているファイルのシンボルにも自動的にimport文を追加できるようになりました。

JavaScriptのパラメータヒント

JavaScriptのパラメータヒント

ご存じかもしれませんが、Go、TypeScript、およびSQLではパラメータヒントを提供しています。今回、JavaScriptにも対応いたしました。

インスペクションはそのメソッドに、nullまたは未定義の場合に通知します

「null」と「undefined」チェックの改善

Object is null or undefined(オブジェクトがnullまたは未定義)というインスペクションは、TypeErrorが発生したときに通知されます。これは、あるメソッドがundefinedまたはnullの値で呼び出された、そのような値が関数に渡された、あるいはそのプロパティが使用された事が原因で発生します。

package.jsonのコード補完

package.jsonでの補完

GoLandは、最新バージョンだけでなく、旧バージョンに対しても、package.jsonの依存関係について提案します。

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

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

DataGripチームの当社のすばらしい同僚たちのおかげで、GoLandがCassandraデータベースをサポートできるようになりました。

その他の変更

プラグインページの改良
  • Attachアクションは、Open Project(プロジェクトを開く) ポップアップで利用できます。 これによりディレクトリを、すでに開いているプロジェクトにアタッチできます。 File | Openをクリックし、アタッチしたいプロジェクトを選択します。
  • ファイルとプロジェクトを「ようこそ」画面にドラッグして開きます。
  • アクティビティモニターには、さまざまなサブシステムとプラグインが消費しているCPUの量が表示されます(Help | Activity Monitor)。
  • Settings | PluginsPluginsページを、すべての機能とUIを含め、完全に作り直しました。
  • インデックス作成が大幅に高速化されました。