Я пытаюсь в основном выполнить Opisys of the enum_to_string »шаблона Live C/C ++.
Для контекста этот живой шаблон выглядит как:
const char * to_string($ENUM$ e) {
switch (e) {
case $ENUMERATOR$: return $ENUMERATOR_NAME$;
default: return "unknown";
}
}
< /code>
В моей "enum_from_string" Моя цель - иметь следующую подпись < /p>
[[nodiscard]]
constexpr MyEnum to_my_enum_class_snake_case_name(std::string_view string);
< /code>
, где он будет автоматический шаблон заполнить каждый член Enumeration в качестве оператора if, чтобы вернуть строку. < /p>
Мой живой шаблон выглядит следующим образом: < /p>
[[nodiscard]]
constexpr $ENUM$ to_ snakeCase("$ENUM$")(std::string_view string) {
if (string == $ENUMERATOR_NAME$) {
return $ENUMERATOR$;
}
throw std::runtime_error("Unexpected string: " + std::string(string));
}
< /code>
Кроме того, настройки правой стороны выглядят как следующее: < /p>
ortcut: enum_from_string < /li>
Описание: Функция 'to_ [enum_name]' для enum < /li>
Описание: Переформированное. C /c ++ < /li>
Использование в: Generation < /li>
Показать в контекстном действии: проверено < /li>
< /ul>
Мои переменные в переменных редактирования. редактируемые < /li>
Перечисление: перечисление в строку: имя перечислителя < /li>
enum: постоянно сбрасывается как «без макроса» даже после того, как я выбрал «enum to String: enum name» < /li>
< /ul>
, несмотря на то, что я должен нажать в контексте, показываю, что я могу появиться в контексте, что я буду появляться в контексте, в том, что я появляюсь в контексте, в том, что я появляюсь в контексте. он появляется, когда я щелкнут правой кнопкой мыши -> Показать контекстные действия.
Как я могу создать свой шаблон «enum_from_string» для генерации и позволить мне выбрать его в качестве опции в качестве контекстного действия?
Подробнее здесь: https://stackoverflow.com/questions/795 ... on-context
Создание живого шаблона "enum_from_string" и появится в меню Clion Context Action ⇐ C++
Программы на C++. Форум разработчиков
1744146017
Anonymous
Я пытаюсь в основном выполнить Opisys of the enum_to_string »шаблона Live C/C ++.
Для контекста этот живой шаблон выглядит как:
const char * to_string($ENUM$ e) {
switch (e) {
case $ENUMERATOR$: return $ENUMERATOR_NAME$;
default: return "unknown";
}
}
< /code>
В моей "enum_from_string" Моя цель - иметь следующую подпись < /p>
[[nodiscard]]
constexpr MyEnum to_my_enum_class_snake_case_name(std::string_view string);
< /code>
, где он будет автоматический шаблон заполнить каждый член Enumeration в качестве оператора if, чтобы вернуть строку. < /p>
Мой живой шаблон выглядит следующим образом: < /p>
[[nodiscard]]
constexpr $ENUM$ to_ snakeCase("$ENUM$")(std::string_view string) {
if (string == $ENUMERATOR_NAME$) {
return $ENUMERATOR$;
}
throw std::runtime_error("Unexpected string: " + std::string(string));
}
< /code>
Кроме того, настройки правой стороны выглядят как следующее: < /p>
ortcut: enum_from_string < /li>
Описание: Функция 'to_ [enum_name]' для enum < /li>
Описание: Переформированное. C /c ++ < /li>
Использование в: Generation < /li>
Показать в контекстном действии: проверено < /li>
< /ul>
Мои переменные в переменных редактирования. редактируемые < /li>
Перечисление: перечисление в строку: имя перечислителя < /li>
enum: постоянно сбрасывается как «без макроса» даже после того, как я выбрал «enum to String: enum name» < /li>
< /ul>
, несмотря на то, что я должен нажать в контексте, показываю, что я могу появиться в контексте, что я буду появляться в контексте, в том, что я появляюсь в контексте, в том, что я появляюсь в контексте. он появляется, когда я щелкнут правой кнопкой мыши -> Показать контекстные действия.
Как я могу создать свой шаблон «enum_from_string» для генерации и позволить мне выбрать его в качестве опции в качестве контекстного действия?
Подробнее здесь: [url]https://stackoverflow.com/questions/79563031/creating-enum-from-string-live-template-and-have-it-show-up-in-clion-context[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия