プラグインがテキスト・ファイルを読み取る場合、ワークベンチのテキスト・ファイル・エンコード設定が重要になります。
テキスト・ファイルは、プラットフォームおよびロケールによって異なった様式にエンコードされます。 多くの場合、ホスト・オペレーティング・システムのロケール用のデフォルトのテキスト・ファイル・エンコードで十分です。 しかし、ユーザーは、別のソースから作られているテキスト・ファイルで作業したい場合があります。 ネットワーク化されたチーム環境で Eclipse を使用する能力があれば、ファイルを別のチームと容易に交換できるよう、 確実に、ネイティブのエンコード・スキームよりも、異なるエンコード・スキームを使用するテキスト・ファイルで作業したくなる可能性があります。
この理由から、ワークベンチは所有するエンコード・プロファイルを定義します。 これは、「設定」ダイアログでユーザーによって指定されます。 エディターやビルダーなど、テキスト・ファイルを解釈するプラグインは、 インストール済みオペレーティング・システムのエンコードが使用中であることを前提とするのではなく、ワークベンチ・エンコードの設定を調べます。
現行のエンコード設定は、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(); }