Как предотвратить форматирование в XText

У меня есть проект xtext. У меня нет класса Format, но какое-то форматирование по умолчанию создается, когда я нажимаю ctrl + f.

Каким образом я могу предотвратить форматирование? Я предполагаю, что мне нужно переопределить класс форматирования, но каким образом я могу создать этот класс? Или, может быть, я могу запретить форматирование по умолчанию в настройках проекта?

С уважением, Владимир


person Vladimir Kozhaev    schedule 25.08.2016    source источник


Ответы (1)


вы можете либо просто "создать" класс

class MyDslRuntimeModule extends AbstractMyDslRuntimeModule {

    def Class<? extends IFormatter2> bindIFormatter2() {
        Formatter2NullImpl
    }

    def void configureFormatterPreferences(Binder binder) {
        binder.bind(IPreferenceValuesProvider).annotatedWith(FormatterPreferences).to(FormatterPreferenceValuesProvider);
    }

}

class Formatter2NullImpl implements IFormatter2 {

    override format(FormatterRequest request) {
        return #[]
    }

}

@FinalFieldsConstructor
class MyDslUiModule extends AbstractMyDslUiModule {

    override Class<? extends IContentFormatterFactory> bindIContentFormatterFactory() {
        return org.eclipse.xtext.ui.editor.formatting2.ContentFormatterFactory;
    }
}

или настроить рабочий процесс для этого

language = StandardLanguage {
    ...
    formatter = {
        generateStub = true
    }
    ...
}

и отредактируйте сгенерированный класс

person Christian Dietrich    schedule 26.08.2016