2016-12-04 1 views
0

Ich benutze SQL Server Management Studio und es gibt 5-10 Zeilen von Abfragen, die ich bearbeite und viel ausführe. Ich frage mich, ob es einen Weg gibt, der schnell einen Code-Block auswählen kann? Der Code könnte mit einigen Schlüsselwörtern beginnen und enden. Zum Beispiel:Shortkey oder Skript, das einen Codeblock auswählen kann

--Start 

line1 
line2 

--end 

suchte ich die Tastenkombination Webseite für Studio SQL Management und nicht eine schnelle Lösung finden.

Die Lösung könnte entweder eine Tastenkombination oder ein automatisches Skript wie autohotkey sein. Eine generische Lösung, die mit dem allgemeinen Text/Code-Editor funktioniert, wäre die beste, da ich auch mit R/MATLAB arbeite und mich wundere, ob es eine generische Lösung für die Codeauswahl gibt.

Vielen Dank im Voraus für Ihre Hilfe!

Jason

Antwort

1

einfache, allgemein, autohotkey Lösung, mit Notizblock arbeiten, gebunden an ctrl+b für Testzwecke, nicht entsprechend bearbeiten.

^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 

Randbemerkung, ich bin mit der Software nicht vertraut, aber ich finde es schwer, es sich vorzustellen, sind keine besseren Möglichkeiten, es zu tun. Zum Beispiel mit eingebautem Suchwerkzeug, das sogar Regex unterstützen könnte, wie die meisten "Text-Editoren", die auf "Kodierung" abzielen. Oder den obigen Code verwenden, um mit der Funktion "Gehe zu X-Zeile" Ihres Programms zu arbeiten.

+0

Danke für Ihre Antwort! Ich werde es testen. Jetzt verwende ich die Regex-Lösung, und der Ausdruck, den ich verwende, ist --start ((. | \ N) *) - Ende. – Jason

+0

Ich habe Ihre Lösung getestet und es funktioniert gut! Es ist ein bisschen langsam, wenn viele Linien beteiligt sind, aber es ist jetzt gut genug für mich. Vielen dank für Deine Hilfe! – Jason

Verwandte Themen