GoLand 2018.1は先週リリースされました! このリリースは私たちのチームにとって特別なものです-これは、4か月前のリリース以来のIDEの最初のメジャーアップデートです。 私たちのチームが誇りに思っている編集のヒントとコードナビゲーションは、さらにインテリジェントで便利になりました。 多くのツールとの統合が思い浮かびました。 この更新では、部分的なGitコミット、 Depとの統合、ローカルGoプロセスのデバッグ機能、 Docker Composeのサポートの改善、 Kubernetesファイルの編集に関するヒントの追加などがサポートされています。
![](https://habrastorage.org/getpro/habr/post_images/9c6/fcf/fbd/9c6fcffbdc430ad287e13c07b0445d37.png)
以下は、リリースに当たったものについての詳細です。
リファクタリング
この更新では、 Moveリファクタリングを追加しました。 これを使用すると、トップレベルのキャラクターを同じパッケージ内の別のファイルにすばやく移動できます。
![](https://habrastorage.org/getpro/habr/post_images/8af/fb6/8c4/8affb68c449cfba8392cf1fc03f78509.gif)
変数の抽出で使用される名前提案アルゴリズムは、コンテキストを考慮して名前の衝突を回避するようになりました。
グローバル文字の名前変更のリファクタリングがはるかに高速になりました(使用方法の検索など )。
自動補完
賛辞によって促されるブール式は、「!」を押すことで同時否定で選択できるようになりました。
![](https://habrastorage.org/getpro/habr/post_images/c89/294/f5c/c89294f5c69d84696bd7fa4d7e58ba4e.gif)
カーソルが関数内のreturnステートメントの右側にある場合、オートコンプリートは、関数によって返される値のタイプに従ってデフォルト値を提供します。
![](https://habrastorage.org/getpro/habr/post_images/e78/20f/495/e7820f4958c0bade6a6ceb68046bc023.png)
新しいバージョンでは、2つのPostfix Completionテンプレートが追加されます。
•新しい「.if」テンプレートは、ブール式をifステートメントに変換します。
![](https://habrastorage.org/getpro/habr/post_images/f3d/595/53f/f3d59553fd4b8417ba1d9c83ebabe945.gif)
•新しい「.p」テンプレートは、式の先頭にポインター演算子を挿入します。
意図的なアクション
この更新では、バイナリ式のフリップ、 再帰的に 否定 、ブール式の否定など、いくつかの新しい意図アクションが導入されました。
![](https://habrastorage.org/getpro/habr/post_images/f4b/cc1/d20/f4bcc1d20fb80c8a30289b9d7d89c892.gif)
Negateに加えて、 Invertは次の場合の表現にも使用できます。
![](https://habrastorage.org/getpro/habr/post_images/f81/b19/e1a/f81b19e1a0a2360ac315e88398483e97.gif)
その他の補助ツール
作業に役立つその他の改善点を次に示します。
- 自動インポートメカニズムはよりスマートになり、結果のコードがエラーなしでコンパイルされた場合にのみ機能するようになりました。
- カーソルがチェーンからの呼び出しまたは文字列リテラル上にある場合、 Enterキーを押すと、IDEは受信したコードを自動的にフォーマットします。
- エディターは、エディターでの作業中に未使用のパッケージのインポートステートメントを削除できるようになりました。 このパラメータは、 インポートの最適化と呼ばれます。 [設定]で有効にできます| 行く | 輸入品
- クイックドキュメントポップアップでは、サンプル関数が考慮され、それらがドキュメントに含まれるようになりました。 サンプル関数の名前をクリックすると、IDEはこの関数のコードでスクラッチファイルを開きます。
![](https://habrastorage.org/getpro/habr/post_images/69e/c25/47b/69ec2547b497a419e46d74f69980b2ee.png)
スクラッチファイル
既に実験したこれらの同じスクラッチファイルは、完全なIDEサポートを備えたGo Playgroundスタイルの編集セッションを提供します。 新しいバージョンでは、それらも改善されました。 まず、選択したGoコードから作成されたスクラッチファイルに 、必要なすべてのインポート式が自動的に追加されます。 次に、このようなファイルは、 [設定]で構成できるテンプレートから作成されるようになりました| エディター | ファイルとコードのテンプレート 。
デバッガー
新しいバージョンでは、デバッガーはローカルで実行されるプロセスにアタッチできます。 これを行うには、メインメニューで[ 実行 ]をクリックし、[ ローカルプロセスにアタッチ ]を選択します。
![](https://habrastorage.org/getpro/habr/post_images/f06/820/b49/f06820b495a91cbf3ba94415162d7551.png)
IDEは、デバッグ用のプロセスの選択を提案します。
![](https://habrastorage.org/getpro/habr/post_images/324/7f5/5f3/3247f55f369e32d5e6f7c9a0f7518fbf.png)
プロセスを選択すると、 デバッガーツールウィンドウが開き、ブレークポイントが機能し始めます。
出発
もう1つの重要なニュースは、最新の更新プログラムが依存関係管理用のdepツールのサポートを追加したことです。
既存のdepプロジェクトがインポートされると、IDEはdepを検出し、それとの統合を有効にするよう要求します。
depプロジェクトで作業しているときに、未解決のimportステートメントでファイルを開くと、IDEでquick-fixが提供され、 dep ensureが実行されます。
![](https://habrastorage.org/getpro/habr/post_images/df5/063/94f/df506394fc897242cff0132a17b63000.png)
Go 1.10をサポート
コードを操作するためのすべてのIDEツールが更新され、 Go 1.10のすべての機能を完全にサポートしています。
コードスタイル
コードスタイルパラメータの中には、インポート用に逆引用符を使用する 、単一インポート用に括弧を 追加する、コメントに先行スペースを追加する 、いくつかの新しいパラメータが登場しました 。
Vcs
最新のアップデートのもう1つの大きな革新は、部分的なGitコミットのサポートです。
これで、コミットに含めるファイルの変更を選択できます。
![](https://habrastorage.org/getpro/habr/post_images/5cd/eb9/75f/5cdeb975f9b85ca1d668c49cd158439a.png)
ファイル内のこれらの個々の変更は、異なるチェンジセットに分散できます。 これを行うには、エディターの左ペインにある変更マーカーをクリックします。
![](https://habrastorage.org/getpro/habr/post_images/c38/305/9f5/c383059f52ddcd1370b050840758986f.png)
Gitブランチのポップアップウィンドウに、 リベースの新しいアクションがあります: リベースの中止、リベースの 継続 、 コミットのスキップ 。
最後に、 VCSツールウィンドウでは、変更をリポジトリにグループ化できます。
ユーザーインターフェース
正規表現が使用されている場合でも、[パスで置換]ポップアップウィンドウでプレビューできるようになりました。
プロジェクトツールウィンドウのフォルダはすべて、ターミナルウィンドウで簡単に開くことができます。 これを行うには、ターミナルで開くアクションを使用します。
さらに、IDEは、複数のHiDPIモニターを使用している場合、分数スケール係数を正しく処理するようになりました。
性能
新しいバージョンでは、たとえばGOPATH全体にインデックスを付けないように、プロジェクトのインデックス領域を制限することにより、IDEのパフォーマンスを向上させることができます。
JavaScript / TypeScript
WebStormチームの業績により、 TypeScriptやJavaScriptなどのフロントエンドテクノロジーのサポートが大幅に改善されました。
最も重要な変更点は次のとおりです。
- TypeScript 2.7のサポート
- 「未解決」プロパティのタイプガードを備えた新しいクイック修正 サラウンド 。
- クラスの名前変更リファクタリングは、ファイルの名前変更も提案します。 このリファクタリングは、クラスのIntentionアクションを通じて呼び出すことができます。
- Prettierパッケージがインストールされている場合、 Prettierで再 フォーマットアクションがIDEに表示されます。
- 新しいリファクタリングVueコンポーネントの抽出 。
- パッケージマネージャーを使用する方が便利になりました。 これで、 npmまたはYarnを明示的に選択して、依存関係をインストールし、スクリプトを実行できます。
- すでにWebpack 4に切り替えている場合、IDEはwebpack構成ファイル内のパラメーター名のヒントを提供します。
- Npmスクリプトは、テストのように左パネルのアイコンを使用してエディターから直接実行できるようになりました。
その他
最後に、 Kubernetesの新しいプラグインについて言及するのを忘れることはできません。
![](https://habrastorage.org/getpro/habr/post_images/556/335/f18/556335f184e9cbd1555318ee68bae79a.gif)
プラグインの操作の詳細については、 IntelliJ IDEAブログ投稿を参照してください。
ここに長いリストがあります。 これらのいずれかが役立つことを願っています。 そうでない場合は、不足しているものまたは追加したいものをお知らせください。
これらの変更やその他の変更の詳細については、 新機能ページをご覧ください。
アップデートは、 ダウンロードページまたはToolboxアプリからダウンロードできます。
いつものように、私たちはあなたのフィードバックを歓迎し、質問に答えようとします。
素晴らしい開発を!