2016-12-04 4 views
0

J'utilise SQL Server Management Studio et il y a 5-10 lignes de requêtes que je modifie et exécute beaucoup. Je me demande s'il existe un moyen de sélectionner rapidement un bloc de code? Le code pourrait commencer et se terminer par quelques mots clés. Par exemple:Shortkey ou Script qui peut sélectionner le bloc de code

--Start 

line1 
line2 

--end 

J'ai recherché sur la page Web de touches de raccourci pour Sql Management Studio et n'ai pas trouvé de solution rapide.

La solution peut être un raccourci clavier ou un script automatique comme autohotkey. Une solution générique fonctionne avec l'éditeur de texte/code général serait le meilleur, puisque je travaille aussi avec R/MATLAB et je me demande s'il existe une solution générique pour sélectionner le code.

Merci d'avance pour votre aide!

Jason

Répondre

1

simple, solution générale, autohotkey, en collaboration avec le bloc-notes, lié à ctrl+b à des fins de test, ne modifiez en conséquence.

^b:: 
    selectBlock(){ 
     clipbackup:=clipboard 
     clipboard:= 
     Send ^a^c 
     ClipWait 
     Loop, parse, clipboard, `n, `r 
     { 
      if (SubStr(A_LoopField,1,7)="--Start") 
       s:=A_Index 
      if (s and SubStr(A_LoopField,1,5)="--end"){ 
       e:=A_Index-1 
       break 
      } 
     } 
     if (s and e) 
      Send % "^{Home}{Down " s "}{Shift Down}{Down " e-s "}{Shift Up}" 
     else 
      Send {Left} 
     clipboard:=clipbackup 
    } 
return 

Side note, je ne suis pas familier avec votre logiciel mais je trouve qu'il est difficile d'imaginer qu'il n'y a pas de meilleures façons de le faire. Par exemple en utilisant un outil de recherche intégré qui pourrait même prendre en charge regex comme la plupart des "éditeurs de texte" destinés à "codage". Ou adopter le code ci-dessus pour travailler avec la fonction "aller à la ligne X" de votre programme.

+0

Merci pour votre réponse! Je vais le tester. Maintenant, j'utilise la solution regex, et l'expression que j'utilise est --start ((. | \ N) *) - end. – Jason

+0

J'ai testé votre solution et cela fonctionne bien! C'est un peu lent quand il y a beaucoup de lignes, mais c'est assez bon pour moi maintenant. Merci beaucoup pour votre aide! – Jason