Есть ли способ предотвратить выделение синтаксиса ключевого слова в MS Visual Studio - PullRequest
10 голосов
/ 15 июля 2009

Редактор MS Visual Studio выделяет некоторые неключевые идентификаторы в качестве ключевых слов. в файлах C ++. В частности, «событие» и «массив» рассматриваются как ключевые слова. Это очень раздражает меня, потому что они не являются ключевыми словами C ++. Я знаю, как добавить свои собственные ключевые слова в список идентификаторов, выделенных синтаксисом, а как убрать существующие встроенные? Я знаю, что это может потребовать исправления некоторых исполняемых файлов. Так кто-нибудь знает, как это сделать?

Ответы [ 3 ]

6 голосов
/ 21 июля 2009

Благодаря статье, упомянутой Стивом Гуиди, я смог найти исполняемый файл, содержащий классы Colorizer и IScanner. Он называется vcpkg.dll и находится в / Microsoft Visual Studio 8 / VC / vcpackages. (Я использую Visual C ++ 2005 Express Edition, в других версиях все может быть иначе.)

vcpkg.dll содержит строки в кодировке UTF-16 с нулевым символом в конце. Я открыл его с помощью шестнадцатеричного редактора и искал «массив». В файле есть только одна такая строка, поэтому я заменил ее на «arrry». (Важно поддерживать относительный алфавитный порядок по отношению к другим ключевым словам.) Затем я искал «событие», оно появляется в нескольких местах, но есть только одно, которое не является частью более длинной строки, поэтому Я заменил это на "evvvt". После запуска Visual Studio оказалось, что «массив» и «событие» больше не выделяются, а «arrry» и «evvvt» были!

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

2 голосов
/ 15 июля 2009

Не похоже, что функция отключения синтаксиса-раскраски представлена ​​в удобном для пользователя виде.

Единственный способ подумать о выборочном отключении окраски синтаксиса - создать новый плагин окраски синтаксиса для IDE и перечислить все ключевые слова, которые вы хотите раскрасить. Microsoft предоставляет этой статье информацию о том, как выполнить эту задачу.

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

0 голосов
/ 16 июля 2009

Я думаю, что единственный «полупрактичный» способ сделать это - создать пакет Visual Studio , который использует текстовые маркеры , чтобы выборочно скрывать ключевые слова, которые вы не хотите раскрашивать , Даже это не маленькая однодневная задача. Редактировать: Вероятно, даже не целая недельная задача для кого-то, кто не очень хорошо знаком с API Visual Studio и всеми его причудами, особенно не получая его без ошибок.

Другими словами, вы, вероятно, хотите просто игнорировать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...