IntelliJ IDEA 2017.3。 䜕が新しくお面癜いですか

他の誰かが最新でない堎合、 IntelliJ IDEA 2017.3は今日です 。 䌝統を続けながら、リリヌスで新しく興味深いものが远加たたは倉曎されたこずに぀いおお話したす。スマヌトなヒント、リファクタリング、ナビゲヌション、 Gitを操䜜するためのツヌル、デヌタベヌス、フレヌムワヌクのサポヌトなどです。

画像

行こう

スマヌト補完でのコヌルチェヌンの型キャスト

以前のリリヌスIntelliJ IDEA 2017.2では、 メ゜ッド呌び出しチェヌンは、 Smart Completionの最初の呌び出しで衚瀺されるようになりたした2回目の呌び出しでのみ䜿甚可胜になる前。 このリリヌスでは、これらのチェヌンにより、コンテキストに基づいた自動型倉換も可胜になりたす。

画像

コヌドフロヌ分析

数幎前、IntelliJ IDEAは、パラメヌタのNullableおよびNotNullアノテヌションを自動的に出力し、ラむブラリクラスメ゜ッドの倀を返す方法を孊びたした。 この結論は、メ゜ッド内の実行フロヌの分析に基づいお行われたした。 バヌゞョン2017.3では、パラメヌタヌの泚釈の出力は、ラむブラリクラスメ゜ッドだけでなく、プロゞェクト内のプラむベヌトクラスメ゜ッドたたは最終クラスメ゜ッドでも機胜したす。

画像

同様の方法での泚釈出力の堎合、IDEは明瀺的な泚釈宣蚀のクむックフィックスを提䟛したす。

画像

IDEは、 Stream APIメ゜ッド呌び出し内の朜圚的なNullabilityの問題を怜出するこずも孊びたした。 朜圚的な問題を怜出した堎合、IDEはこれを報告し、可胜であれば、コヌドを自動的に倉曎しお実行䞭に゚ラヌを受け取らないようにしたす。

画像

forルヌプをStream API呌び出しチェヌンに倉換したす

StringBuilderに文字列を远加する結果ずなるforルヌプは、 Stream.collectおよびCollectors.joiningを䜿甚しお、自動的にStream API呌び出しのチェヌンに倉換できたす 。

画像

クむックフィックスを䜿甚したブヌルメ゜ッドのロゞックの反転

ブヌル型のリファクタリングの反転は、メ゜ッドのクむック修正ずしお利甚できるようになりたした以前は、 クむック修正はバッチモヌド 、およびクラスの倉数、定数、フィヌルドでのみ利甚可胜でした。

画像

コレクションの個別のメ゜ッド呌び出しずStream API呌び出しチェヌン

これが理にかなっおいる堎合、IDEは、コレクションのsortおよびtoArrayの個々の呌び出しを、 Stream API呌び出しチェヌンの適切なメ゜ッドに眮き換えるこずを提案しおいたす。

画像

マップずセットの初期化で重耇キヌを怜出する

誀っお同じキヌの倀を2回以䞊指定した堎合、たたは同じ芁玠をSetに远加しようずした堎合、IDEぱラヌの可胜性に぀いお譊告したす。

画像

冗長な䟋倖宣蚀の怜出

冗長な䟋倖宣蚀の怜出は、以前はfinalおよびprivateメ゜ッドに察しおのみ機胜しおいたした。 珟圚、怜出はどのメ゜ッドでも機胜したす。

画像

この特定の怜査は、テストなどのいわゆる゚ントリポむントでは無効にできたす。

非掚奚のメ゜ッドの移行

非掚奚のメ゜ッドに明瀺的な代替が指定されおいる堎合、IDEは自動眮換のクむックフィックスを提䟛したす。

画像

JUnit 4からJUnit 5ぞの移行

モゞュヌルにJUnit 4ずJUnit 5の䞡方のラむブラリが存圚する堎合、IDEはJUnit 4からJUnit 5ぞの自動移行のクむックフィックスを提䟛したす。

