Se seu plug-in ler arquivos de texto, ele deverá aceitar a preferência de codificação de arquivo de texto no workbench.
Os arquivos de texto são codificados de forma diferente, dependendo da plataforma e do locale. Na maior parte do tempo, será suficiente utilizar a codificação de arquivo de texto padrão para o locale do sistema operacional do host. Entretanto, um usuário pode trabalhar com arquivos de texto originados de outra fonte. Graças à capacidade de utilizar o Eclipse em um ambiente de equipe em rede, certamente é possível que os usuários trabalhem com arquivos de texto que utilizem um esquema de codificação diferente do esquema de codificação original para facilitar a troca de arquivos com outra equipe.
Por este motivo, o workbench define seu próprio perfil de codificação, especificado pelo usuário no diálogo Preferências. Os plug-ins que interpretam arquivos de texto, como editores e construtores, devem consultar a preferência de codificação do workbench em vez de assumir que a codificação instalada do sistema operacional está em uso.
A preferência de codificação atual pode ser obtida no plug-in de recursos utilizando ResourcesPlugin.getEncoding(). Essa codificação deve ser transmitida para leitores java.io, em vez de utilizar a codificação padrão do sistema.
Se for necessário rastrear alterações para essa preferência, conecte um ouvinte nas preferências ResourcesPlugin e reaja a alterações em ResourcesPlugin.PREF_ENCODING. O exemplo a seguir vem do editor de texto padrão:
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(); }