JDT 基核選項可從一些 API 中存取。 所有這些 API 位在 JavaCore 中。 只有四個方法是操作選項所必要的:
選項是操作為所有已知可配置選項和他們的值的雜湊表。 已為每一個選項 ID 和可能的常數值,在 JavaCore 上定義說明常數。
如果您只要使用您的選項配置 JDT 基核,下列程式碼片段將發生作用:
// 取得現行選項
Hashtable options = JavaCore.getDefaultOptions();
// 變更選項值
options.put(JavaCore.COMPILER_PB_DEPRECATION, JavaCore.ERROR);
// 設定新選項
JavaCore.setOptions(options);
如果您要保存現行選項並只修改其中一個選項:
// 取得現行選項
Hashtable options = JavaCore.getOptions();
// 變更選項值
options.put(JavaCore.COMPILER_PB_DEPRECATION, JavaCore.ERROR);
// 設定新選項
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) | |
無法解析的 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_HIDDEN_CATCH_BLOCK) | |
本端至 try 陳述式,有些快取區塊可能隱藏其他的,例如
try { throw new java.io.CharConversionException(); } catch (java.io.CharConversionException e) { } catch (java.io.IOException e) {}.啟用這個選項時,編譯程式將對已勾選異常狀況對應的隱藏的快取區塊發出錯誤或警告。 |
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' 識別碼的用法 (COMPILER_PB_ASSERT_IDENTIFIER) | |
當啟用時,當 'assert' 用作識別碼時,編譯程式發出錯誤或警告(保留關鍵字在 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) | |
指定每一個編譯單元上所報告的問題上限數目(如果上限為 0 則報告所有問題)。 | 正整數。 預設值為 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) | |
全部清除時,將移除所有空白行。保留一行時,僅保留一行,其餘都將移除。 | CLEAR_ALL |
PRESERVE_ONE | |
在 Else/If 之間插入新行 (FORMATTER_NEWLINE_ELSE_IF) | |
插入時,當他們是連續時,空白行插入在 else 和 if 之間。 選取不插入,else-if 儘可能保存在原來的行。 | INSERT |
DO_NOT_INSERT | |
在空白區塊之間插入新行 (FORMATTER_NEWLINE_ELSE_IF) | |
選擇插入時,若 } 後面沒有跟著關鍵字,將在連續的 { } 之間插入換行符號。 | INSERT |
DO_NOT_INSERT | |
分割超出長度的字行 (FORMATTER_LINE_SPLIT) | |
啟用分割長行(超出可配置長度)。長度 0 將停用分行 | 正整數。 預設值為 80 |
壓縮指派 (FORMATTER_COMPACT_ASSIGNMENT) | |
可以用非對稱方式製作以格式指派,如 'int x= 2;',當選擇 "NORMAL" 時,將在指派運算元前插入一個空格 | COMPACT |
NORMAL | |
定義內縮字元 (FORMATTER_TAB_CHAR) | |
選擇以 Tab 字元或空格內縮 | TAB |
SPACE | |
定義空格內縮長度 (FORMATTER_TAB_SIZE) | |
使用空格時,設定空格字元的數量以供每一個內縮標記使用。 | 正整數。 預設值為 4 |
說明 | 值 |
---|---|
啟動可見性敏感性的完成 (CODEASSIST_VISIBILITY_CHECK) | |
在作用中時,完成不顯示您所看不見的(例如,您看不見 Super 類別的私密方法)。 | ENABLED |
DISABLED | |
隱含成員的自動資格 (CODEASSIST_IMPLICIT_QUALIFICATION) | |
在作用中時,完成自動資格隱含的欄位參照和訊息表示式的完成。 | ENABLED |
DISABLED |