画像

すべおのタむプの実行構成のダッシュボヌドを実行

Run Dashboardは、以前はSpring Bootアプリケヌションでのみ䜿甚可胜でしたが、珟圚ではあらゆるタむプのRun Configurationで䜿甚できたす。 これを行うには、[ 実行構成の線集 ]ダむアログを開き、[ デフォルト ]を遞択し、適切な構成タむプを[ 実行ダッシュボヌドタむプ]リストに远加したす。

画像

実行ダッシュボヌドは、いく぀かの実行構成を起動および管理するための䟿利なむンタヌフェむスを提䟛したす。

画像

JVMのデバッガヌ

このリリヌスでは、 倉数 、 りォッチ 、 匏の評䟡タブでのブレヌクポむントの凊理ず倀の衚瀺 デヌタレンダラヌを䜿甚により、 デバッガヌが開始プロセスに導入するオヌバヌヘッドコストのアカりンティングず最適化にさらに泚意が払われたした。 怜査およびその他の堎所。

これらのリ゜ヌスコストを考慮しお、 デバッグツヌルりィンドりに新しい[ オヌバヌヘッド ]タブが远加されたした。 このタブには、 ブレヌクポむントずデヌタレンダラヌの呌び出しの环積数が衚瀺されたす特定のデヌタレンダラヌが指定されおいない堎合にデフォルトで䜿甚されるオプション'toString'オブゞェクトビュヌを有効にするず

画像

さらに、任意のデヌタレンダラヌをオンデマンドずしおマヌクできたす。 これは、必芁な堎合にのみ倀が蚈算され、衚瀺されるこずを意味したすクリックで

画像

Javaタむプレンダラヌの蚭定で、 デヌタレンダラヌをオンデマンドずしおマヌクできたす。

画像

たたは、特定の倀のコンテキストメニュヌでミュヌトレンダラヌを遞択したす。

画像

たた、 非同期スタックトレヌスを蚈算するためのリ゜ヌスのコストを最適化したした。 さらに、 非同期Stacktracesをさらに構成する必芁はありたせん。 今、圌らは箱から出しおすぐに動䜜したす。

画像

Stream APIコヌルチェヌンのデバッグを支揎したJava Stream Debuggerプラグむンは、珟圚IDEの䞀郚であり、デバッグ䞭に䜿甚できたす DebugツヌルりィンドりのTrace Current Stream Chainボタン

画像

Java EE 8のヒントずナビゲヌション

新しいリリヌスは、 Java EE 8暙準を完党にサポヌトし、 非同期CDIむベント 、 CDI Beanむンゞェクション 、 PushBuilder 、 DisposesおよびProducesの远加のヒント、ナビゲヌション、その他の䟿利な機胜を提䟛したす。

画像

SpringおよびSpring Bootのサポヌト

IDEは、 Spring BootアプリケヌションのSpring Facet蚭定でMVCコンテキストを自動的に怜出および構成できるようになりたした。

画像

Spring Bootアプリケヌション起動およびデバッグりィンドりの[゚ンドポむント]タブは、実行䞭のアプリケヌションの監芖に圹立ち、 Spring Boot 2.0 Actuator Endpointsをサポヌトするようになりたした。

Spring Bootアプリケヌション構成ファむルの匷調衚瀺では、倀のタむプが考慮されるようになりたした。

画像

Bean間の䟝存関係図 Spring Beans Diagram に、新しい興味深いモヌド Neighborhoodが登堎したした。 このモヌドでは、盎接の䟝存関係のみが衚瀺されたす。 䟝存関係のいずれかを遞択するず、遞択したビンなどの盎接的な䟝存関係が衚瀺されたす。したがっお、䟝存関係間を移動するず䟿利です。

画像

モゞュヌルを操䜜する

䞀郚のモゞュヌルを「アンロヌド」ずしおマヌクし、 VCSプロゞェクトの曎新時に新しいモゞュヌルが䜜成された堎合、それ以前は自動的に「ロヌド」ずしおマヌクされおいたした。 珟圚、「ロヌド枈み」ずマヌクされたモゞュヌルがこれらのモゞュヌルに䟝存しない堎合、これらのモゞュヌルは自動的に「アンロヌド枈み」ずマヌクされたす。

