小编chr*_*mel的帖子

使用JDT以编程方式格式化源代码

我正在用JDT生成一些类.之后我想格式化整个ICompilationUnit,就像我在没有选择的情况下在打开的编辑器中按下Ctrl + Shift + F(源>格式)一样.

JDT中用于以编程方式格式化源代码的API的任何指针都非常受欢迎.

另外:我试过这样,但代码没有改变.我在忙什么?

private void formatUnitSourceCode(ICompilationUnit targetUnit, IProgressMonitor monitor) throws JavaModelException {
    CodeFormatter formatter = ToolFactory.createCodeFormatter(null);
    TextEdit formatEdit = formatter.format(CodeFormatter.K_COMPILATION_UNIT, targetUnit.getSource(), 0, targetUnit.getSource().length(), 0, null);
    targetUnit.applyTextEdit(formatEdit, monitor);
}
Run Code Online (Sandbox Code Playgroud)

java eclipse eclipse-jdt

7
推荐指数
1
解决办法
3534
查看次数

如何为Java源文件中的多个问题编写Eclipse QuickFix

在重构某些遗留代码期间,需要创建我们自己的Eclipse Quick Fix对代码进行一些小的更正。在本文(德语)之后,这(本身)非常简单:http : //jaxenter.de/artikel/Eclipse-JDT-um-eigene-Quickfixes-erweitern

快速IQuickFixProcessor扩展()是通过扩展点添加的,扩展点org.eclipse.jdt.ui.quickFixProcessors创建了一个IJavaCompletionProposal要执行的工作。在IQuickFixProcessor有现成的AST做的代码更改。

我现在面临的问题是,我一次只能将快速修复应用于一个问题。如果我选择多个问题(所有问题都属于同一类型,因此适用我的自定义快速修复),则会出现错误“所选问题没有通用的适用快速修复”。

如何创建可用于同一类型的多个问题的快速修复?

org.eclipse.ui.ide.markerResolution对于Java源文件,使用Acanda建议的扩展点似乎很难实现。对于一个没有AST可用,只有一个IMarker实例。我如何获得AST CompilationUnit,并违规ASTNodeIMarker

更笼统:JDT中是否有API桥可用于IMarker实例` ?

java eclipse eclipse-jdt

4
推荐指数
1
解决办法
906
查看次数

标签 统计

eclipse ×2

eclipse-jdt ×2

java ×2