Как изменить расширение C++ по умолчанию в Eclipse CDT при создании нового файла?

Моя команда получила мандат на использование определенного стандарта кодирования, и частью этого стандарта является использование.cc в качестве суффикса для файлов реализации класса C (в качестве аргумента это может быть.cxx,.C++ или любое другое число). другие суффиксы, которые не являются.cpp).

Мы используем Eclipse CDT (C/C++ Development Toolkit) для разработки, однако в диалоговом окне "Новый класс C++", например, когда вы вводите имя класса как Classname, он автоматически называет ваш исходный файл как Classname.cpp.,

Конечно, я мог бы снять флажок "использовать по умолчанию" и восстановить суффикс, но это несколько дополнительных шагов и много, чтобы попросить каждого инженера в крупномасштабном проекте не забывать делать каждый раз, когда они создают новый класс C++.

Однако я был в замешательстве, пытаясь найти вариант, позволяющий указать суффикс по умолчанию для файлов C++ в Eclipse CDT. Любой гуру Затмения знают это от руки?

4 ответа

Решение

См. Окно> Настройки> C/C++ > Стиль кода> Стиль имени> Файлы> Исходный файл C++> Суффикс

Я выкопал код Eclipse CDT и нашел решение:

присоединять

nameStyle.cpp.source.suffix=.cc

в

<workspace location>/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.ui.prefs

Вот как я это сделал:

  1. "Начал с разработки CDT", проверил org.eclipse.cdt.ui
  2. Открыл src / org.eclipse.cdt.internal.ui.wizards.filewizard / NewSourceFileGenerator.java (на самом деле я искал шаблон ".cpp" и нашел его)
  3. "public static String generateHeaderFileNameFromClass (String className)" сообщает нам о PreferenceConstants.NAME_STYLE_CPP_HEADER_PREFIX
  4. Мы переходим к PreferenceConstants.java и получаем путь IPreferencesService: nameStyle.cpp.source.prefix
  5. Эта статья хорошо объясняет, где хранятся префы

Ошибка, упомянутая Ogre Psalm33, была исправлена ​​в 2013 году.

Расположение в Eclipse 4.4:

Window > Preferences > C/C++ > Code Style > Name Style > Files

Ответ: в настоящее время это невозможно сделать в Eclipse 3.6 (Helios) с CDT 7.0.0. Смотрите запись Eclipse Bugzilla. По-видимому, он зарегистрирован как ошибка / отсутствующая функция, но никто не назначен работать над этим.

Другие вопросы по тегам