Не подсвечивается код в visual studio

Обновлено: 07.07.2024

Я отвечу ужасным, нарисованным рукой комиком. Второе изображение является причиной того, что result является undefined в вашем примере кода.

Удерживайте Ctrl + Shift + P (или cmd на Mac), выберите «Change Language Mode» и там.

Но я все еще не могу найти способ сделать файлы, распознанные кодом VS с определенным расширением как некоторым определенным языком.

Это, например, приведет к тому, что файлы, заканчивающиеся на .variables и .overrides , будут обрабатываться так же, как и любой другой файл LESS. С точки зрения окраски кода, с точки зрения (авто) форматирования. Определите в пользовательских настройках или настройках проекта, как вам нравится.

(Семантический интерфейс использует эти странные расширения, если вам интересно)

Это работает для меня.

TOOLS-> Опции-> Текстовый редактор-> Расширения файлов. Оттуда вы можете добавить расширение и выбрать известное расширение / язык, к которому вы хотите относиться.

Самый простой способ, который я нашел для глобальной ассоциации, - просто ctrl + km (или ctrl + shift + p и введите «change language mode») с файлом типа, который вы связываете с открытым.

В первом выборе будет «Настроить ассоциацию файлов для« x »(любой тип файла - см. прикрепленное изображение). Выбор этого делает постоянную ассоциацию filetype

Это может быть (возможно?) изменено с момента исходного вопроса / ответа, и я не знаю, когда), но это проще, чем ранее сделанные шаги редактирования вручную, и избегает необходимости обсуждать идентификаторы, которые могут быть не очевидны .

В Visual Studio Code вы можете добавить постоянные ассоциации файлов для выделения языка в ваш файл settings.json следующим образом:

Вы можете открыть этот файл через меню: Файл> Настройки> Настройки. (Ctrl +, или Cmd +,)

Эта функция была впервые представлена ​​в Visual Studio Code версии 1.0 (март 2016 г.). Проверьте доступные шаблоны шаблонов в примечаниях к выпуску и известных языковых строках в документации.

Если языковая служба предоставляет цветовую раскраску синтаксиса, средство синтаксического анализа преобразует строку текста в массив цветных элементов и возвращает типы токенов, соответствующие этим цветовым элементам. Средство синтаксического анализа должно возвращать типы токенов, принадлежащие списку цветовых элементов. Visual Studio Отображает каждый цветовой элемент в окне кода в соответствии с атрибутами, назначенными объектом тонирования, соответствующему типу токена.

Visual Studio не указывает интерфейс средства синтаксического анализа, и реализация средства синтаксического анализа является абсолютной. однако реализация средства синтаксического анализа по умолчанию предоставляется в проекте языкового пакета Visual Studio. Для управляемого кода платформа управляемого пакета (MPF) обеспечивает полную поддержку выделения цветом текста.

Устаревшие языковые службы реализуются как часть VSPackage, но более новым способом реализации функций языковой службы является использование расширений MEF. Дополнительные сведения о новом способе реализации цветового выделения синтаксиса см. в разделе Пошаговое руководство. выделение текста.

Рекомендуется как можно скорее начать использовать новый API редактора. Это улучшит производительность языковой службы и позволит использовать новые функции редактора.

Шаги, за которыми следует редактор для выделения цветом текста

Редактор получает тонированный элемент, вызывая GetColorizer метод для IVsLanguageInfo объекта.

Редактор вызывает метод, GetStateMaintenanceFlag чтобы определить, требуется ли, чтобы для параметра «цветовой цвет» было необходимо поддерживать состояние каждой строки за пределами тонирования.

Если для параметра тонирования требуется поддерживать состояние вне области выделения, редактор вызывает GetStartState метод для получения состояния первой строки.

Для каждой строки в буфере редактор вызывает ColorizeLine метод, который выполняет следующие действия:

Строка текста передается сканеру для преобразования текста в маркеры. Каждый токен задает текст маркера и тип токена.

Тип токена преобразуется в индекс в список цветовых элементов.

