Question

Quel est le moyen le plus simple de forcer par programmation la capitalisation des mots clés dans Visual Studio 2008?

Nous travaillons avec un langage délimité par une commande propriétaire (comme HTML). Nous essayons de migrer d'un ancien éditeur vers Visual Studio 2008. Nos normes de codage consistent à mettre les commandes en majuscule. L’ancien éditeur est personnalisé pour reconnaître le délimiteur begin de la commande et forcer la capitalisation jusqu’à ce que le délimiteur de fin soit saisi ou que la touche d'échappement soit enfoncée.

Quelle est la meilleure façon de procéder dans Visual Studio 2008? Peut-on le faire avec une macro ou un complément?

(Modifié du 1er au 12-2009)

Merci pour les suggestions faites jusqu'à présent. Je ne pense pas qu'ils répondent à ma question.

Clarifications:

  • L'éditeur précédent était CodeWright, de sorte que les personnalisations ne sont pas portables dans Visual Studio.
  • Le code source n'est pas C #. StyleCop semble être spécifiquement pour C #. Notre langage est similaire aux langages de balisage tels que HTML, mais avec des caractères de délimitation et des commandes différents.
  • J'essaie de capitaliser en tant que développeur, mais de ne pas leur rappeler la capitalisation appropriée. Comme les commandes sont toutes délimitées, notre éditeur actuel active le verrouillage des majuscules lorsque le délimiteur de début est saisi. Lorsque le délimiteur de fin ou la touche d'échappement est enfoncé, le verrouillage des majuscules est désactivé. Ceci est indépendant de l'état du verrouillage majuscule sur le clavier.
Était-ce utile?

La solution 3

Ce n’est peut-être pas la meilleure solution, mais voici ce que j’ai trouvé.

Utilisez des macros pour capturer les événements liés à la presse.

Voici comment:

  1. Dans Visual Studio, accédez au menu Outils - > Macros - > IDE de macros
  2. Double-cliquez sur "MyMacros". pour voir les différentes parties
  3. Double-clic " EnvironmentEvents "
  4. Ajoutez le code suivant dans le module Événements d'environnement.
  5. Enregistrez le fichier et revenez à l'IDE VS à tester.

    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
    

Cette macro est limitée aux fichiers * .CPI.

Je n'ai pas encore compris comment capturer la touche Échap, mais cela fonctionnera pour l'instant.

Autres conseils

Essayez StyleCop , disponible sur le site Web de Microsoft. Vous devrez peut-être ajuster l'ensemble de règles en fonction de vos normes de codage spécifiques. Pour les normes de codage que nous utilisons, c’était presque parfait tout de suite.

Tout en prenant du temps, cet message SO vous explique comment ajoutez des balises à la configuration de validation dans VS2005. Je ne pense pas que la méthode ait changé en 2008.

Si vous quittez une ancienne version de Visual Studio, vous pourrez peut-être simplement importer vos anciens paramètres et vos balises personnalisées.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top