如果您的外掛程式讀取文字檔,應該在工作台中出現文字檔編碼喜好設定。
依平台和語言環境,文字檔的編碼會有所不同。大部分的時間, 對主機作業系統的語言環境使用預設的文字檔編碼已足夠。然而, 使用者可能想使用源自於另一個來源的文字檔。 在網路團隊環境中提供使用平台的能力,使用者當然可能想使用不同編碼方法的文字檔, 而非他們的原生編碼方法,這樣一來可更易於與其他團隊交換檔案。
基於這個原因,工作台自行定義在喜好設定對話框中使用者所指定的編碼設定檔。 使用者可以在工作台 > 編輯器喜好設定頁面中選擇可用的編碼選項, 或鍵入他們自己的編碼。解譯文字檔的外掛程式,如編輯器和建置器, 應該參閱工作台編碼喜好設定,而不是假設使用已安裝的作業系統編碼。
您可以取得編碼喜好設定,方法是使用 ResourcesPlugin.getEncoding()。 這個編碼應傳遞至 java.io 讀取器,取代使用預設的系統編碼。如果您需要追蹤對這個喜好設定的變更,可以在 ResourcesPlugin 喜好設定中連結接聽器並反應 ResourcesPlugin.PREF_ENCODING 中的變更。 下列範例來自預設的文字編輯器:
public void initialize(StatusTextEditor textEditor) { fTextEditor= textEditor; fPropertyChangeListener= new Preferences.IPropertyChangeListener() { public void propertyChange(Preferences.PropertyChangeEvent e) { if (ResourcesPlugin.PREF_ENCODING.equals(e.getProperty())) setEncoding(null, false); } }; Preferences p= ResourcesPlugin.getPlugin().getPluginPreferences(); p.addPropertyChangeListener(fPropertyChangeListener); fEncodingActionGroup= new EncodingActionGroup(fTextEditor); fEncodingActionGroup.update(); }
使用者也可以在編輯器的編輯 > 編碼功能表中,變更特殊檔案的編碼。 如果您正在開啟的編輯器中操作文字, 您應該改用 IEncodingSupport.getEncoding(), 以便取得特殊編輯器的編碼。下列範例顯示如何從編輯器取得這個資訊:
IEncodingSupport encodingSupport = (IEncodingSupport) editor.getAdapter(IEncodingSupport.class); String encoding = encodingSupport.getEncoding();