0

需要什么?

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

新行上的光标应该在正确的位置(正确地插入)。

示例(# 是光标):

( 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!");
    }

现状:

Ito的转换III可以通过IDocument.replace(), anInsertEdit或 viaIDocumentExtension4的 rewriteSessions 来完成。

问题是如何在从扩展中插入新行后调用 JavaEditor 的缩进函数。或者甚至可以直接缩进正确的行(III)?(缩进的长度应该总是当前行的长度,而是正确的。internal如果可能,不应使用包,否则IndentUtil将是解决方案。)

4

1 回答 1

0

一种解决方案似乎是不使用IDocument.replace(),例如

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

但是insert(),例如

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

这可行,但还不是一个完整的解决方案,可以调用 indent 函数而不生成对org.eclipse.jdt:-( 的依赖关系。这仍然是需要的。

于 2009-03-27T19:39:05.843 回答