我正在为Eclipse创建一个插件,我创建了一个StructuredTextEditor。编辑器包含XML。我希望很好地对齐代码(如缩进等)。我搜索了一种可能性,即应用Eclipse的标准函数“格式” SHIFT + Ctrl + F 。 我找到了一个代码片段,但是我没有让它起作用:
String commandId = IJavaEditorActionDefinitionIds.FORMAT;
IHandlerService handlerService = (IHandlerService)PlatformUI.getWorkbench().getService(IHandlerService.class);
try {
handlerService.executeCommand(commandId, null);
} catch (Exception e1) {
e1.printStackTrace();
}
我总是得到以下例外:
org.eclipse.core.commands.NotHandledException: There is no handler to execute for command org.eclipse.jdt.ui.edit.text.java.format
是否有人可以帮助我运行此代码,或者获得格式化xml内容的其他解决方案,使用与eclipse格式化程序使用相同的格式非常重要。
答案 0 :(得分:2)
感谢greg-449我搜索了正确的函数来调用并找到它。 这是我使用StructuredTextEditor的函数。
private void formatString() {
String commandId = "org.eclipse.wst.sse.ui.format.document";
IHandlerService handlerService = (IHandlerService) PlatformUI.getWorkbench().getService(IHandlerService.class);
try {
handlerService.executeCommand(commandId, null);
} catch (Exception e1) {
}
}