IntelliJ IDEA 2023.1 には、ユーザーから受け取った貴重なフィードバックを基に細かく調査した上で用意された新しい UI の一連の改善が含まれています。 また、パフォーマンスを強化した結果、Maven のインポートが高速化し、プロジェクトを開く際に以前よりも早い段階で IDE 機能を使用できるようになりました。 新しいバージョンではコミットのバックグラウンドチェックにより、コミットプロセスが合理化されています。 また、IntelliJ IDEA Ultimate では Spring Security マッチャーとリクエストマッピングの移動操作がサポートされています。 このリリースには、以下に説明するその他多数の重要な機能強化と改善が含まれています。
新しい UI の詳細については、こちらのページをご覧ください。
IDE の新しい UI に関して頂戴したフィードバックにお応えするため、特に多かった要望に対応し多数の更新を実施いたしました。 スペースと要素のサイズを縮小し、集約度の高い外観を提供する Compact Mode(コンパクトモード)も導入されています。 また、以前の UI と同じようにツールウィンドウエリアを左右分割し、ウィンドウを使いやすく配置できるオプションも使用できるようになりました。 メインウィンドウのヘッダーにある Run(実行)ウィジェットは、邪魔にならず目に優しい外観に再設計されています。 詳細より当リリースで実装された新しいUIの改良についてご確認いただき、今すぐお試しください!
Scanning files to index(インデックス作成対象のファイルをスキャン中)プロセスをスマートモードで実行することで、IDE の起動エクスペリエンスを改善しました。 これにより、IDE の全機能を起動プロセスのより早い段階で使用できるようになりました。 プロジェクトを開くと、IntelliJ IDEA 2023.1 が前のセッションのキャッシュをプロジェクトに使用し、同時にインデックス作成対象のファイルを探します。 スキャンによって変更が見つからなければ IDE を使用できる状態になるため、これまで起動時のインデックス作成で生じていた遅延がなくなります。
依存関係の解決を最適化し、ファセットのインポートと構成の処理を改善することで、Maven プロジェクトをインポートする際の IDE のパフォーマンスを改善しました。
Git と Mercurial のコミットチェックの動作を改良し、コミットプロセス全体を高速化しました。 コミット後のプッシュ前チェックがバックグラウンドで実行されるようになっています。
IntelliJ IDEA Ultimate 2023.1 では適用されたセキュリティルールの確認を単純化するため、Spring コントローラーからセキュリティマッチャーへの移動操作が簡単に行えるようになっています。 この移動操作は、セキュリティマッチャーとコントローラーの間で相互に行えるようになっています。
バージョン 2023.1 では IDE 全体を拡大・縮小し、すべての UI 要素のサイズをまとめて増減できるようになりました。 メインメニューから View(表示)| Appearance(外観)を選択し、IDE の表示倍率を調整します。 また、Settings(設定)/Preferences(環境設定)| Keymap(キーマップ)| Main Menu(メインメニュー)| View(表示)| Appearance(外観)で、これらのアクションを呼び出すためのカスタムショートカットを割り当てることが可能です。
IntelliJ IDEA 2023.1 では、複数のツールウィンドウレイアウトを保存して管理し、必要に応じてレイアウトを切り替えることが可能です。 新しいレイアウトを保存するには、希望どおりにツールウィンドウを配置し、Window(ウィンドウ)| Layouts(レイアウト)| Save Current Layout as New(現在のレイアウトを新規として保存)に移動します。 さらに配置を調整する場合は、Save Changes in Current Layout(現在のレイアウトに変更を保存)オプションを使って現在のセットアップを更新するか、これらの変更を別のカスタムレイアウトとして保存することができます。 保存したレイアウトを有効にするには、Window(ウィンドウ)| Layouts(レイアウト)のリストでレイアウトを見つけ、名前にマウスポインタ―を合わせて Apply(適用)をクリックします。
IntelliJ IDEA 2023.1 では、サイドツールウィンドウの幅を統一するか、レイアウトのカスタマイズに合わせてサイズを自由に調整する機能を保持する新しいレイアウトオプションを導入しました。 新しい Remember size for each tool window(各ツールウィンドウのサイズを記憶する)チェックボックスは、Settings(設定)/ Preferences(環境設定)| Appearance & Behavior(外観と動作)| Tool Windows(ツールウィンドウ)にあります。 新しい UI と以前の UI でこの設定がどのように動作するかについては、こちらのブログ記事をご覧ください。
IntelliJ IDEA とコーディングが初めての方向けに、オンボーディングヒント付きのサンプルコードを含む新規プロジェクトを開くオプションを導入しました。 New Project(新規プロジェクト)ウィザードで、Generate code with onboarding tips(オンボーディングヒントを含むコードを生成する)をオンにすると、IDE の一部の基本機能を説明するヒントが含まれた基本的なサンドボックスプロジェクトを得られます。 ちょっとしたガイドに従えば、Search Everywhere(どこでも検索)機能の試用、クイックフィックスの適用、コードの実行とデバッグを行えるため、より簡単に IDE の使用に慣れることができます。
IntelliJ IDEA 2023.1 に新しいプロジェクトの Actions on Save(保存時のアクション実行)の動作を事前定義するオプションが追加されました。 この機能を使用するには、File(ファイル)| New Projects Setup(新規プロジェクトのセットアップ)| Preferences For New Projects(新規プロジェクトの環境設定)| Tools(ツール)| Actions on Save(保存時のアクション実行)に移動し、今後のプロジェクトで変更内容を保存する際にトリガーするアクションを選択します。
より関連性の高い正確な検索結果を提供するため、機械学習のランキングを Search Everywhere(どこでも検索)(ダブル Shift)機能に統合する取り組みを続けています。 Classes(クラス)タブの並べ替えアルゴリズムも、Actions(アクション)と Files(ファイル)タブとともにデフォルトで機械学習駆動となっています。
IntelliJ IDEA 2023.1 には、Microsoft Defender のリアルタイム保護が機能している場合にトリガーされる新しい通知があります。 このようなウイルス対策チェックは IDE の速度を大幅に低下させる可能性があるため、IntelliJ IDEA は特定のフォルダーを Defender の除外リストに追加するように提案します。 この通知では、これらの設定を自動的に再構成するか、Defender の構成手順を確認してから手動で再構成するかのオプションが提供されます。
バージョン 2023.1 では、コピーまたは切り取った行を選択範囲を指定せずに貼り付ける場合のユーザーエクスペリエンスを改良しました。 内容の貼り付け位置を制御できる特別な設定が追加されています。 Settings(設定)/Preferences(環境設定)| Advanced Settings(高度な設定)の Editor(エディター)セクションにあるドロップダウンリストから、希望する Paste(貼り付け)アクションの動作を選択してください。
IntelliJ IDEA 2023.1 の Settings(設定)/Preferences(環境設定)| Editor(エディター)| General(一般)| Appearance(外観)| Show Whitespaces(空白の表示) に、コードを選択した場合に IDE が小さなドットで空白を表示する設定を構成できる新しい Selection(選択)チェックボックスが追加されました。
IntelliJ IDEA 2023.1 では、正規表現を使用して独自の検索置換インスペクションを作成できます。 このようなインスペクションは、スタイルまたはフォーマットの問題をハイライトする場合に特に有用です。 詳細については、このブログ記事を参照してください。
新しいインテンションアクションを使って Markdown ファイルのテーブルの書式を修正できます。 Context actions(コンテキストアクション)ショートカット(Alt+Enter)から、または黄色い電球アイコンをクリックして表示されるリストから Reformat table(テーブルの整形)をクリックすると、このクイックフィックスにアクセスできます。
Markdown ファイルで Fill Paragraph(段落の整形)エディターアクションがサポートされ、長いテキストを長さが同じ複数の行に分割できるようになりました。 これを行うには、編集する段落内にキャレットを置いて Edit(編集)メニューからアクションを呼び出すか、Find Action(アクションを検索)(Ctrl+Shift+A)を使って Fill Paragraph(段落の整形)コマンドを検索します。
Settings(設定)/Preferences(環境設定)| Editor(エディター)| General(一般)| Smart Keys(スマートキー)に Markdown の環境設定を構成・編集できる専用のページを追加しました。 これまで Settings(設定)/Preferences(環境設定)| Languages & Frameworks(言語とフレームワーク)に含まれていた単一のチェックボックスに代わって、各種エディター機能のチェックボックスが個別に提供されているため、このページを使うと環境設定の管理が楽になります。
Typo(タイポ)インスペクションを更新し、ハッシュと特殊な値のスペルチェックを行わず、スペルミスとして報告しないようにしました。 この更新は以下の値に対応しています。
Md5
、Sha1
、および Sha256
の 16 進数値。 shaNNN-
接頭辞を持つ、Sha384
と Sha512
の base64 でエンコードされた整合性値。 JWT
トークン。 クリーンでエラーのないコードを維持できるよう、既存の Java インスペクションの一部を改良し、新しいインスペクションを追加しました。 Malformed format string(不正な形式の書式設定文字列)インスペクションが一般的な Java 構文に準拠していない不正な時間変換を報告するようになりました。 Redundant String operation(冗長な文字列操作)インスペクションが冗長な StringBuilder.toString()
呼び出しを検出し、contentEquals()
に置き換えるクイックフィックスを提供できるようになりました。これにより、中間の String
オブジェクトを作成する必要がなくなります。 また、String
コンストラクター呼び出しに含まれる不要な引数を報告し、それを除去するクイックフィックスを提案します。 IntelliJ IDEA 2023.1 のコードインスペクションに関する改善点については、こちらのブログ記事をご覧ください。
Java 開発者の認知負荷を軽減するために、IntelliJ IDEA 2023.1では言語機能の Pattern Matching for switch(switch のパターンマッチング)と Record Patterns(レコードパターン)の変更を含む Java 20 で追加された最新のアップデートを引き続きサポートします。 詳細については、こちらのブログ記事をご覧ください。
Extract Method(メソッドの抽出)リファクタリングを改良し、選択されたコード箇所に戻り値が必要な変数が複数含まれる場合でも適用できるオプションを導入しました。 このような場合、IDE はこれらの変数を新しいレコードか Bean クラスにラップしてからメソッドの抽出を実行するように提案します。
Run/Debug configuration(実行/デバッグ構成)ポップアップの VM Options フィールドに自動補完機能を組み込みました。 フラグの名前を入力し始めると、IDE が使用可能なコマンドラインオプションのリストを提案します。 これは -XX:
および -X
オプションだけでなく、IntelliJ IDEA が自動的に構成しない -ea
などの標準オプションでも機能しますが、-cp
または –release
では機能しません。
IntelliJ IDEA は波括弧のない Scala コードを適切にデシュガーし、「少ない波括弧」機能が使用されるリファクタリングを処理できるようになりました。 また、ワークシートでも波括弧のない構文をサポートし、コード内で拡張メソッドを上下に移動する場合にインデントを正しく解釈するようになりました。
Gradle で空のモジュールがあり、ソースコードにルートディレクトリを作成する場合、いくつかの有用な提案を含む New Directory(新規ディレクトリ)ダイアログを使用できます。 バージョン 2023.1 では、このダイアログを SBT プロジェクトにも使用できるようになりました。 また、Settings/Preferences(設定/環境設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| Build Tools(ビルドツール)| sbt で SBT ランチャーのパラメーターを指定できるようになり、Find Usages(使用箇所の検索)(Alt+F7)アクションで SBT ファイルのシンボルを検索できるようになりました。
Unused declaration(未使用の宣言)インスペクションに多数の修正と改善が加えられました。 IntelliJ IDEA がプロジェクトの XML ファイル内でシンボルの使用箇所を検出できるようになりました。 このインスペクションは用語への参照と型への参照も識別するため、一方が実際には使用されているのにもう一方が使用されていると扱われることはありません。 Can be private(private にできます)インスペクションも更新されました。 たとえば、ワークシートとローカルクラスでトップレベルの定義がハイライトされなくなっています。 再帰呼び出しについては、呼び出しのある行の左にガターアイコンが表示されるようになっています。
Cats ライブラリが使用されている場合など、多数の暗黙のパラメーターがインポートされており、コードの解析が必要な場合の Scala 3 のハイライト機能のパフォーマンスを改善しました。 IntelliJ IDEA 2023.1 には using
句によるオーバーライドメソッドの適切な自動生成など、多数の構文サポートの改善も含まれています。
これまではコンパイラーベースのハイライトを使用する場合、すべてのインポートは使用済みとして処理されてきました。 Scala 3.3 では -Wunused:imports
という新しいコンパイラーオプションが導入されており、 プロジェクトでこのオプションが使用されている場合は IDE で未使用のインポートを特定できるようになっています。 また、Enums
の自動インポートアクションも修正されています。
IntelliJ IDEA 2023.1 では、Scala 3 と Scala 2 のデコンパイラーに多数の修正と改善が加えられています。 Scala 2 と Scala 3 のバイトコードのデコンパイルの出力が統一され、読みやすくなっています。
Flame Graph(フレームグラフ)タブを更新し、呼び出しを色コードでハイライトするようにしました。 現在開いているプロジェクトに属するメソッドが黄色でハイライトされるようになっています。 これにより、特定のパフォーマンスの問題を解決するために変更可能なコードを簡単に識別できます。 また、Flame Graph(フレームグラフ)タブの全体的な色スキームが改良され、目に優しくなっています。
ファイルの変更を追跡しやすくするため、Structure(構造)ツールウィンドウに色ヒントを追加しました。 ツールウィンドウでは、変更されたオブジェクトの名前が青色になり、新たに追加されたオブジェクトの名前が緑でハイライト表示されます。
IDE 内でのコードレビュープロセスを単純化するため、Pull Request(プルリクエスト)ツールウィンドウを改良しました。 プルリクエストを開くたびに専用のタブが表示されるようになっています。 このタブには変更されたファイルのリストが瞬時に表示されますが、情報量が以前より少なくなっているため、現在のタスクに専念しやすくなっています。 プルリクエストの現在の状態に応じて最も関連性が高いと考えられるアクションを簡単に実行できる専用のボタンも導入されています。
Branches(ブランチ)ポップアップのユーザビリティを改善しました。 たとえば、ブランチが展開可能なリストにグループ化されて保管されるようになり、ブランチ間の移動操作がより簡単になっています。
IntelliJ IDEA 2023.1 では、Create New Branch(新規プロジェクトの作成)ポップアップに自動補完が実装されています。 新しいブランチの名前を入力し始めると、IDE が既存のローカルブランチの名前を基に関連性のある接頭辞を提案します。
新しい Gradle プロジェクトを構成する際に、New Project(新規プロジェクト)ウィザードで必要なラッパーバージョンを直接選択できるようになりました。 Advanced Settings(高度な設定)セクションを展開し、Auto-select(自動選択)をオフにして希望するオプションを指定します。 Gradle version(Gradle バージョン)コンボボックスの下にある Use these settings for future projects(将来のプロジェクトのためにこれらの設定を使用)をオンにすると、IDE に選択内容を記憶させることができます。
IntelliJ IDEA 2023.1 でプロジェクトをインポートする際、Gradle ツールチェーンの構成を検出し、モジュールの設定に合った Java SDK をセットアップできるようになりました。
IntelliJ IDEA 2023.1 では、実行構成をまだ作成していなくても現在開いているファイルに Run with coverage(カバレッジ付きで実行)アクションを起動するショートカットを作成できます。 このようなショートカットを割り当てるには、Settings(設定)/Preferences(環境設定)| Keymap(キーマップ)に移動し、Run with Coverage context configuration(カバレッジコンテキスト構成で実行)オプションを探して、ショートカット用の新しいキーコンビネーションを追加します。
IntelliJ IDEA 2023.1 では、テストの際に特に注意が必要な最近更新されたクラスやメソッドに注目できるように、Coverage(カバレッジ)ビューでクラスをフィルターすることができます。 デフォルトでは、コミットされていない変更のあるクラスのリストが表示されます。 2 つ目のフィルターオプションでは、完全にカバーされているクラスを非表示にできます。
IntelliJ IDEA Ultimate 2023.1 では、Spring Security 6 で導入された API のURL マッピングとセキュリティロールへの移動操作のサポートが更新されています。
Spring 実行構成において、Gradle がプロジェクトの実行とビルドのデフォルトオプションになりました。 IDE が Settings/Preferences(設定環境設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| Build Tools(ビルドツール)| Gradle で定義された Gradle を使用してプロジェクトのビルドと実行を行うメインの設定を使用するようになりました。
IntelliJ IDEA Ultimate 2023.1 では、File(ファイル)| Project Structure(プロジェクト構造)| Modules(モジュール)のカスタムファセットで Spring と JPA の設定の変更と共有を行えます。 たとえば、JPA 用に選択したデータソースをチーム内で共有する場合、JPA ファセットを作成し、*.iml 拡張子のモジュールファイルを追加することで、その設定をバージョン管理システムにコミットできるようになっています。
IntelliJ IDEA Ultimate 2023.1 では、MongoDB クエリを Spring と Micronaut Data のリポジトリから Database(データベース)コンソールで実行することができます。 これを行うには、クエリ文字列に新しい Run query in console(コンソールでクエリを実行)インテンションアクションを使用します。 IDE が sort
などの追加リクエストパラメーターを含む適切な JavaScript 呼び出しを生成します。
IntelliJ IDEA Ultimate 2023.1 には、より広範なリアクティブコード用のインスペクションが備わっています。 For example, the IDE now reports usages of transformation operators with the Mono<Void>
type described in the Reactor 3 Reference Guide.
フレームワークの機能を IntelliJ IDEA の Spring サポートの対象に組み込むことで、Apache Dubbo を統合する新しい専用のプラグインを実装しました。 このプラグインは JetBrains Marketplace からダウンロードするか、Settings/Preferences(設定/環境設定)| Plugins(プラグイン)経由で直接 IDE にインストールできます。
Spring コントローラーで Swagger 2.X の各種アノテーションを使って API に追加メタデータを定義する場合、IntelliJ IDEA Ultimate が URL インレイポップアップダイアログまたは Endpoints(エンドポイント)ツールウィンドウから OpenAPI ファイルを生成する際にこれらのアノテーションを含めるようになりました。
複数のファイルに分かれた大きな OpenAPI 仕様の一部を、ファイル間で簡単に移動しながら編集できるようになりました。 また、IDE にはメインの仕様ファイルと同じ方法でこれらのファイルのコード補完とハイライトを行う機能が備わっています。
IntelliJ IDEA Ultimate 2023.1 では、.jar アーカイブからのインポートを含む proto ファイルから GRPC リクエストを実行できます。 また、OneOf
型や Map<K,V>
型などのリクエスト本体のコード補完も改善されています。 さらに、Endpoints(エンドポイント)ツールウィンドウに Protobuf エンドポイント用の HTTP Client(HTTP クライアント)タブを追加しました。
IDE にコード補完、ハイライト、検証など、Ktor で application.yaml 構成ファイルを操作するために必要なすべての編集機能が備わりました。
Docker Compose ノードの Dashboard(ダッシュボード)タブにすべての Docker Compose コンテナーのログを集め、すべてをまとめて表示できるようになりました。リアルタイムで更新されます。
Azure Container Registry に簡単に接続できるようになりました。 Settings/Preferences(設定/環境設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| Docker | Docker Registry に移動し、Registry(レジストリ)入力フィールドで Docker V2 オプションを選択してセットアップします。
:z
マウントオプションを適用して SELinux にボリュームをバインドする新しい設定 Docker バインドマウントに :z
構成フラグを追加して、ボリュームを SELinux ワークステーションの Docker コンテナーに接続する機能が導入されました。 この機能を有効にするには、Settings/Preferences(設定/環境設定)| Advanced Settings(高度な設定)| Docker に移動します。
IntelliJ IDEA 2023.1 は Docker ヘルスチェックの結果を通知します。 Services(サービス)ツールウィンドウでは、実行中の Docker コンテナーの名前の横でヘルスステータスを確認できるようになりました。 また、ステータスを一目で確認しやすくするため、正常に起動および稼働しているコンテナーのアイコンに小さな緑色の点を付け、健全でないコンテナーを赤色で示すようにしました。
Docker デバッグ機能が廃止されました。 Docker コンテナーを使用するアプリケーションをデバッグする場合は、Run targets(ターゲットの実行)を代わりに使用してください。
新しい Kubernetes ファイルをより簡単に作成できるようにするため、File(ファイル)| New(新規)メニューに新しいアクションを追加しました。 New Kubernetes Resource(新規 Kubernetes リソース)オプションを選択すると、Pod、Deployment、ConfigMap などの最も一般的なリソースタイプのリストを含むポップアップが開きます。
IntelliJ IDEA Ultimate 2023.1 に Kubernetes Secret を作成するための新しいダイアログが導入されました。 新しい Secret を定義するには、Key と Value のデータを手動で入力するか、使用される内容を含むファイルを指定できます。
クラスターのリソースに View YAML(YAML の表示)アクションを使用して開いているファイルを変更する際、IntelliJ IDEA Ultimate がガター内ですべての編集箇所を色分けしたマークでハイライトするようになりました。 これにより、リソースの必要な箇所に変更が行われたことを確認してから、クラスターに適用することができます。 また、Compare with Cluster(クラスターと比較)アイコンを使うと、リソースの現在のバージョンをクラスターから取得してローカルバージョンと比較する Diff ペインが開きます。
IntelliJ IDEA Ultimate 2023.1 では、kubeconfig ファイルを操作する際のユーザーエクスペリエンスが改善されています。 Services(サービス)ビューで kubeconfig ファイルに簡単にアクセスし、それをエディターで開けるようになっています。 IDE の外部で kubeconfig ファイルを変更すると、IntelliJ IDEA がそれを検出し、Services(サービス)ツールウィンドウの構成を自動的に再読み込みします。 kubeconfig ファイルのコードハイライトと補完も提供されています。
Forward Ports(ポートの転送)、Delete Resource(リソースの削除)、Describe Resource(リソース情報の取得)など、Services(サービス)ビューのほとんどの Kubernetes アクションにショートカットを割り当てられるようになりました。 カスタムショートカットは Settings/Preferences(設定/環境設定)| Keymap(キーマップ)| Plugins(プラグイン)| Kubernetes で設定できます。
ゲストがセッションに接続したときのクライアントの外観が、通常の JetBrains IDE の外観にさらに近づきました。 ホストのみがアクセスできるグレーアウト表示の項目も含め、ホストが参照可能なすべての項目を表示できます。 ゲストは使用できない項目を明確に見分けられるため、それらのアクションを実行するようにホストに依頼することができます。
ゲストは使用できない項目の横にある鍵アイコンをクリックするだけで、追加権限をリクエストできるようになりました。 ホストは開始時に必要なアクセス権を判断する必要がなくなりました。また、ゲストからの追加権限リクエストをその場で簡単に承認することができます。
最近のプロジェクトがクライアント側ではなく、ホストに保管されるようになりました。 このため、別のクライアントから接続した場合でも正確な最新情報を取得できます。 また、ホストで使用する IDE のバージョンの選択といったその他の有用なオプションも追加されています。
Long-awaited Astro support has landed in IntelliJ IDEA 2023.1! Preferences(環境設定)/ Settings(設定)| Plugins(プラグイン)からインストールできる新しい Astro プラグインを通して利用できます。 このプラグインには、構文ハイライト、自動インポートのコード補完、リファクタリング、ナビゲーション、適切な書式設定などの基本機能が備わっています。
Vue テンプレートに TypeScript のサポートを追加しました。 このサポートは、script
タグの lang
属性を ts
に設定すると有効になります。 従来は script
タグの lang
属性の設定に関係なく JavaScript が使用されていました。 IntelliJ IDEA が Vue 単一ファイルコンポーネントのテンプレートのクイックドキュメントに、インラインキャストのサポート、改善された型の絞り込み、推論された型に関する正しい情報を提供するようになります。
IntelliJ IDEA に ${
を入力するたびに、シングルクォートまたはダブルクォートで囲まれた文字列がテンプレートリテラルに自動変換されるようになります。 これは、生の文字列だけでなく、JSX プロパティにも機能します。
このリリースでは、classAttributes
オプションでのカスタムクラス名の補完や tailwindCSS.experimental.configFile
などの実験的なオプションなどの構成オプションが新たにサポートされています。 これらの構成オプションは、Settings/Preferences(設定/環境設定)| Languages Frameworks(言語とフレームワーク)| Style Sheets(スタイルシート)| Tailwind CSS でセットアップできます。