Форматировщик Eclipse С++ ставит новую строку перед идентификаторами метода
У меня возникла проблема с форматированием Eclipse. Он не будет правильно форматировать мой код при объявлении методов в объявлении класса. Он возвращает новую строку после возвращаемого типа метода.
Я уже экспортировал файл стиля xml и изучил его параметры, но ни у одного из параметров не было видимого подключения к этой проблеме, а редактор настроек в Eclipse не показывал ту же проблему, что и в нем, пример кода для метода деклараций.
Вот пример кода для того, что я хочу:
class MyClass
{
public:
MyClass();
void myMethod();
};
Однако это то, что я получаю:
class MyClass
{
public:
MyClass();
void
myMethod();
};
Опять же, в редакторе стилей код не имеет этой проблемы и выглядит так, как я этого хочу, но в фактическом коде история отличается.
Я использую версию 3.8.0. Любая помощь приветствуется.
Изменить: я удалил те исходные файлы, которые были отформатированы некорректно (после форматирования кода несколько раз безрезультатно) и заменили их на "идентичные" файлы теми же методами, одинаковой структурой и т.д. Я отформатировал код на этот раз и это сработало. Вероятно, это ошибка, но я оставляю ее на всякий случай, если кто-либо сталкивается с аналогичной проблемой или имеет решение, чтобы избежать этой проблемы в первую очередь.
Ответы
Ответ 1
Я вручную отредактировал два файла в главном каталоге проектов eclipse
.metadata\.plugins\org.eclipse.core.runtime\.settings
Два файла:
file 1: org.eclipse.cdt.core.prefs, change this line from "insert" to "do not insert"
org.eclipse.cdt.core.formatter.insert_new_line_before_identifier_in_function_declaration=do not insert
file 2: org.eclipse.cdt.ui.prefs,
scan this file for "insert_new_line_before_identifier_in_function_declaration" and make a similar change from insert to do not insert next to it, should be obvious
Примечание. Я видел эту проблему в отношении индиго и juno, описанное выше исправление находилось в juno.
Ответ 2
Если у вас есть пользовательский конфигуратор форматирования, сначала экспортируйте его (настройки > C/С++ Общие > Форматирование > Редактировать > Экспорт). Затем измените следующую строку, чтобы "не вставлять". Сохраните XML.
<setting id="org.eclipse.cdt.core.formatter.insert_new_line_before_identifier_in_function_declaration" value="do not insert"/>
Удалите текущую конфигурацию и импортируйте тот, который вы изменили.
Ответ 3
Особое предпочтение отдается параметрам форматирования, начиная с версии 9.8, включенной в Eclipse 2019-06.