Что нужно?
Мы пишем расширение для затмения 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!");
}
после неиспользования (a.k.a. текущее состояние) (III
):
public class Test {
#
public static void main(String[] args) {
System.out.println("Test!");
}
Текущее состояние:
Преобразование из I
в III
может быть выполнено через IDocument.replace()
, InsertEdit
или через IDocumentExtension4
rewriteSessions.
Проблема заключается в том, как вызвать функцию отступа JavaEditor после вставки новой строки из расширения. Или вообще можно сделать прямой отступ строки (I
до II
)? (Длина отступа должна , а не всегда быть той из текущей строки, но правильной. * Пакеты internal
не должны использоваться, если это возможно, иначе IndentUtil
будет решением.) 1038 *