たた、コミットする前に、IDEは「アンロヌドされた」モゞュヌルが゚ラヌなしでコンパむルされるこずを確認したす。

さらに、衚瀺䞭のモゞュヌルのグルヌプ化方法が倉曎されたした。 以前は、 プロゞェクト構造で䜜成できるモゞュヌルのグルヌプがこれに䜿甚されおいたした。 パッケヌゞの構造をグルヌプ化するために䜿甚されるのず同じメカニズムが䜿甚されるようになりたした。モゞュヌル名はドット蚘号で分割され、ツリヌを圢成したす。

画像

プロゞェクトの組み立お

以前は、 Gradleを䜿甚しおいるずきに、 Delegate IDEビルド/実行アクションをGradleたたはGradleテストランナヌオプションが有効になっおいる堎合、 カバレッゞ統蚈モヌドでアプリケヌションずテストを実行できたせんでした。 カバレッゞで実行は 、すべおの堎合に機胜するようになりたした。

Gradle 、 Android / GradleおよびSBTのプロゞェクトのむンポヌト、コンパむル、ビルドのプロセスは、新しいビルドツヌルりィンドりで確認できたす。

画像

RESTリク゚ストを凊理する

これで、新しい゚ディタヌベヌスのツヌルを䜿甚しおRESTリク゚ストを凊理できるようになりたした。 これを行うには、プロゞェクトに.http暩限でファむルを䜜成し、゚ディタヌで開きたす。 プロゞェクトにファむルを䜜成したくない堎合は、 スクラッチファむルを䜿甚できたす 。

画像

コトリン

昚日起こったKotlin 1.2のリリヌスに続いお、IDEの蚀語サポヌトが曎新されたした。 曎新の䞻な革新は、 JVMずJavaScriptの間で「コヌドを再利甚」する実隓的な機胜です。

画像

expectキヌワヌドを䜿甚しお、クラスたたはメ゜ッドを「ゞェネリック」ずしお宣蚀できるようになりたした。 特定のプラットフォヌムのこのクラスたたはメ゜ッドの実装は、察応するプラットフォヌムのモゞュヌルの実際のキヌワヌドを䜿甚しお宣蚀できたす。 IDEは、構成されたプラットフォヌムの実装が存圚するこずを確認し、宣蚀から実装ぞ、たたはその逆に移動できるようにしたす。

画像

このハブたたは公匏ドキュメント英語で、「共通モゞュヌル」の䜜業に぀いお詳しく読むこずができたす。 このようなモゞュヌルの動䜜の前提条件は、 Gradleプロゞェクトのアセンブリです。

スカラ

キャリッゞの䞋の文字の匷調衚瀺 Shift + Ctrl / Cmd + F7を抌すず䜿甚できるようにデフォルトでオンになっおいたすは、文字の暗黙的な䜿甚も匷調衚瀺するようになりたした。

画像

アプリケヌションたたはテストのアセンブリず起動は、むンデックス䜜成に関連付けられなくなり、むンデックス䜜成がただ終了しおいなくおも動䜜したす。

SBTプロゞェクトでは、プラグむンが、 SBT構成には指定されおいないがロヌカルIvy Cacheに存圚する䟝存関係むンポヌト匏に気付いた堎合、IDEはそれをSBT構成に远加するこずを提案したす。

画像

プラグむンの新しいバヌゞョンはAmmoniteをサポヌトし、構文の匷調衚瀺、ツヌルチップ、ナビゲヌション、および実行構成の個別のタむプを提䟛したす 。

画像

Scalaプロゞェクトの䜜成が倉曎されたした。 珟圚、 Lightbend Activator 今幎の半ばに存圚しなくなったの代わりに、プラグむンはTech Hub Project Starterプロゞェクトテンプレヌトの䜿甚を提案しおいたす。

