Программно применять заглавные буквы в Visual Studio 2008? - PullRequest
3 голосов
/ 09 января 2009

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

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

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

(отредактировано 1-12-2009)

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

Пояснения:

  • Предыдущим редактором был CodeWright, поэтому настройки не переносимы в visual studio.
  • Исходный код не C #. StyleCop, кажется, специально для C #. Наш язык похож на языки разметки, такие как HTML, но с различными символами и командами разделителя.
  • Я пытаюсь использовать заглавные буквы как типы разработчиков, а не напоминать им о правильной капитализации. Поскольку все команды разделены, наш текущий редактор фактически включает Caps Lock при вводе начального разделителя. Когда конечный разделитель или клавиша выхода нажаты, замок заглавных букв снова отключается. Это не зависит от состояния Caps Lock на клавиатуре.

Ответы [ 3 ]

4 голосов
/ 09 января 2009

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

1 голос
/ 16 января 2009

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

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

Вот как:

  1. В Visual Studio перейдите в меню Инструменты-> Макросы-> Макросы
  2. Дважды щелкните «MyMacros», чтобы увидеть различные части
  3. Двойной клик "EnvironmentEvents"
  4. Добавьте следующий код в модуль «События среды».
  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, но пока это будет работать.

1 голос
/ 09 января 2009

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

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

...