所需要的?

我们正在编写扩展以Eclipse的JavaEditor。我们需要一种方法之前和行的光标是在后添加一行。

在新的行中的光标应该在正确的位置(正确indeted)。

样品(#是光标):

之前(I):

public class Test {
    public static void main#(String[] args) {
        System.out.println("Test!");
    }
}

想后(II):

public class Test {
    #
    public static void main(String[] args) {
        System.out.println("Test!");
    }

后不想要的(也称为本状态)(III):

public class Test {
#
    public static void main(String[] args) {
        System.out.println("Test!");
    }

当前状态:

IIII转化可以通过IDocument.replace()来完成,一个InsertEdit或经由IDocumentExtension4的rewriteSessions。

问题是如何调用JavaEditor的缩进函数插入从扩展新的行之后。或者是它甚至有可能缩进线直达正确的(III)? (缩进的长度应的始终是当前行中的所述一个,但正确的。internal包不应该被使用,如果可能的话,否则IndentUtil将是解决办法。)

有帮助吗?

解决方案

的一个解决方案似乎是不使用IDocument.replace(),e.g。

myTextViewer.getDocument().replace(...)

insert(),e.g。

textViewer.getTextWidget().insert(...)

这作品但还不是完整的解决方案来调用函数缩进而不产生依赖于:-( org.eclipse.jdt,这仍需要。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top