Есть ли способ заставить Visual Studio принять значение для #define?

Я использую #define в одном заголовке, который определен в другом заголовке. Иногда Visual Studio решает, что #define существует, и окрашивает мой код, как если бы он был скомпилирован. Иногда он решает, что не знает, что такое #define, и окрашивает мой код так, чтобы он был скомпилирован. Единственная проблема здесь ТОЛЬКО в том, как Visual Studio представляет мой код, код работает так, как задумано.

Есть ли способ сообщить Visual Studio, что этот #define существует (и равен 1)?

Я знаю, что могу полностью отключить эту окраску, но мне нравится, как она обычно работает. Я также могу быстро определить его в верхней части файла, чтобы изменить цвет, но тогда мне нужно не забыть удалить его перед фиксацией кода. Я попытался проверить, не было ли оно неопределенным, и, если да, определить его. Я думал, что это всегда будет 1 или 0 и поэтому никогда не будет неопределенным. Это решило мою проблему с раскраской, но на самом деле были обнаружены места, где она не была определена, что приводило к ошибкам компиляции.

Вы можете установить определение в настройках вашего компилятора.

drescherjm 20.12.2018 23:53

Intellisense не надежен. Не меняйте свой код только потому, что какой-то цвет выглядит красиво или нет.

PaulMcKenzie 20.12.2018 23:56

Может быть, помогает «решение для повторного сканирования» (в меню «Проект»).

engf-010 21.12.2018 00:39

Любая форма добавления определения имеет ту же проблему, что нужно помнить об его удалении перед фактической компиляцией / фиксацией. Мне понравилась идея повторного сканирования, но, к сожалению, она не подействовала.

nor 21.12.2018 01:05

Если #define нужен только в заголовке, вы можете отменить его в конце заголовка, чтобы он не конфликтовал с тем же #define в другом заголовке.

ttemple 21.12.2018 01:21
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
5
55
0

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