JDT Core オプションは、いくつかの API からアクセス可能です。 これらの API のすべては、「JavaCore」にあります。 このオプションを操作するために必要なメソッドは次の 4 つのみです。
オプションは、値を持つすべて既知の構成可能オプションのハッシュ・テーブルとして操作されます。 ヘルパー定数は、オプション ID とその可能な定数値ごとに、 「JavaCore」 で定義されています。
「JDT コア」をユーザー・オプションのみで構成する場合は、次のコード・フラグメントが機能します。
// 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 つのみを変更するには、以下のようにします。
// 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);
すべての「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 | |
隠れた 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_IMPORT) | |
このオプションを使用可能にすると、コンパイラーは、未使用インポート参照に対して、エラーまたは警告を出します。 | 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 | |
ソース互換モードの設定 (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 |
説明 | 値 |
---|---|
リソース・コピー制御用のフィルターの指定 (CORE_JAVA_BUILD_RESOURCE_COPY_FILTER) | |
リソース・コピー処理を制御するフィルターを指定します。 (<name> は、ファイル名パターン (* のワイルドカードのみ可能) あるいは「/」で終わるフォルダーの名前です) | {<name>[,<name>]*}。 デフォルト値は、"" |
無効なクラスパスの場合の打ち切り (CORE_JAVA_BUILD_INVALID_CLASSPATH) | |
クラスパスが無効の場合、ビルダーに打ち切りを命令します | ABORT |
IGNORE |
説明 | 値 |
---|---|
プロジェクト・ビルド順序の計算 (CORE_JAVA_BUILD_ORDER) | |
JavaCore で、クラスパス前提条件チェーンに基づいてプロジェクト・ビルド順序を強制するかどうかを指示します。 このオプションは計算時に、(プロジェクト参照に基づいて) プラットフォーム・デフォルト順序を引き継ぎます。 | COMPUTE |
IGNORE | |
デフォルトのソース・エンコード・フォーマットの指定 (CORE_ENCODING) | |
コンパイルされたソースのエンコード・フォーマットを取得します。 この設定は読み取り専用で、ResourcesPlugin.getEncoding() と同等です。 | 任意のサポートされるエンコード名。 デフォルト値はプラットフォーム・デフォルト |
説明 | 値 |
---|---|
左中括弧の前の改行の挿入 (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 |
説明 | 値 |
---|---|
可視性に依存した完了の活動化 (CODEASSIST_VISIBILITY_CHECK) | |
使用可能にすると、不可視であるものは完了しても表示しません (たとえば、スーパー・クラスの private メソッドを見ることはできません)。 | ENABLED |
DISABLED | |
暗黙メンバーの自動修飾 (CODEASSIST_IMPLICIT_QUALIFICATION) | |
使用可能にすると、完了時にフィールド暗黙参照とメッセージ式の完了を自動的に修飾します。 | ENABLED |
DISABLED |