Сведения о токене используются для заполнения массива таким, чтобы каждый элемент массива соответствовал символу в строке. Значения, хранящиеся в массиве, являются индексами в списке цветовых элементов.

Состояние в конце строки возвращается для каждой строки.

Если для этого режима требуется поддерживать состояние, редактор кэширует состояние этой строки.

Редактор отображает строку текста, используя сведения, возвращенные ColorizeLine методом. Для этого необходимо выполнить следующие действия:

Для каждого символа в строке Возвращает цветовой индекс элемента.

При использовании цветовых элементов по умолчанию можно получить доступ к списку цветовых элементов редактора.

В противном случае вызовите метод языковой службы GetColorableItem для получения цветового элемента.

Используйте сведения в элементе с цветовым цветом, чтобы подготовить текст к отображению.

Цветовой пакет для платформы управляемых пакетов

Платформа управляемого пакета (MPF) предоставляет все классы, необходимые для реализации выделения цветом. Класс языковой службы должен наследовать LanguageService класс и реализовать необходимые методы. Необходимо предоставить сканер и средство синтаксического анализа, реализовав IScanner интерфейс, и вернуть экземпляр этого интерфейса из GetScanner метода (один из методов, которые должны быть реализованы в LanguageService классе). Дополнительные сведения см. в разделе тонирование синтаксиса в языковой службе прежних версий.

У меня есть текстовый файл (.txt) с CSS, и я хочу получить подсветку синтаксиса. Вы можете открыть командную палитру с помощью ctrl + shift + p . Но там вы не можете установить синтаксис, как в Sublime.

Есть ли какой-нибудь другой способ получить CSS-раскраску из моего текстового файла?

Для дальнейшего акцентирования решения здесь не относятся к Visual Studio, к сожалению. Я только сегодня узнал о существовании кода Visual Studio. Было бы хорошо, если бы обычная Visual Studio использовала подобный переключатель языкового режима. О, Microsoft .

В самом правом нижнем углу, слева от смайлика, была иконка «Простой текст». При нажатии на нее появляется меню со всеми языками, где вы можете выбрать нужный язык.

VSCode

Ctrl + K, Ctrl + M и Ctrl + K, M: слишком запутанно. Это решение отлично! Боже, почему это тоже не часть командной палитры !? Я бы никогда не нашел его там, спасибо :) Как мне сделать так, чтобы файлы с этим расширением всегда использовали формат? Существующий ярлык для него действительно глупый. Я вошел в сочетания клавиш, нашел «Изменить режим языка» и установил ярлык, cmd+opt+p который не совсем такой, как возвышенный, но намного легче для мышечной памяти, чем K + M

Нажмите, Ctrl + K M а затем введите (или щелкните) нужный вам язык.

В качестве альтернативы, чтобы получить к нему доступ из палитры команд, найдите «Изменить режим языка», как показано ниже:

введите описание изображения здесь

Если вы видите панель «Расширения», возможно, вы нажимаете Ctrl + K, Ctrl + M вместо Ctrl + K, M, что было ошибкой, которую я сделал. Это должно быть переименовано в «Изменение подсветки синтаксиса»

Еще одна причина, по которой людям может быть трудно заставить работать подсветку синтаксиса, заключается в том, что у них не установлен соответствующий пакет синтаксиса. Хотя некоторые синтаксические пакеты по умолчанию поставляются предварительно (например, Swift, C, JS, CSS), другие могут быть недоступны.

Чтобы решить эту проблему, вы можете Cmd + Shift + P → «установить расширения» и найти язык, который вы хотите добавить, скажем «Scala».

введите описание изображения здесь

Найдите подходящий пакет синтаксиса, установите его и перезагрузите. Это подберет правильный синтаксис для ваших файлов с предопределенным расширением, т.е. .scala в этом случае.

Кроме того, вы можете захотеть, чтобы VS Code рассматривал все файлы с определенными пользовательскими расширениями как предпочитаемый вами язык. Допустим, вы хотите выделить все *.es файлы как JavaScript, а затем просто открыть «Настройки пользователя» ( Cmd + Shift + P → «Настройки пользователя») и настроить свою пользовательскую ассоциацию файлов следующим образом:

