Visual Studio 2012: подсветка синтаксиса выключена и включена
Я использую VS2012, и я доволен этим. Но проблема в том, что я кодирую на С++, что подсветка синтаксиса отключается снова. Иногда подсветка выключена, и я должен перезагрузить файл. Кроме того, он выделяется довольно медленно.
Кто-нибудь знает, как это исправить?
Ответы
Ответ 1
Я знаю, что это было недавно, но у меня была такая же проблема, появляющаяся случайным образом, пока только сейчас.
Он отключится, если последняя строка в файле является комментарием одной строки. (//бла-бла). Как только я удалил, подсветка текста снова работала!
Ответ 2
Изменить: В этом ответе я предполагаю, что ваше описание проблемы верное. Другими словами, я предполагаю, что иногда выделяется подсветка С++, а в других случаях текст отображается как обычный текст: полностью черно-белый.
Я предполагаю, что вы используете расширение, которое изменяет или заменяет способ Visual Studio выделяет код на С++. Попробуйте временно отключить все свои расширения и снова проверить, работает ли редактор. В некоторых расширениях может быть отключена кнопка "Отключено"; в этом случае вам нужно будет удалить расширение для этого теста (возможно, через "Панель управления" и "Программы и компоненты" ).
В качестве примера одного общего расширения, которое полностью заменяет ярлык С++, является Visual Assist. Тем не менее, я лично не использую этот продукт, и я не слышал о каких-либо конкретных проблемах с ним такого рода. Я просто упоминаю его как пример расширения, полностью изменяющего поведение Visual Studio в отношении подсветки синтаксиса кода С++.
Ответ 3
Это ошибка в Visual Studio 2012:
https://connect.microsoft.com/VisualStudio/feedback/details/760154/syntax-highlighting-sometimes-not-working
Ответ 4
Для меня подсветка всегда перестает работать, когда первая видимая строка в редакторе начинается с символов "//", и я вызываю репарацию каким-то образом (например, CTRL + S).
Выделение всегда отлично работает, когда первая видимая строка в редакторе начинается с чего-либо еще, даже с пробелом, и я вызываю как-то перерисовываться.
Я мог бы отложить все мои комментарии и никогда не испытывать эту проблему, но теперь, когда я знаю об этом, это уже не так раздражает, поэтому я позволяю этому быть.
Ответ 5
Если вы используете только Intellisense, вы можете перейти в Edit- > Intellisense- > Toggle Completion Mode (или нажать Ctrl + Alt + Space), поиграть с ним и посмотреть, работает ли он (возможно, вы нажали эту комбинацию из ключей случайно).
Я также установил Update 3 и с тех пор не имел никаких проблем. Кто знает..
Ответ 6
У меня была та же проблема. Отказ от масштаба, к сожалению, не сработал у меня.
После поиска и понимания того, что это произошло только в больших файлах,
Я получил его, чтобы работать, отключив ускорение прикрытия.
Инструменты- > Параметры...- > Окружающая среда- > Общие
* Автоматическая настройка [...] (выкл.)
* Используйте ускорение аппаратной графики (выключено)
Ответ 7
Лично я обнаружил, что такие вещи, как:
#if 0// bla-bla
бесполезно выделяет синтаксис. Решением, которое работает, является помещение пробела перед комментарием, например:
#if 0 // bla-bla
Ответ 8
Я установил Visual Studio 2012 Update 3 вчера и начал испытывать то же самое поведение, описанное в исходном сообщении. Основываясь на некоторых предложениях в этой теме, я просмотрел мои расширения и отключил AllMargins исправил проблему. С тех пор я снова включил AllMargins, и все работает так, как должно.
Попробуйте отключить и повторно включить любые ваши расширения; надеюсь, что это исправит проблему для вас.
Ответ 9
В моем случае оказалось, что большой блок кода (метод 200+ строк) был закомментирован с //
, начиная с первого столбца, и это приводило к тому, что синтаксическая раскраска не работала. Я изменил разметку комментариев на /* ... */
для этого метода, и вся синтаксическая раскраска была исправлена.