gpt4 book ai didi

java - ASTRewrite 用于 QuickFix : How to position the cursor?

转载 作者:行者123 更新时间:2023-12-02 04:47:22 24 4
gpt4 key购买 nike

我在 Eclipse 插件上工作,并使用 ASTRewrite 创建了一个 QuickFix。简而言之,它的构造方式如下:

public class MyQFXProcessor implements IQuickFixProcessor {
public IJavaCompletionProposal[] getCorrections(IInvocationContext context,
IProblemLocation[] locations) {
AST ast = context.getASTRoot().getAST();
ASTRewrite rw = ASTRewrite.create(ast);
ASTNode replacement = ast.newSimpleName("Test");
rewrite.replace(context.getCoveringNode(), replacement);
IJavaCompletionProposal p = new ASTRewriteCorrectionProposal("My QFX",
context.getCompilationUnit(), rw, 10);
return new IJavaCompletionProposal[]{p};
}
}

到目前为止一切正常。但我还没有设法实现的是在应用建议后设置所需的光标位置。例如,这是在 JDT 中解决添加参数快速修复的方式:

enter image description here

enter image description here

我认为应该有一个 API 可以做到这一点,因为 Eclipse 将这种行为用于不同的用例(在自动完成等方面)。有人知道如何实现吗?

最佳答案

您可以查看 org.eclipse.jdt.internal.ui.text.correction.proposals.LinkedCorrectionProposal 的内部实现和使用,快速修复或设置链接模式的结束位置通过 org.eclipse.jdt.internal.ui.text.correction.proposals.LinkedCorrectionProposal.setEndPosition(ITrackedNodePosition position) 快速协助。

关于java - ASTRewrite 用于 QuickFix : How to position the cursor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31829465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com