Raccourcis / extraits pour sélectionner un bloc de code

8

J'utilise SQL Server Management Studio 2016 sur Windows 10. J'en ai assez d'utiliser les touches Maj / Ctrl + haut / bas / droite / gauche pour sélectionner le code que je veux exécuter. Je me demande s'il existe des raccourcis / extraits pour sélectionner un bloc de code séparé des autres codes par des lignes vides?

Voici un exemple de code:

select *
from tab1

select *
from tab2

select *
from tab3

Dis, mon curseur est à l'intérieur du bloc du milieu et quelle est la meilleure façon de sélectionner le bloc du milieu?

Jason
la source
1
JetBrains DataGrip (Ctrl + Entrée). Pas cher aussi. Interface sombre aussi.
Nelz

Réponses:

4

Je ne suis pas affilié à Red-Gate, mais je voudrais souligner que si vous appuyez sur Shift-F5, lorsque vous possédez une nouvelle copie de SQL Prompt, la requête sur laquelle votre curseur est activé sera marquée en vert et exécutée .

Cela m'a vraiment sauvé beaucoup de frappes.

Henrik Staun Poulsen
la source
Merci beaucoup pour votre réponse! J'ai essayé sql prompty et c'était incroyable! Je penserai à l'acheter après le procès!
Jason
1
Notez qu'il ne sélectionne pas réellement le code, dans la mesure où vous ne pouvez pas utiliser cette méthode pour copier le bloc de code qui a été exécuté.
Thomas Rushton
4

En utilisant Autohotkey, j'ai pu développer une solution pour sélectionner un bloc de code et voici le script que j'ai:

!b::

send ^f

sendraw ^\r$

send {F3}

send +{F3}

send {Esc}

send {down}

send ^{=}

return

Plus précisément, appuyer sur Alt + B invoquera ce script et le script sélectionnera le bloc de code dans lequel se trouve le curseur. Notez que le bloc de code doit être séparé des autres blocs de code par des lignes vides et le bloc de code ne peut pas avoir de lignes blanches en lui-même.

Les étapes clés du script about sont les suivantes:

  • en utilisant l'expression régulière "^ \ r $" pour localiser les lignes vides au-dessus et en dessous du curseur

  • déplacer le curseur sur ces deux lignes vides une par une

  • en utilisant ctrl + = pour sélectionner le bloc de code entre ces deux lignes vides.

Notez que! / ^ / + Sont alt / ctrl / shift séparément.

Jason
la source
Je ne savais pas que vous pouviez le faire avec AutoHotKey. Beaucoup moins cher que SQL Prompt. Merci d'avoir posté.
Henrik Staun Poulsen
3

Une façon de sélectionner rapidement des blocs de code dans SSMS est de minimiser le code en utilisant le -bouton à côté du mot-clé principal dans une instruction SQL (par exemple SELECT, UPDATE, DELETE, WITH, etc.), puis mettez cette ligne en surbrillance et appuyez sur F5pour l'exécuter.

entrez la description de l'image ici

En fonction de votre version de SSMS (les versions les plus récentes étant évidemment préférées dans ce cas), il existe également des raccourcis clavier que vous pouvez utiliser pour réduire / développer une section. Le lien de raccourci clavier fourni par la réponse précédente de Simon Hellings fait allusion à des raccourcis clavier déjà définis, mais je ne peux pas confirmer qu'ils fonctionnent réellement. Cependant, vous pouvez définir certains raccourcis clavier personnalisés pour ce faire comme suit:

  1. Les fonctions pour lesquelles nous voulons définir des raccourcis clavier se trouvent sous Edit-> OutliningOptions de menu: entrez la description de l'image ici

  2. Pour définir les raccourcis clavier, accédez à Tools-> Options...-> Environment-> Keyboard-> Keyboard. Tapez Outlindans la zone Afficher les commandes contenant :. Attribuez ensuite une nouvelle combinaison de touches de raccourci pour Edit.ToggleAllOutlininget Edit.ToggleOutliningExpansionet appuyez sur Assign: entrez la description de l'image ici

  3. Maintenant, vérifiez les raccourcis pris après avoir appuyé sur OK et vos touches de raccourci devraient fonctionner comme prévu. Comme vous pouvez le voir, j'ai attribué le mien à CTRL+ALT+Left Arrowet CTRL+ALT+Right Arrow, mais vous pouvez utiliser ce que vous voulez: entrez la description de l'image ici

Enfin, si cela ne fonctionne pas, vous devrez peut-être basculer vers un autre client SQL. Il semble que la fonctionnalité souhaitée est similaire à l'exécution d'un bloc Oracle PL / SQL via CTRL + ENTERdans Oracle SQL Developer. Vous pouvez utiliser Oracle SQL Developer pour vous connecter à SQL Server à l'aide de pilotes JDBC de base de données tierce ( réf ), mais je ne le recommande pas.

John Eisbrener
la source
Oui, cela suffit à lui seul pour installer Toad et utiliser F9. Toad a cependant son propre ensemble de bizarreries.
crokusek
Merci pour votre réponse! Comment puis-je plier le nœud d'arbre sans utiliser de souris?
Jason
@Jason - J'ai mis à jour ma réponse avec les raccourcis clavier. Vous aurez besoin d'une version plus récente de SSMS, car cette fonctionnalité n'était pas disponible sur toutes les versions comme indiqué par le lien URL que j'ai fourni.
John Eisbrener
@JohnEisbrener, merci pour votre aide et je vais les vérifier!
Jason
@JohnEisbrener, j'essayais de tester le nouveau raccourci clavier que vous avez suggéré et aucun ne fonctionne pour moi. J'utilise la dernière version de SSMS, qui est la version 13.0.16106.4. Les avez-vous déjà testés par vous-même?
Jason
2

N'utilisez pas du tout les touches up/ down/ right/ leftpour sélectionner votre code à exécuter.

En supposant qu'une souris d'ordinateur peut être utilisée, procédez comme suit:

  1. Utilisez la souris de votre ordinateur pour déplacer le curseur sur le premier caractère à inclure.
  2. Suivant Maintenez enfoncée et maintenez la Ctrltouche enfoncée, puis déplacez la souris pour inclure le dernier caractère à inclure.
  3. Continuez à maintenir la Ctrltouche, puis appuyez sur la Etouche qui exécutera le texte en surbrillance.

Si vous souhaitez supprimer le code qui vient d'être exécuté, vous devez continuer à maintenir la Ctrltouche enfoncée, puis appuyer sur la Deletetouche.

Je suppose qu'il est possible que quelqu'un ait créé un outil pour le faire automatiquement.

RLF
la source
Merci pour votre réponse! Je sais comment utiliser ctrl / shift avec une souris pour sélectionner le code et je pense que c'est un peu lent à comparer avec les raccourcis / extraits. Connaissez-vous des raccourcis / extraits qui peuvent sélectionner automatiquement le code?
Jason
4
@RLF, je vais attribuer votre réponse avec un vote positif pour la pêche à la traîne réussie (intentionnelle ou non, peu importe.)
Daniel Hutmacher
1

Je ne pense pas que ce soit possible. Voir la liste complète des raccourcis par défaut prêts à l'emploi ici . Vous pourrez peut-être personnaliser quelque chose à partir des outils -> menu d'options

Simon Hellings
la source
Merci pour votre réponse! Si les raccourcis clavier ne sont pas possibles, connaissez-vous des extraits de code pour cela?
Jason
Pas que je puisse penser à
Simon Hellings