Использование Ubuntu 16.04, Nsight Eclipse 10.4, Eclipse C / C ++ Tools Tools 8.4.0.nvidia-qualifier.
Работа с кодом C ++.
Цель
I создали новый профиль для кодировщика кода . Предполагаемый результат правильно воспроизводится самой IDE («Окно»> «Установки»> C / C ++> «Стиль кода»> «Форматтер»)
Результат
Однако, когда я соответствующим образом форматирую исходный код, например, с помощью Ctrl + Shift + F , сигнатура функции разделяется в две строки. Это показано ниже в строках 30 и 31. Это нежелательно, поскольку пользовательский стиль стремится вернуть формат, совместимый с удаленным репозиторием. Код компилируется, но добавление новых строк усложняет сравнение с другими ветвями.
Исследования
Я экспортировал новую политика форматирования как xml документ , и единственная инструкция, содержащая ключевое слово 'function':
<setting id="org.eclipse.cdt.core.formatter.insert_new_line_before_identifier_in_function_declaration" value="do not insert"/>
, что мне и нужно. Таким образом, похоже, что IDE игнорирует / возвращает инструкцию, заданную в момент ее чтения и / или применения.
В далеком 2017 , другой OP сообщил о подобном трудности в Eclipse / nsight formatter не учитывает политику отступа тела функции
В далеком 2012 очень похожая проблема возникла для Eclipse C ++ formatter новая строка перед идентификаторами метода ; однако приведенные там советы не работают для меня (возможно, из-за того, что пути за это время изменились?)
Сравнение
После публикации я также понял, что такое же несоответствие возникает для всех встроенных стили кода (BSD / Allman, K & R, Gnu, Whitesmiths). Так что эта проблема не связана строго с пользовательскими стилями.
Вопрос
Есть ли еще что-то, на что я должен обратить внимание? Есть ли обходной путь, чтобы это исправить?