Вы получаете от меня cookie-файл с ассоциацией файлов, спасибо!

Подсветка синтаксиса для пользовательского расширения файла

Любое пользовательское расширение файла может быть связано со стандартной подсветкой синтаксиса custom files association в настройках пользователя следующим образом.

Обратите внимание, что это будет постоянная настройка. Чтобы установить только для текущего сеанса, введите предпочтительный язык в Select Language Mode поле (без изменения file association настроек)

Установка нового синтаксического пакета

Если требуемый синтаксический пакет по умолчанию недоступен, вы можете добавить его через Extension Marketplace ( Ctrl+Shift+X ) и выполнить поиск языкового пакета.

Вы можете дополнительно воспроизвести вышеописанные шаги, чтобы сопоставить расширения файлов с новым синтаксическим пакетом.

Чтобы навсегда установить синтаксис языка:
откройте settings.json файл

*) форматировать все текстовые файлы с форматированием javascript

*) форматировать все несохраненные файлы (без названия-1 и т. д.) в javascript:

Обратите внимание, что для редактора «Без названия» (« Untitled-1 », « Untitled-2 ») теперь вы можете установить язык в настройках.

Предыдущая настройка была:

Это больше не всегда будет работать, потому что с VSCode 1.42 (Q1 2020) изменится название этих редакторов без названия . Название теперь будет первой строке документа для заголовка редактора , а также общее название как часть описания. Это больше не начинается с " "

untitled-

я попробовал следующее безрезультатно

  • отключение всех расширений Visual Studio
  • удаление
  • удаление проекта и повторное добавление его в решение


просто удалите содержимое этого каталога с закрытой Visual Studio: %LocalAppData%\Microsoft\VisualStudio\<visual_studio_version_number>\ComponentModelCache

чтобы найти номер версии Visual Studio edition, который вы используете, обратитесь к этой список. Обратите внимание, что важно только основное число, минорная версия может и, вероятно, будет отличаться. В моем случае у меня была установлена Visual Studio 2017 Enterprise, поэтому я искал 15.xx и нашел 15.0_9a1c4a06 внутри папки AppData.

У меня была та же проблема, единственное исправление до сих пор-сброс всех пользовательских данных ( C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /ResetUserData ).

Примечание: Вы потеряете все настройки, например, сочетания клавиш и макеты окон, Если вы это сделаете!

EDIT: люди говорят, что это работает только для RC, а не RTM, поэтому вы можете сначала попробовать другие исправления.

затем закрытие и повторное открытие его нормально.

после обновления Visual Studio 2015 Update 1 у меня была такая же проблема. Я перепробовал все ответы, но у меня ничего не вышло.

исправление для меня шло в программы и свойства > Visual Studio community edition > изменить. Я нажал кнопку Изменить.

в списке обязательно поставьте галочку на "Microsoft Web Developer Tools" в разделе "Windows и веб-разработки" .

Он не был проверен в моем списке howewer :/

enter image description here

Инструменты > Параметры > Текстовый Редактор > Все Языки > Общие. Снимите флажок скрыть расширенные члены. нажимать OK.

Как только я это сделал, Intellisense, казалось, работал на меня. Затем я сбросил его и сохранил функциональность. Я использую Visual Studio 2015 enterprise edition.

Я попробовал ResetUserData, и это не сработало для меня.

Я установил Visual Studio Community Edition 2015 (после длительного использования Visual Studio Community Edition 2013) и столкнулся с той же проблемой. Я пробовал все вышеперечисленные решения, но ничего не помогло.

наконец, закройте Visual studio и удалите следующие папки -

. и это работает сейчас.

запуск VS 2015 RTM. Ни /ResetUserData, ни / SafeMode не работали для меня. Также были некоторые инструменты производительности Power Tools 2015, связанные с жалобами на " ошибки в ActivityLog.XML " всплывающее окно при запуске VS.