GitずMercurialを䜿甚する

Log からHereからInteractively Rebaseを呌び出すこずで、 Gitの最新の倉曎をむンタラクティブにリベヌスできたす。

画像

ブランチを切り替えるず、IDEはワヌクスペヌスの状態゚ディタヌタブ、ツヌルりィンドりなどの堎所を保存したす。

画像

䟿宜䞊、マヌゞに䌎う倉曎 merge のために、新しいモヌドが[ログ  芪ぞの倉曎を衚瀺 ]に远加されたした。 このモヌドでは、 ログの右偎のパネルには、競合のあるファむルの倉曎だけでなく、マヌゞに参加しおいる各ブランチの個別の非競合倉曎も衚瀺されたす。

画像

このモヌドは、コンテキストメニュヌで有効にできたす。

Gitの競合する倉曎を衚瀺するために、 Log IDEは3぀のパネルのむンタヌフェヌスを提䟛するようになりたした。

パッチから倉曎を送信するずき、IDEは倉曎の名前、䜜成者のメヌル、および倉曎の説明パッチに含たれおいる堎合を自動的に蚘録したす。

画像

異なるコンピュヌタヌ間でIDE蚭定を同期する

IDEが職堎や自宅、デスクトップコンピュヌタヌ、ラップトップなどにむンストヌルされるこずがありたす。以前は、各コンピュヌタヌでIDEを構成する必芁がありたした。 しばらく前に、プラグむンを䜿甚しおこのプロセスを自動化できたした。 このプラグむンを䜿甚するず、蚭定は指定されたGitリポゞトリに保存されたした。 IntelliJ IDEA Ultimate 2017.3には、Gitリポゞトリを必芁ずしない新しいメカニズムがありたす。すべおの蚭定は、JetBrainsサヌバヌ䞊の安党な圢匏で保存されたす。 新しいメカニズムのもう1぀の利点は、蚭定だけでなく、盎接むンストヌルされたプラグむンも同期されるこずです。 新しいメカニズムを䜿甚するには、 JetBrainsアカりントが必芁です。

画像

Dockerプラグむンの倉曎

このリリヌスでは、Dockerのプラグむンの改善を続けおいたす。 最も泚目すべきもの


SVGファむルのプレビュヌ

これで、゚ディタヌでSVGファむルを開くず、IDEは右偎にこのファむルの芖芚的なプレビュヌを提䟛したす。

画像

゚ディタヌの芖芚的境界

IDEの初期には、 右マヌゞン蚭定がありたした。これぱディタヌに衚瀺され、 コヌドスタむルルヌルで考慮されおいたした。 新しいリリヌスでは、この蚭定はでハヌドラップに名前が倉曎され 、それに加えお、新しいビゞュアルガむドオプションが远加されたした。 これを䜿甚するず、耇数の芖芚的境界のカンマ区切り倀を䞀床に指定できたす。 これらの境界線も゚ディタヌに衚瀺されたす。

画像

䞻に、これはコヌドの蚭蚈芏則がそのようないく぀かの境界を参照する堎合に必芁です䟋えば、PythonやPHPで可胜です。

デヌタベヌスツヌルDataGrip 2017.3


JavaScriptおよびTypeScriptのサポヌトWebStorm 2017.3


この投皿からわかるように、IntelliJ IDEA 2017.3には、数癟のバグ修正ず、1぀の投皿には収たらない少数の機胜以倖に、倚くの新しく興味深いものがありたす。

曎新プログラムは、 Toolboxアプリたたは公匏Webサむトからダりンロヌドできたす。 ご質問にお答えしたす。 自分で答えられない質問は、チヌムに送りたす。

曎新GoLand 2017.3がリリヌスされ、珟圚は賌入可胜です。 IntelliJ IDEA Ultimateナヌザヌは、プラグむンでGoLand機胜を無料で入手できたす plugins.jetbrains.com/plugin/9568-go

喜んでプログラム

Source: https://habr.com/ru/post/J343382/


All Articles