Программно принудительно использовать заглавные буквы в Visual Studio 2008?

Каков самый простой способ программно принудительно использовать заглавные буквы в ключевых словах в Visual Studio 2008?

Мы работаем с собственным языком с разделителями команд (например, HTML). Мы пытаемся перейти со старого редактора на Visual Studio 2008. Наши стандарты кодирования заключаются в использовании команд с заглавной буквы. Старый редактор настроен на распознавание разделителя начала команды и принудительное использование заглавных букв до тех пор, пока не будет набран конечный разделитель или не будет нажата клавиша выхода.

Как лучше всего это сделать в Visual Studio 2008? Это можно сделать с помощью макроса или надстройки?

(Отредактировано 1 декабря 2009 г.)

Спасибо за предложения. Не думаю, что они ответят на мой вопрос.

Разъяснения:

  • Предыдущим редактором был CodeWright, поэтому его настройки нельзя переносить в Visual Studio.
  • Исходный код - это не C#. StyleCop кажется специально для C#. Наш язык похож на языки разметки, такие как HTML, но с другими символами-разделителями и командами.
  • Я пытаюсь использовать заглавные буквы как типы разработчиков, а не напоминать им о правильном использовании заглавных букв. Поскольку все команды разделены, наш текущий редактор фактически включает Caps Lock, когда вводится начальный разделитель. При нажатии конечного разделителя или клавиши выхода заглавные буквы снова отключаются. Это не зависит от состояния Caps Lock на клавиатуре.
Стоит ли изучать 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 называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
795
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Хотя это занимает много времени, сообщение это SO показывает вам, как добавлять теги в настройку проверки в VS2005. Не думаю, что в 2008 году метод изменился.

Если вы переходите со старой версии Visual Studio, вы можете просто импортировать свои старые настройки и пользовательские теги.

Попробуйте StyleCop, доступный на веб-сайте Microsoft. Возможно, вам придется настроить набор правил для ваших конкретных стандартов кодирования. Для используемых нами стандартов кодирования он был почти идеальным сразу после покупки.

Хорошо, я видел, как обсуждали этот инструмент, но до сих пор игнорировал его. Это обязательно поможет!

BobbyShaftoe 09.01.2009 03:55
Ответ принят как подходящий

Возможно, это не лучшее решение, но вот что я придумал.

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

Вот как:

  1. В Visual Studio перейдите в меню Инструменты-> Макросы-> Макросы IDE
  2. Дважды щелкните «MyMacros», чтобы увидеть различные части.
  3. Дважды щелкните «EnvironmentEvents».
  4. Добавьте следующий код в модуль Environment Events.
  5. Сохраните файл и вернитесь в обычную VS IDE для тестирования.

    Private My_AutoCaps As Boolean = False
    Private Sub TextDocumentKeyPressEvents_BeforeKeyPress(ByVal Keypress _
      As String, ByVal Selection As EnvDTE.TextSelection, _
      ByVal InStatementCompletion As Boolean, ByRef CancelKeyPress As Boolean) _
      Handles TextDocumentKeyPressEvents.BeforeKeyPress
         Dim fileName As String = UCase(Selection.DTE.ActiveDocument.Name)
         If ( fileName.EndsWith(".CPI") ) Then
             If (My_AutoCaps) Then
                 'MsgBox(Keypress)
                 If (Keypress = "(" Or Keypress = ":") Then
                     'MsgBox("End of command character pressed.")
                     My_AutoCaps = False
                     Return
                 ElseIf (Keypress >= "a" And Keypress <= "z") Then
                     'MsgBox("Letter pressed.")
                     Selection.Text = UCase(Keypress)
                     CancelKeyPress = True
                 End If
             Else 'AutoCap is not on yet
                 If (Keypress = "^") Then
                     'MsgBox("You pressed the Start Command character.")
                     My_AutoCaps = True
                     Return
                 End If
             End If
         End If
    End Sub
    

Этот макрос ограничен файлами * .CPI.

Я еще не понял, как захватить клавишу Esc, но пока это сработает.

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