JDT コア・オプションは、Java コンパイラー、コード・フォーマッター、コード・アシスト、 およびその他のコア動作など、コア・フィーチャーの動作を制御します。 オプションにアクセスするための API は JavaCore で定義されます。 オプションには、以下のグループとしてアクセスできます。
オプションには、ストリング名によって個別にアクセスすることもできます。
オプションは、値を持つすべて既知の構成可能オプションのハッシュ・テーブルとして保管されます。 ヘルパー定数は、オプション ID とその可能な定数値ごとに、 「JavaCore」 で定義されています。
次のコードのフラグメントでは、特別に設定される 1 つのオプション
(COMPILER_PB_DEPRECATION
) を除いて、
すべてのコア・オプションの値がデフォルトに復元されます。
// Get the current options
Hashtable options = JavaCore.getDefaultOptions();
// Change the value of an option
options.put(JavaCore.COMPILER_PB_DEPRECATION, JavaCore.ERROR);
// Set the new options
JavaCore.setOptions(options);
次のコードのフラグメントでは、現行オプションの値が保持され、1 つのオプション
(COMPILER_PB_DEPRECATION
) の値のみが変更されます。
// Get the current options
Hashtable options = JavaCore.getOptions();
// Change the value of an option
options.put(JavaCore.COMPILER_PB_DEPRECATION, JavaCore.ERROR);
// Set the new options
JavaCore.setOptions(options);
オプションの値は、IJavaProject のプロトコルを使用してプロジェクトごとにオーバーライドできます。
次のコード・フラグメントでは、特定のプロジェクトについてオプション
(COMPILER_PB_DEPRECATION
) の値が 2 つの方法で検索されます。
ブール・パラメーターは、照会でプロジェクト固有のオプションのみが戻されるかどうか、
またはプロジェクトのオプション値を JavaCore の値とマージするかどうかを制御します。
// Get the project IJavaProject project = ...; // See if the value of an option has been set in this project String value = project.getOption(JavaCore.COMPILER_PB_DEPRECATION, false); if (value == null) { // no specific option was set on the project ... } // Get the value of an option from this project. Use the value from // JavaCore value if none is specified for the project String value = project.getOption(JavaCore.COMPILER_PB_DEPRECATION, true);
次の表は、使用可能な JDT コア・オプションの説明です。 オプション ID は括弧内に示され、デフォルト値は太字のイタリックで示されます。
説明 | 値 |
---|---|
ローカル変数のデバッグ属性の生成 (COMPILER_LOCAL_VARIABLE_ATTR) | |
生成されると、この属性は、変数が明確に割り当てられる場所でのみ、 ローカル変数名をデバッガーで表示することができます (.class ファイルはより大きくなります)。 | GENERATE |
DO_NOT_GENERATE | |
行番号デバッグ属性の生成 (COMPILER_LINE_NUMBER_ATTR) | |
この属性を生成すると、デバッガーでソース・コードを強調表示できます (.class ファイルは大きくなります)。 | GENERATE |
DO_NOT_GENERATE | |
ソースのデバッグ属性の生成 (COMPILER_SOURCE_FILE_ATTR) | |
この属性を生成すると、デバッガーは対応するソース・コードを表示します。 | GENERATE |
DO_NOT_GENERATE | |
未使用ローカル変数の保存 (COMPILER_CODEGEN_UNUSED_LOCAL) | |
未使用ローカル変数の保存を要求しない (つまり、読み取らない) 場合、コンパイラーはそれらを最適化し、潜在的にデバッグを変更します。 | PRESERVE |
OPTIMIZE_OUT | |
ターゲット Java プラットフォームの定義 (COMPILER_CODEGEN_TARGET_PLATFORM) | |
バイナリー互換性の理由から、.class ファイルは特定の VM バージョン以降でタグ付けすることができます。 「1.4」ターゲットでは、「1.4」に対する承諾モードにも切り替える必要があります。 | VERSION_1_1 |
VERSION_1_2 | |
VERSION_1_3 | |
VERSION_1_4 | |
到達不能コードの報告 (COMPILER_PB_UNREACHABLE_CODE) | |
到達不能コードは、オプションで、エラーまたは警告として報告するか、あるいは単に無視することができます。 バイトコード生成は、これを常に最適化します。 | ERROR |
WARNING | |
IGNORE | |
無効なインポートの報告 (COMPILER_PB_INVALID_IMPORT) | |
解決できないインポート・ステートメントは、オプションで、エラーまたは警告として報告するか、あるいは無視することができます。 | ERROR |
WARNING | |
IGNORE | |
パッケージ・デフォルト・メソッドのオーバーライド試行の報告 (COMPILER_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD) | |
パッケージ・デフォルト・メソッドは別のパッケージで可視ではないため、これをオーバーライドできません。 このオプションを使用可能にすると、コンパイラーはエラーまたは警告としてシグナルを出します。 | ERROR |
WARNING | |
IGNORE | |
コンストラクター名を持つメソッドの報告 (COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME) | |
一般に、メソッドにコンストラクター名を使用して名前を付けると、プログラミングのスタイルが不良であると見なされます。 このオプションを使用可能にすると、コンパイラーはエラーまたは警告としてシグナルを出します。 | ERROR |
WARNING | |
IGNORE | |
不適の報告 (COMPILER_PB_DEPRECATION) | |
使用可能にすると、コンパイラーは使用すべきでない API の使用をエラーまたは警告として通知します。 | ERROR |
WARNING | |
IGNORE | |
使用すべきでないコード内の不適の報告 (COMPILER_PB_DEPRECATION_IN_DEPRECATED_CODE) | |
使用可能にすると、コンパイラーは使用すべきでない API の使用をエラーまたは警告として通知します。 | ENABLED |
DISABLED | |
隠れた catch ブロックの報告 (COMPILER_PB_HIDDEN_CATCH_BLOCK) | |
try ステートメントに関して、次のように catch ブロックが他のものを隠すことがあります。
try { throw new java.io.CharConversionException(); } catch (java.io.CharConversionException e) { } catch (java.io.IOException e) {}.このオプションを使用可能にすると、コンパイラーは、検査された例外に対応する隠れた catch ブロックに対して、エラーまたは警告を出します。 |
ERROR |
WARNING | |
IGNORE | |
未使用ローカルの報告 (COMPILER_PB_UNUSED_LOCAL) | |
このオプションを使用可能にすると、コンパイラーは、未使用ローカル変数 (つまり、読み取られない変数) に対して、エラーまたは警告を出します。 | ERROR |
WARNING | |
IGNORE | |
未使用パラメーターの報告 (COMPILER_PB_UNUSED_PARAMETER) | |
このオプションを使用可能にすると、コンパイラーは、未使用メソッド・パラメーター (つまり、決して読み取られないパラメーター) に対して、エラーまたは警告を出します。 | ERROR |
WARNING | |
IGNORE | |
抽象メソッドをインプリメントする場合の未使用パラメーターの報告 (COMPILER_PB_UNUSED_PARAMETER_WHEN_IMPLEMENTING_ABSTRACT) | |
使用可能にすると、コンパイラーは、 抽象メソッド・インプリメンテーションで未使用パラメーターにシグナルを出します。 | ENABLED |
DISABLED | |
具象メソッドをオーバーライドする場合の未使用パラメーターの報告 (COMPILER_PB_UNUSED_PARAMETER_WHEN_OVERRIDING_CONCRETE) | |
使用可能にすると、コンパイラーは、 具象メソッドをオーバーライドするメソッドの未使用パラメーターにシグナルを出します。 | ENABLED |
DISABLED | |
未使用インポートの報告 (COMPILER_PB_UNUSED_IMPORT) | |
このオプションを使用可能にすると、コンパイラーは、未使用インポート参照に対して、エラーまたは警告を出します。 | ERROR |
WARNING | |
IGNORE | |
未使用専用メンバーの報告 (COMPILER_PB_UNUSED_PRIVATE_MEMBER) | |
使用可能にすると、コンパイラーは、private メソッドまたはフィールドが宣言されても、 同じ単位内で使用されないときにエラーまたは警告を出します。 | ERROR |
WARNING | |
IGNORE | |
アクセス・エミュレーション合成の報告 (COMPILER_PB_SYNTHETIC_ACCESS_EMULATION) | |
使用可能にすると、コンパイラーはエンクロージング型のアクセス不能メンバーへのアクセスをエミュレートするとき、エラーまたは警告を出します。 そのようなアクセスはパフォーマンス上の問題を含む可能性があります。 | ERROR |
WARNING | |
IGNORE | |
外部化されていないストリング・リテラルの報告 (COMPILER_PB_NON_NLS_STRING_LITERAL) | |
使用可能にすると、コンパイラーは、外部化されていないストリング・リテラル (つまり、//$NON-NLS-<n>$ のタグがないもの) に対して、エラーまたは警告を出します。 | ERROR |
WARNING | |
IGNORE | |
「assert」ID の使用の報告 (COMPILER_PB_ASSERT_IDENTIFIER) | |
使用可能にすると、コンパイラーは、「assert」を ID として使用するときは常に、エラーまたは警告を出します (1.4 では予約キーワード) | ERROR |
WARNING | |
IGNORE | |
static メンバーへの非 static 参照の報告 (COMPILER_PB_STATIC_ACCESS_RECEIVER) | |
使用可能にすると、コンパイラーは、 static フィールドまたはメソッドが式受信側でアクセスされるときにエラーまたは警告を出します。 | ERROR |
WARNING | |
IGNORE | |
効果のない代入の報告 (COMPILER_PB_NO_EFFECT_ASSIGNMENT) | |
使用可能にすると、コンパイラーは、代入に効果がないとき (例えば 'x = x') にエラーまたは警告を出します。 | ERROR |
WARNING | |
IGNORE | |
非継承メソッドとの互換性がないインターフェース・メソッドの報告 (COMPILER_PB_INCOMPATIBLE_NON_INHERITED_INTERFACE_METHOD) | |
使用可能にすると、コンパイラーは、 非継承オブジェクト・メソッドとの互換性のないメソッドをインターフェースが定義するときにエラーまたは警告を出します。 | ERROR |
WARNING | |
IGNORE | |
ストリング連結での char[] 式の使用の報告 (COMPILER_PB_CHAR_ARRAY_IN_STRING_CONCATENATION) | |
使用可能にすると、コンパイラーは、ストリング連結で char[] 式 (例えば、"hello" + new char[]{'w','o','r','l','d'}) が使用されるとエラーまたは警告を出します。 | ERROR |
WARNING | |
IGNORE | |
ソース互換モードの設定 (COMPILER_SOURCE) | |
ソースが 1.3 あるいは 1.4 互換かどうかを指定します。 1.4 からは、「assert」は断言サポートで予約されたキーワードです。 また、1.4 モードに切り替えるときは、ターゲット VM レベルは「1.4」に、承諾モードも「1.4」に設定する必要があることに注意してください。 | VERSION_1_3 |
VERSION_1_4 | |
承諾レベルの設定 (COMPILER_COMPLIANCE) | |
コンパイラー用に承諾レベルを選択します。 「1.3」モードでは、ソースおよびターゲットの設定は、「1.3」レベルを超えてはいけません。 | VERSION_1_3 |
VERSION_1_4 | |
コンパイラー単位に報告される問題の最大数 (COMPILER_PB_MAX_PER_UNIT) | |
各コンパイル単位に報告される問題の最大数を指定します (最大がゼロの場合は、すべての問題が報告されます)。 | 正の整数。 デフォルト値は 100 |
自動タスク・タグの定義 (COMPILER_TASK_TAGS) | |
タグが空でないとき、コンパイラーは、 Java ソース・コードのコメント内で対応するタグのいずれかを検出するとタスク・マーカーを出します。 生成されるタスク・メッセージには、タグと、次の行分離文字またはコメントの終わりまでの範囲が組み込まれ、 このメッセージはトリムされます。 | {<tag>[,<tag>]*}. デフォルト値は、"" |
自動タスク優先順位の定義 (COMPILER_TASK_PRIORITIES) | |
自動タスク・タグと平行して、このリストは、 コンパイラーによって出されるタスク・マーカーの優先順位 (高、中、低) を定義します。 デフォルトが指定された場合、各タスク・マーカーの優先順位は「NORMAL」になります。 | {<priority>[,<priority>]*}. デフォルト値は、"" |
説明 | 値 |
---|---|
リソース・コピー制御用のフィルターの指定 (CORE_JAVA_BUILD_RESOURCE_COPY_FILTER) | |
リソース・コピー処理を制御するフィルターを指定します。 (<name> は、ファイル名パターン (* のワイルドカードのみ可能) あるいは「/」で終わるフォルダーの名前です) | {<name>[,<name>]*}。 デフォルト値は、"" |
無効なクラスパスの場合の打ち切り (CORE_JAVA_BUILD_INVALID_CLASSPATH) | |
クラスパスが無効の場合、ビルダーに打ち切りを命令します | ABORT |
IGNORE | |
出力フォルダーのクリーン (CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER) | |
フル・ビルド操作を実行するときに JavaBuilder で出力フォルダーをクリーンできるかどうかを指示します。 | CLEAN |
IGNORE |
説明 | 値 |
---|---|
プロジェクト・ビルド順序の計算 (CORE_JAVA_BUILD_ORDER) | |
JavaCore で、クラスパス前提条件チェーンに基づいてプロジェクト・ビルド順序を強制するかどうかを指示します。 このオプションは計算時に、(プロジェクト参照に基づいて) プラットフォーム・デフォルト順序を引き継ぎます。 | COMPUTE |
IGNORE | |
デフォルトのソース・エンコード・フォーマットの指定 (CORE_ENCODING) | |
コンパイルされたソースのエンコード・フォーマットを取得します。 この設定は読み取り専用で、ResourcesPlugin.getEncoding() と同等です。 | 任意のサポートされるエンコード名。 デフォルト値はプラットフォーム・デフォルト |
不完全なクラスパスの報告 (CORE_INCOMPLETE_CLASSPATH) | |
クラスパスのエントリーが存在しない、正規のものではない、可視ではない、のいずれかのとき (例えば、参照されるプロジェクトが閉じている) に報告される問題の重大度を指示します。 | ERROR |
WARNING | |
クラスパス・サイクルの報告 (CORE_CIRCULAR_CLASSPATH) | |
プロジェクトがサイクルに組み込まれているときに報告される問題の重大度を指示します。 | ERROR |
WARNING | |
クラスパス排他パターンの使用可能化 (CORE_ENABLE_CLASSPATH_EXCLUSION_PATTERNS) | |
「DISABLED」に設定すると、 プロジェクト・クラスパスのエントリーを排他パターンに関連付けることができません。 | ENABLED |
DISABLED | |
クラスパスの複数の出力ロケーションの使用可能化 (CORE_ENABLE_CLASSPATH_MULTIPLE_OUTPUT_LOCATIONS) | |
「DISABLED」に設定すると、プロジェクト・クラスパスのエントリーを特定の出力ロケーションに関連付けることができません。 これで、複数の出力ロケーションを使用することができなくなります。 | ENABLED |
DISABLED |
説明 | 値 |
---|---|
左中括弧の前の改行の挿入 (FORMATTER_NEWLINE_OPENING_BRACE) | |
挿入時に、改行が左中括弧の前に挿入されます。それ以外では何も挿入されません。 | INSERT |
DO_NOT_INSERT | |
制御ステートメント内部の改行の挿入 (FORMATTER_NEWLINE_CONTROL) | |
挿入時に、改行が } と後続の else、catch、finally の間に挿入されます。 | INSERT |
DO_NOT_INSERT | |
ブランク行のクリア (FORMATTER_CLEAR_BLANK_LINES) | |
すべてを「クリア」すると、ブランク行が除去されます。 1 つを「保存」すると、1 つのみが保存され、他のすべては除去されます。 | CLEAR_ALL |
PRESERVE_ONE | |
Else/If 間の改行の挿入 (FORMATTER_NEWLINE_ELSE_IF) | |
挿入時に、ブランク行が、1 つの else と 1 つの if が隣接している場合、その間に挿入されます。 挿入しないことを選択すると、else-if は、可能であれば同じ行に保持されます。 | INSERT |
DO_NOT_INSERT | |
空ブロックでの改行の挿入 (FORMATTER_NEWLINE_EMPTY_BLOCK) | |
挿入時に、改行が } の後にキーワードがない場合、隣接する { と } の間に挿入されます。 | INSERT |
DO_NOT_INSERT | |
長さを超える行の分割 (FORMATTER_LINE_SPLIT) | |
構成可能な長さを超える、長い行の分割を可能にします。 長さ 0 では、行分割は使用不可になります。 | 正の整数。 デフォルト値は 80 |
割り当てのコンパクト化 (FORMATTER_COMPACT_ASSIGNMENT) | |
割り当ては、非対称にフォーマットできます (つまり、「int x= 2;」)。 「正規」のとき、スペースが割り当て演算子の前に挿入されます。 | COMPACT |
NORMAL | |
字下げ文字の定義 (FORMATTER_TAB_CHAR) | |
タブ文字で字下げするか、スペースで字下げするかを選択します。 | TAB |
SPACE | |
スペース字下げの長さの定義 (FORMATTER_TAB_SIZE) | |
スペースを使用するとき、字下げマークごとに使用するスペース文字の量を設定します。 | 正の整数。 デフォルト値は 4 |
キャスト式へのスペースの挿入 (FORMATTER_SPACE_CASTEXPRESSION) | |
スペースは挿入時にキャスト式の型と式の間に追加されます。 | INSERT |
DO_NOT_INSERT |
説明 | 値 |
---|---|
可視性に依存した完了の活動化 (CODEASSIST_VISIBILITY_CHECK) | |
活動化時に、完了は不可視であるものを表示しません (例えば、スーパー・クラスの private メソッドを見ることはできません)。 | ENABLED |
DISABLED | |
暗黙メンバーの自動修飾 (CODEASSIST_IMPLICIT_QUALIFICATION) | |
活動化時に、完了は、フィールド暗黙参照とメッセージ式の完了を自動的に修飾します。 | ENABLED |
DISABLED | |
フィールド名の接頭部の定義 (CODEASSIST_FIELD_PREFIXES) | |
接頭部が空ではないとき、フィールド名の入力は、提案されたいずれかの接頭部から始まります。 | {<prefix>[,<prefix>]*}. デフォルト値は、"" |
static フィールド名の定義 (CODEASSIST_STATIC_FIELD_PREFIXES) | |
接頭部が空ではないとき、static フィールド名の入力は、 提案されたいずれかの接頭部から始まります。 | {<prefix>[,<prefix>]*}. デフォルト値は、"" |
ローカル変数名の接頭部の定義 (CODEASSIST_LOCAL_PREFIXES) | |
接頭部が空ではないとき、ローカル変数名の入力は、 提案されたいずれかの接頭部から始まります。 | {<prefix>[,<prefix>]*}. デフォルト値は、"" |
引き数名の接頭部の定義 (CODEASSIST_ARGUMENT_PREFIXES) | |
接頭部が空ではないとき、引き数名の入力は、提案されたいずれかの接頭部から始まります。 | {<prefix>[,<prefix>]*}. デフォルト値は、"" |
フィールド名の接尾部の定義 (CODEASSIST_FIELD_SUFFIXES) | |
接尾部が空ではないとき、フィールド名の入力は、提案されたいずれかの接尾部で終わります。 | {<suffix>[,<suffix>]*}. デフォルト値は、"" |
static フィールド名の接尾部の定義 (CODEASSIST_STATIC_FIELD_SUFFIXES) | |
接尾部が空ではないとき、static フィールド名の入力は、提案されたいずれかの接尾部で終わります。 | {<suffix>[,<suffix>]*}. デフォルト値は、"" |
ローカル変数名の接尾部の定義 (CODEASSIST_LOCAL_SUFFIXES) | |
接尾部が空ではないとき、ローカル変数名の入力は、提案されたいずれかの接尾部で終わります。 | {<suffix>[,<suffix>]*}. デフォルト値は、"" |
引き数名の接尾部の定義 (CODEASSIST_ARGUMENT_SUFFIXES) | |
接尾部が空ではないとき、引き数名の入力は、提案されたいずれかの接尾部で終わります。 | {<suffix>[,<suffix>]*}. デフォルト値は、"" |