IntelliJ IDEA 2023.2 ヘルプ

プロのヒント

このガイドは、IntelliJ IDEA の基本的な機能に精通していて、さらに詳しく知りたいユーザーを対象にしています。IntelliJ IDEA を初めて使用する場合は、 IntelliJ IDEA ガイドを理解するを読んだ後で本ドキュメントを読むことをお勧めします。

コーディング支援

型情報

キャレットのシンボルの由来やタイプなど、さらに詳しい情報が必要な場合は、クイックドキュメントが役に立ちます。Control+Q を押して呼び出すと、これらの詳細を示すポップアップが表示されます。完全な情報が必要ない場合は、代わりに型情報アクションを使用します。このアクションでは、選択した式のタイプのみが表示されますが、それほど大きな画面スペースは必要ありません。

コード補完の大 / 小文字の区別

デフォルトでは、IntelliJ IDEA コード補完の大文字と小文字の区別は、入力する最初の文字にのみ影響します。この戦略は、エディター | 一般 | コード補完ページの設定ダイアログ (Control+Alt+S) で変更できます。ここで、IDE をすべての文字に敏感にすることができます。

Code Completion settings

ここで、入力時に候補を表示するオプションをオフにすることもできます。これは、コード補完ポップアップを明示的に呼び出した場合にのみ表示する場合に意味があります。

キャレットで要素のハイライトを無効にする

IntelliJ IDEA をよりよく学習した後に変更する可能性のあるデフォルトについて話すと、エディター | コード編集キャレット移動のハイライト設定を見逃すことはできません。Control+Shift+F7 ショートカットを知っていて、キャレットを移動するたびにエディターでのハイライトが表示されたり消えたりするのが気に入らない場合は、キャレット上の要素の使用箇所オプションをオフにすることができます。

Highlight on Caret Movement settings

CamelHumps

デフォルトでは、エディターで何かを選択すると、IntelliJ IDEA は単語の大文字と小文字を区別しません。たとえば、単語全体を選択するのではなく、その一部を選択するなど、キャメルケースに従って単語を選択する場合は、設定ダイアログのエディター | 一般 | スマートキーでこれを有効にすることができます。

CamelHumps option

ヒッピー補完

IntelliJ IDEA は、Control+Space 経由で基本補完Control+Shift+Space 経由でスマート型一致補完、および Control+Shift+Enter 経由でステートメント補完を提供します。これらすべての機能は、コード構造の実際の理解に基づいています。ただし、場合によっては、コンテキストに関係なく、現在のファイルまたはプロジェクトで以前に使用されていた単語を提案する、より単純でありながら柔軟なロジックが必要になる場合があります。この機能はヒッピー補完と呼ばれ、Alt+/ 経由で利用できます。

Using Hippie completion

リファクタリング

リファクタリングの取り消し

IntelliJ IDEA を使用すると、コードをリファクタリングするときの結果を心配する必要はありません。便利な Control+Z ショートカットを使用して元に戻すを呼び出すことによって、いつでも元に戻すことができます。

文字列フラグメントを抽出する

IntelliJ IDEA は、実行可能コードだけでなく文字列リテラルもリファクタリングすることができます。文字列の任意のフラグメントを選択し、抽出変数 / 定数 / フィールド / パラメーターを呼び出して定数として抽出し、コード全体でその使用箇所を置き換えます。

型の移行

リファクタリングするときは、通常、シンボルの名前を変更するか、コード内のステートメントを抽出して移動します。ただし、リファクタリングにはそれだけではありません。例: 型の移行Control+Shift+F6 経由で利用可能)を使用すると、変数、フィールド、パラメーター、メソッドの戻り値(int → Stringint → Long など)の型を変更し、依存コードを更新し、発生する可能性のある競合を解決できます。

ブール値の反転

IntelliJ IDEA がタイプの移行を自動化できる場合、セマンティクスで同じことをしないでください。ブールシンボルのすべての用途を逆にするには、真偽の反転リファクタリングを使用します。

コード解析

依存構造

IntelliJ IDEA を使用すると、コード内のコンポーネントが相互にどの程度密接に依存しているかを分析できます。依存関係が多すぎると、さまざまな問題(英語)が発生する可能性があるため、監視する必要があります。依存構造アクション ( 分析メニューから利用可能) は、モジュール、パッケージ、クラス間の依存関係を視覚化し、調査できます。

DSM tool window

その複雑な外観にもかかわらず、非常に使いやすいツールです。クラスやパッケージを選択し、使用されている場所と使用されている場所を確認するだけです。

構造検索と置換

構造検索と置換、または SSR は非常に強力であり(正しく使用する方法を学んだ後)、静的コード分析とリファクタリングの自動化に使用できます。一言で言えば、コード内の特定のパターンを検索し、パラメーター化されたテンプレートに置き換えることができます。そのために、この記事でより詳細に説明されているコードパターンを定義するための独自の言語が装備されています。

この機能にアクセスするには、編集 | 検索 | 構造的検索 / 置換を使用します。テンプレートまたはパターンを作成する場合は、設定ダイアログでページエディター | インスペクションをクリックし、一般ノードで構造検索インスペクションを有効にします。

The Structural search and replace inspection shown in the settings

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

パンくずリストとタグツリーのハイライトを無効にする

たくさんの HTML や XML を扱っていて不必要な気を散らすのを避けたい場合は、エディター | 一般 | パンくずリストのパンくずリストとタグのハイライト表示を無効にすることができます。

不必要なガターアイコンを無効にする

一番左のエディター列である Gutter には、通常、編集中のコードに関連する有用な情報が表示されます。時々多すぎると感じる場合は、設定ダイアログ (Control+Alt+S): エディター | 一般 | ガターアイコンで見たいものを構成できます。

どこでも検索

どこでも検索を使用すると、コード、ライブラリ、UI の一部、設定(設定名の前に / を付ける)、さらにはアクション名など、文字通りどこにでも任意のテキストフラグメントを見つけることができます。この機能を頻繁に使用している場合は、ポップアップで Enter を押すだけで IntelliJ IDEA 設定にアクセスできることを知っておく価値があります。例: ここでは、エディター設定にアクセスしています:

the Search Everywhere popup

/plugins で検索クエリを開始すると、オンまたはオフにすることができます:

the Search Everywhere popup with the 'plugins' search query

他のタグには /appearance/system/inspections/registry/intentions/templates/vcs が含まれます。

もう 1 つの興味深い事実は、どこでも検索が略語をサポートしていることです。設定ダイアログのキーマップページを使用して、任意のアクションに短いテキストを割り当てることができます。

Example of using abbreviations in the Search Everywhere popup

次に下記のテキストを入力して、どこでも検索からこのアクションを呼び出します。

Example of using abbreviations in the Search Everywhere popup

エディタータブを非表示にする

現在のタブ以外のすべてのエディタータブを閉じる必要がある場合は、Alt を押したまま現在のタブの閉じるアイコン the Close button をクリックします。

The example of using Close Others option

エディタータブをまったく表示したくない場合は、エディター設定のエディタータブページに移動し、配置ドロップダウンでなしを選択します。

新しいウィンドウでファイルを開く

プロジェクトツールウィンドウでファイルを選択して Shift+Enter を押すと、新しいウィンドウでファイルが開きます。

ツールバーに停止ボタンと再開ボタンを追加する

ナビゲーションバーのツールバーに the Stop button の停止ボタンと the resume button の再開ボタンを追加すると便利な場合があります。これは、設定ダイアログの外観 & 振る舞い | メニューおよびツールバーページから実行できます。

キーボードショートカットではなくマウスを使用したい場合は、この方法で現在のデバッグセッションを管理するためにデバッグツールウィンドウを開く必要はありません。

The Navigation bar icons

エディター

クリップボードと比較

IntelliJ IDEA には、コード、jar ファイル、リビジョン、さらにはイメージのビューアーが組み込まれています。それを呼び出すには、ファイルのペアを選択し、Control+D を押します。

1 つのファイルを選択した場合は、比較するファイルを選択するように指示されます。アクティブなエディターとクリップボードを簡単に比較するには、表示 | クリップボードと比較を選択します。

履歴から貼り付け

クリップボードといえば、IntelliJ IDEA はそこに置いたすべてを追跡します。以前にコピーした項目の 1 つを貼り付ける場合は、Control+Shift+V を押してください。

複数選択

複数選択は比較的新しい、非常に強力なエディター機能で、複数の(隣接しているかどうかにかかわらず)コードをすぐに選択して編集することができます。

簡単に説明すると、次のようになります。Alt+J (IntelliJ IDEA がキャレットにあるシンボルを選択する) を押すか、通常どおり何かを選択します。

次に、Alt+J を押すと、IntelliJ IDEA は一致するテキストが見つかるまで現在のファイルを前方に検索し、選択に追加します。もう一度 Alt+J を押すと先に進み、Alt+Shift+J を押すと戻りますが、検索がファイルの最後に達すると、ファイルの最初からやり直すことに注意してください。

the Multiple Selection feature used in the editor

選択が完了したら、すべてのフラグメントの編集を開始することができます。

耳寄り情報 : キャレットを複製するもう 1 つの方法は、Control を 2 回押してから、矢印またはマウスを使用してキャレットを上下に移動することです。

Emmet

Emmet(英語) は、HTML、XML、CSS コードを作成するための優れた方法です。IntelliJ IDEA はデフォルトでそれをサポートします: Emmet 式を記述し、Tab を押して展開します。

Emmet プレビューアクション(アクションの検索またはどこでも検索で利用できます。便利なショートカットに割り当ててください)を使用して、結果のコードのプレビューを表示します。

正規表現

正規表現は強力で広く使用されていますが、適切に記述するのが難しい場合があります。IntelliJ IDEA は、コード内の正規表現を確認できます。キャレットを置き、Alt+Enter を押して正規表現をチェックするインテンションを使用します。

Using regular expressions

正規表現グループを検索して置換する

IntelliJ IDEA が正規表現に役立つもう 1 つの場所は検索と置換機能です。置換式でキャプチャーされたグループがサポートされていることを知っておく価値があります。

Using Find and replace with Regex groups

バイトコードビューアー

プログラムが生成する実際のバイトコードを確認することは、非常にインサイトに満ちている場合があります。

IntelliJ IDEA では、表示 | バイトコードの表示を介してそれを行うことができます。Java バイトコード逆コンパイラーも参照してください。

バージョン管理

変更を修正する

変更のコミットダイアログでは、IntelliJ IDEA はさまざまな操作を実行できます。それらのうちの 1 つはコミットの修正です。これは、最後のコミットを変更し、現在の変更にそれを加えるときに便利です。

シェルブとパッチ

ShelvesGit スタッシュ(英語)に似た IDE 機能ですが、すべての VCS で機能します。現在の作業を一時停止し、リポジトリから何かをプルしてできるだけ早く修正し、それから作業を再開する必要がある場合に役立ちます。この機能は、ローカルで変更されたファイルをコミットせずに処理するため、変更が失われたり、急いでマージコミットを行ったりする必要がなくなります。

詳細については、「Git-Stash(英語)」ページおよび「スタッシュとスタッシュ解除」セクションを参照してください。

パッチを使用すると、一連の変更をテキストファイルに保存し、メール (またはその他の古い媒体) 経由で転送してコードに適用できます。これは、飛行機が無人島に着陸した後で本当に何かをする必要がある場合、または何らかの理由で信頼できるブロードバンド接続がない状況に陥った場合に役立ちます。

詳細は、パッチを使うを参照してください。

デバッグ

非中断ブレークポイント

プログラムを中断せずに、コードの特定の行で何かを評価したい場合があります。非中断ブレークポイントを使用してそれを行うことができます。作成するには、Shift を保持しているガターをクリックして、評価して記録フィールドに式を入力します。

Using method breakpoints

このようにして、プロジェクトコードに追加のステートメントを挿入することなく、アプリケーションの状態を変更またはログに記録できます。これは、変更できないコンパイル済みクラスをデバッグする場合に特に便利です。

フィールドブレークポイントまたはフィールドウォッチポイント

上記のアクションブレークポイントに加えて、フィールドウォッチポイントも使用できます。このブレークポイントは、関連するフィールドにアクセスすると実行を停止します。フィールドウォッチポイントを作成するには、Alt (macOS の場合は Ctrl+Cmd)を押したままガターをクリックします。

Using field watchpoints

オブジェクトマーカー

アプリケーションをデバッグしているとき、IntelliJ IDEA は、オブジェクトをマークアクションを使って簡単に識別できるように、任意のオブジェクトの特定のインスタンスに色付きのラベルを付けることができます ( 式の評価、、変数または監視式ビューで使用できます。)

また、ラベルが付いたインスタンスがあれば、それを条件式にも使用できます。

Using object markers

カスタムデータレンダラー

式の評価変数監視式インラインデバッガーはすべて、主にクラスの toString 実装に基づいて、変数値をレンダリングする標準的な方法を使用します。すべてのクラスに独自のカスタムレンダラーを定義できることを誰もが知っているわけではありません。そのためには、デバッグツールウィンドウツールウィンドウのコンテキストメニューからデータビューのカスタマイズを選択します。

Using custom data renderers

これは、使用しているライブラリのいくつかのクラスが意味のある toString 実装を提供していない場合に特に便利です。つまり、ライブラリの外で自分で定義することができます。

フレームにドロップ

デバッグ中に「時間を巻き戻す」場合は、ドロップフレームアクションを使用します。誤って多く進めてしまった場合、これは大きな助けになります。これによってアプリケーションのグローバル状態が元に戻ることはありませんが、少なくともフレームのスタックによって元に戻すことができます。

強制リターン

途中で、先に移動したい場合は、それ以降の命令を実行せずに現在のメソッドからの復帰を強制するには、強制リターンアクションを使用します(Control+Shift+A を押してアクション名を入力します)。メソッドが値を返す場合は、値を指定する必要があります。

DCEVM

コードに簡単な変更を加えたときに、作業中のアプリケーションでコードがどのように動作するかをすぐに確認したい場合があります。残念ながら、Java HotSwap VM には多くの制限があります。たとえば、クラスに新しいメソッドやフィールドを追加して、ホットスワップを実行することはできません。ホットスワップ中に変更できるのはメソッド本体だけです。

詳細については、修正されたクラスを再ロードするおよびプログラムの実行フローを変更するを参照してください。

幸運なことに、この状況を新しいオープンソースプロジェクト Dynamic Code Evolution VM(Java HotSwap VM の修正版)で修正する方法があります。実行時にクラスを再ロードすることを無制限にサポートしています。

IntelliJ IDEA での使用は、専用プラグイン(英語)を使用すると簡単です。プラグインを有効にすると、IDE はご使用の環境に DCEVMJRE をダウンロードするように提案します。次に、代替 JRE のリストでそれを選択する必要があります。

アプリケーションの更新

アプリケーションをアプリケーションサーバー(Tomcat、JBoss など)で実行している場合、Command F10 を介してアプリケーションの更新アクションを使用して、変更されたクラスとリソースを再ロードできます。

詳細は、アプリケーションサーバー上のアプリケーションを更新するを参照してください。

ツール

外部ツール

IntelliJ IDEA には多くの開発ツールが統合されており、すぐに使用できます。統合されていない必要なツールをショートカットから使用する場合は、設定 | ツール | 外部ツールに移動し、このツールの実行方法を設定します。これで、ツール | 外部ツールメインメニューからこのツールを実行できるようになります。

詳細は、外部ツールを参照してください。

関連ページ:

IntelliJ IDEA の概要

IntelliJ IDEA は、開発者の生産性を最大化するために設計された Java および Kotlin 用の統合開発環境 (IDE) です。優れたコード補完、静的コード分析、リファクタリングを提供することで、日常的な反復タスクを自動化し、ソフトウェア開発の面白い部分に集中できるようにします。これにより、生産性が向上するだけでなく、楽しい体験も得られます。マルチプラットフォーム:IntelliJ IDEA は、Windows、macOS、Linux で一貫したエクスペリエンスを提供するクロスプ...

コードリファレンス情報

パラメーター情報:パラメーター情報ポップアップには、メソッドおよび関数呼び出しのパラメーターの名前が表示されます。IntelliJ IDEA は、エディターで左括弧を入力するか、候補リストからメソッドを選択してから 1 秒(1000 ミリ秒)以内に、使用可能なすべてのメソッドシグネチャーを含むポップアップを自動的に表示します。ポップアップが閉じている場合、または IDE がポップアップを自動的に表示しないように構成されている場合は、ポップアップを明示的に呼び出すことができます。これを行うには、...

コード補完

このセクションでは、コーディングプロセスのスピードアップを可能にするコンテキスト対応コード補完のさまざまなテクニックについて説明します。基本補完:基本コード補完は、可視性スコープ内のクラス、メソッド、フィールド、キーワードの名前を完成させるのに役立ちます。コード補完を呼び出すと、IntelliJ IDEA はコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します (提案にはライブテンプレートも含まれます)。基本コード補完がフィールド、パラメーター、変数宣言の一部に適用されて...

ソースコードの作成と編集

コードを使用する場合、IntelliJ IDEA は作業にストレスがないことを保証します。追加、選択、コピー、移動、編集、折りたたみ、出現箇所の検索、コードの保存に役立つさまざまなショートカットと機能を提供します。エディター内のナビゲーションについては、エディターの基本を参照してください。アクションの検索使用したいアクションのショートカットを覚えていない場合は、を押して名前でアクションを見つけてください。同じダイアログを使用してクラス、ファイル、シンボルを見つけることができます。詳しくは、どこ...

依存関係構造マトリックス

多数の依存関係を持つ複雑なプロジェクトに取り組むことで、どこで問題を探すのかを理解することが難しくなります。アプリケーションのパフォーマンスや動作に重大な影響を及ぼす可能性のある複雑な関係や周期的な依存関係が発生する可能性があります。これが DSM が役立つところです。DSM は依存関係構造マトリックスの略で、プロジェクトの各部分(モジュール、クラスなど)間の依存関係を視覚化し、情報フローを強調するのに役立つメソッドです。DSM 分析を使用して、変更がプロジェクトに与える影響を確認することができます...

構造検索と置換

従来の検索プロセスでは、ソースコードの構文とセマンティクスが考慮されていません。正規表現を使用している場合でも、IntelliJ IDEA はコードを正規表現として扱います。構造検索および置換(SSR)アクションを使用すると、コード構造を考慮して、コード内の特定のコードパターンまたは文法構造を検索できます。IntelliJ IDEA は、作成した検索テンプレートと適用した条件に基づいて、ソースコードのフラグメントを見つけて置き換えます。ターゲットを構造的に検索するに移動して、構造検索ダイアログを...