Pergunta

O que é a maneira mais fácil para programaticamente capitalização força de palavras-chave no Visual Studio 2008?

Trabalhamos com uma linguagem delimitado comando proprietárias (como HTML). Estamos tentando migrar de um editor mais para padrões de codificação Visual Studio 2008. Os nossos são para capitalizar os comandos. O editor antigo é personalizado para reconhecer o comando começar delimitador e capitalização vigor até o delimitador final é digitado ou a tecla escape é pressionado.

Qual é a melhor maneira de fazer isso no Visual Studio 2008? isso pode ser feito com uma macro ou um add-in?

(Editado 1-12-2009)

Obrigado pelas sugestões até agora. Eu não acho que eles responder a minha pergunta.

Esclarecimentos:

  • O editor anterior era CodeWright assim as personalizações não são portáteis para o estúdio visual.
  • O código fonte não é C #. StyleCop parece ser especificamente para C #. Nossa língua é semelhante à marcação linguagens como HTML, mas com diferentes caracteres delimitadores e comandos.
  • Eu estou tentando capitalizar na verdade, como os tipos de desenvolvedores, não lembrá-los sobre a capitalização adequada. Uma vez que os comandos são todos delimitado nosso atual editor realmente transforma os Caps Lock quando o delimitador começando é digitado. Quando o delimitador de fim ou a tecla escape é pressionado o bloqueio tampas voltou atrás off. Este é independente do estado dos Caps Lock no teclado.
Foi útil?

Solução 3

Esta não pode ser a melhor solução, mas aqui é o que eu vim acima com.

Usar macros para capturar Key Imprensa Eventos.

Veja como:

  1. No Visual Studio ir ao Ferramentas> Macros-> Macros IDE Menu
  2. Clique duas vezes "MyMacros" para ver as diferentes partes
  3. Clique duas vezes "EnvironmentEvents"
  4. Adicione o seguinte código dentro do módulo Eventos Meio Ambiente.
  5. Salve o arquivo e voltar ao normal VS IDE para teste.

    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
    

Esta macro é limitado a arquivos .CPI *.

Eu ainda não descobri como capturar a tecla Esc ainda, mas isso vai funcionar para agora.

Outras dicas

Experimente StyleCop , disponível no site da Microsoft. Você pode ter que ajustar o conjunto de regras para os seus padrões de codificação específicos. Para os padrões de codificação que usamos, ele quase foi perfeita para fora da caixa.

Embora demorado, este SO post mostra-lhe como adicionar tags para a configuração de validação no VS2005. Eu não acho que o método mudou em 2008.

Se você está se movendo de uma versão mais antiga do Visual Studio você pode ser capaz de apenas importar as configurações antigas e tags personalizados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top