public void applyConfig() { IFile file = ApplyEditorConfig.getFile(textEditor); if (file != null) { try { Boolean oldSpacesForTabs = spacesForTabs; spacesForTabs = null; Integer oldTabWidth = tabWidth; tabWidth = null; ResourceProperties result = IDEEditorConfigManager.getInstance().queryOptions(file); final IndentStyleValue indetStyle = result.getValue(PropertyType.indent_style.getName(), null, false); if (indetStyle != null) { spacesForTabs = indetStyle == IndentStyleValue.space; if (oldSpacesForTabs != spacesForTabs) { editorStore.firePropertyChangeEvent(EDITOR_SPACES_FOR_TABS, oldSpacesForTabs, spacesForTabs); } } final Integer indetSize = result.getValue(PropertyType.indent_size.getName(), null, false); if (indetSize != null) { tabWidth = indetSize.intValue(); if (oldTabWidth != tabWidth) { editorStore.firePropertyChangeEvent(EDITOR_TAB_WIDTH, oldTabWidth, tabWidth); } } final EndOfLineValue eol = result.getValue(PropertyType.end_of_line.getName(), null, false); if (eol != null) { IEditorInput editorInput = textEditor.getEditorInput(); IDocument document = textEditor.getDocumentProvider().getDocument(editorInput); if (document instanceof IDocumentExtension4) { ((IDocumentExtension4) document) .setInitialLineDelimiter(eol.getEndOfLineString()); } } final String charset = result.getValue(PropertyType.charset.getName(), null, false); if (charset != null) { IEncodingSupport encodingSupport = textEditor.getAdapter(IEncodingSupport.class); if (encodingSupport != null) { encodingSupport.setEncoding(charset.toUpperCase()); } } final Boolean trimTrailigWs = result.getValue(PropertyType.trim_trailing_whitespace.getName(), null, false); if (trimTrailigWs != null) { boolean oldTrimTrailingWhitespace = trimTrailingWhitespace; trimTrailingWhitespace = trimTrailigWs.booleanValue(); if (oldTrimTrailingWhitespace != trimTrailingWhitespace) { editorStore.firePropertyChangeEvent(EDITOR_TRIM_TRAILING_WHITESPACE, oldTrimTrailingWhitespace, trimTrailingWhitespace); } } final Boolean insertFinalNl = result.getValue(PropertyType.insert_final_newline.getName(), null, false); if (insertFinalNl != null) { boolean oldInsertFinalNewline = insertFinalNewline; insertFinalNewline = insertFinalNl.booleanValue(); if (oldInsertFinalNewline != insertFinalNewline) { editorStore.firePropertyChangeEvent(EDITOR_INSERT_FINAL_NEWLINE, oldInsertFinalNewline, insertFinalNewline); } } } catch (IOException e) { e.printStackTrace(); } } }