Итак, если у вас есть аналогичные симптомы, вот как я исправил его на своей машине:

  1. запуск "запустить экспериментальный экземпляр Visual Studio 2015" и откройте свой проект. Если intellisense работает и выделен синтаксис razor, у вас есть большие шансы в следующем получится.
  2. удалить "Инструменты Власти До 2015 Года" и закройте Visual Studio.
  3. на %LOCALAPPDATA%\Microsoft\VisualStudio\ и Erase 14.0 папка.
  4. Launch VS-он должен начинаться так, как он был только что установлен.

Это будет эффект, если ваш проект MVC4. Подробнее здесь. Также обратите внимание, что это будет исправлено в следующей версии.
Как вы можете определить, является ли ваш проект MVC4? Откройте пакеты.настройте и перейдите к записи для Microsoft.сеть САШ.В MVC. Если версия начинается с "4", это означает, что вы используете MVC 4.

У меня была аналогичная проблема, где любой скрипт razor не будет выделен, intellisense не будет работать, и компилятор не распознает никаких ошибок (даже если я намеренно помещаю синтаксические ошибки!)

Я фактически исправил проблему, перейдя к C:/Users/YourUserName/AppData/Local/Temp и удаление всего из этого файла, как только я это сделал и перезапустил VS мои взгляды бритвы начали работать!

надеюсь, что это поможет!

дружеское напоминание, чтобы убедиться, что вы правильно использовали строчные @model в верхней части вашего просмотра, а не @Model (Как я сделал ошибку).

строчные @model - это директива, которая строго вводит представление в экземпляр класса, который следует за ним. Тогда как заглавные Model является свойством представления, которое получает экземпляр модели.

некоторые виды работали нормально для меня, некоторые нет вообще. Единственное, что помогло мне:

  • закрытие VS
  • Удаление C:\Users\%username%\AppData\Local\Temp
  • перезапуск VS
  • проблема решена

Я тоже пробовал большинство других решений, но они не сработали для меня.

я исправил проблему, включив файл в проект/решение. Я упустил из виду тот факт, что нет подсветки/intellisense, если он не включен.

У меня была та же проблема и пришлось скачать и установить "Microsoft ASP.NET и веб-инструменты" и "веб-основы". После этого подсветка синтаксиса и Razor intellisense снова начали работать.

в моей сети.конфигурация у меня была такая:

удалено и переустановлено из следующих работ для меня:

Microsoft.сеть САШ.В MVC

Я попробовал сбросить userdata, удаление temp и 14, а также изменение настроек параметров, и ни один из них не работал. Я даже попытался восстановить и переустановить. Я использую VS 2015 версии 14.0.24720.00 обновление 1

вы должны удалить только ".vs " папка в вашем проекте.(Этот. vs папка скрыта)

будьте осторожны ResetUserData удалить все настройки в Visual Studio.

единственное, что сработало для меня, это изменить "выходной путь" проекта на bin\ (раньше было bin\Debug ):

  1. Правой Кнопкой Мыши на проекте
  2. нажать на кнопку Properties и выберите Build ,
  3. прокрутите до последнего раздела под названием "Выход",
  4. измените значение в текстовом поле Output path: до bin\

выше не работает, но мне удалось с:

  • удаление (из программы и Компоненты Windows) Web Developer Tools для VS 2015, RC, обновление 1
  • установка (из vs Installer - > изменить) Web Developer Tools (Это еще одна версия выше)

таким образом, проблема заключалась в том, что VS installer не устанавливал инструменты веб-разработчика, распознающие уже установленную, несовместимую версию как правильную.

надеюсь, это поможет.

неинвазивный подход заключается в проверке веб-представлений.config для правильных версий. эта паутина.файлы конфигурации находятся в папке app/Area/AreaName/Views или в папке общие приложения/представления. Они отличаются от project Web.конфигурационный файл.

  • убедитесь, что каждая версия в строках сборки типа соответствует установленной версии NuGet
  • убедитесь, что версия в строке сборки factoryType соответствует установленной версии NuGet

здесь является примером для последнего на момент написания этого комментария:

то, что сработало для меня (против сообщества 2015), было вариантом, предложенным в этой ответ. Бег УМК.exe как администратор, я запустил следующее:

Читайте также: