プロジェクト

全般

プロフィール

IntelliJ IDEA 使用メモ

機能メモ

バージョン管理連携

git

プロジェクト管理ファイルについて

.ideaディレクトリはIDEAのプロジェクト設定が格納される場所です。

.idea/workspace.xml

プロジェクトを開いている状況(ファイルの一覧、タブの並び、ツールウィンドウのオプションや情報、他)。個人毎に異なる。

バージョン管理対象ファイル

.ideaディレクトリ下で、次のファイルを除く。

  • workspace.xml
  • usage.statistics.xml
  • tasks.xml

次のファイル

  • モジュールディレクトリにある.imlファイル
    但し、mavenまたはgradleプロジェクトでは、.imlファイルと、.idea/modules.xmlファイルはバージョン管理対象外とする

プロジェクトの定義

IntelliJ IDEAのプロジェクトは、モジュールを束ねる単位で、モジュールがそれぞれビルドし成果物(JARファイル等)を生成する単位となります。他のIDE(EclipseやNetBeans IDE)のプロジェクトとは概念が異なります。

Java Platform Module System (JPMS)

IntelliJ IDEAでは、プロジェクトの下にモジュールを定義する構造となります。このモジュールはそれぞれ1つのJARファイルを生成します。このモジュールに、module-info.javaを定義すると、IntelliJ IDEAのビルド・実行時にJPMSとして扱われます。

サードパーティーライブラリ

JDK(Java SE)のAPI以外のサードパーティーライブラリを利用するときは、Dependenciesにライブラリを定義します。
定義は、利用範囲に応じて3段階あります。

  1. グローバル
  2. プロジェクト
  3. モジュール

ライブラリの定義時に、mavenリポジトリから指定のフォルダへダウンロードする機能があります。

Java編集

メソッドのJavadoc表示

マウスをメソッド名の上に載せたときにそのメソッドのJavadocを表示する機能がありますが、デフォルトでは無効となっています。
[File]メニュー > [Settings] で「Settings]画面を表示し、左側ペインで[Editor] > [General]を選択、右側ペインで Otherカテゴリの[Show quick documentation on mouse move]にチェックを付けます。

サードパーティーライブラリのJavadocを表示するときは、ライブラリの定義にJavadocの設定(URL指定あるいはJavadocのファイル)も追加しておきます。

略語展開によるコード記述

Live Template機能により、略語(例えば、psf)を入力後、展開操作(例えば、TABキー)をすると、コードに展開されます(例えば、public static final)。
自由に追加することができます。

java.util.logging.Loggerのクラス変数記述を登録する

Live Templatesはいくつかグループ分けされています。Java関係は、デフォルトではiterations、other、output、plain、surroundのグループがあります。loggingは機能的にはoutputグループが近いですが、あとでロギング関係のテンプレートを複数登録すると思われるので、新たにloggingグループを作ってその中にテンプレート定義を入れていきます。

  • [File]メニュー > [Settings] で「Settings」画面を開き、左側ペインで[Editor] > [Live Templates]を選択、右側ペインで[+]を押し、ポップアップメニューの[2.Template Group]を選択する。
  • 「Create New Group」ダイアログが開くので、logging と入力し[OK]ボタンを押す。
  • [logging]が一覧に追加されるので、これを選択状態にして右側ペインの[+]を押し、ポップアップメニューの[1.Live Template]を選択する。
  • [Abbreviation]欄に、logr を、[Description]欄に、java.util.logging.Logger class variable for this class. と入力し、[Template text]欄に以下のコード断片を記述する。
    private static final java.util.logging.Logger logger = Logger.getLogger($CLASS_NAME$.class.getName());
    
    • FQCNで記述すると、その型のimport文が生成される
    • クラス変数を定義するクラスのクラス名を自動で挿入するため、クラス名部分を変数で記述(ここでは$CLASS_NAME%としているが任意の変数名でよい)
    • 右辺のLoggerは、既に左辺でFQCN指定しているのでここではFQCNでなくてよい
  • [Edit variables]ボタンを押し、「Edit Template Variables」ダイアログが開くので、空欄となっているExpressionセルをクリック、ドロップダウンリストからclassName()を選択する。

こんなときどうするの?

コードのスタイル設定

インデントを変更しても反映されない

  • 問題
    [ファイル]メニュー > [設定] で「設定」画面を開き、左ペインの [エディタ] > [コード・スタイル] > [Kotlin] を選択、右ペインの[タブとインデント]タブでタブ・サイズとインデントの値を変更できます。変更後、ソースファイルの編集画面で改行をしてもインデントサイズは設定変更前の大きさのままです。
  • 解決
    対象ソースファイルに対して、[コード]メニュー > [コードの再フォーマット]を実行します。以降、変更したタブ・サイズとインデントが反映されます。

クリップボードから画像を追加 (サイズの上限: 1 GB)