2017-05-31 5 views
2

J'ai lu this post à propos du code de mise en forme automatique, et cela a fonctionné lors du formatage de certains fichiers JSON. Il semble formater le fichier entier à la fois. Cela peut être quelque peu radical, par exemple, si les règles de retrait utilisées par VS Code sont en conflit avec un projet, cela conduirait à un diff de contrôle de version majeur lorsqu'il est utilisé sur un gros fichier. Comment pourrais-je auto-indenter ma ligne actuelle?Dans VSCode, quelle commande va automatiquement indenter ma ligne actuelle?

Dans Emacs, le curseur peut être n'importe où sur la ligne et en appuyant sur les touches Ctrl + i volonté de retrait automatique de la ligne actuelle. J'ai cherché à travers les raccourcis clavier possibles et n'en ai pas trouvé un qui ferait cela. Je regarde quelque chose comme "Indent Line" mais à auto-indentation.

+0

Il existe une liaison de touches par défaut: {"clé": "ctrl + k ctrl + f", "commande": "editor.action.formatSelection" ...} qui formate les lignes sélectionnées. Pas exactement ce que vous demandez mais proche car il ne devrait pas formater le fichier entier. – alexriedl

+0

Merci @alexriedl! Je trouve que c'est une solution de contournement mais pas tout à fait ce que j'espérais. C'est ennuyeux de devoir sélectionner toute la ligne. Plus important encore, ceci formate seulement une ligne par rapport à elle-même (par exemple, testé avec une ligne de JSON et il a ajouté des caractères de nouvelle ligne mais n'a pas indenté la ligne w par rapport à la ligne précédente). Donc vraiment on devrait mettre en évidence plusieurs lignes, un peu plus agaçant. –

+0

C'est une très bonne question. Je me demande s'il est très difficile de créer une commande qui prendrait soin de sélectionner la ligne en cours et la sélection de formatage. Je suppose que cela ne doit pas être difficile à mettre en œuvre. –

Répondre

0

Vous pouvez simuler cela en appuyant sur ctrl +i + k +f. Ce sont deux raccourcis séparés: ctrl +i choisirai la ligne courante sous le curseur et ctrl +k +f formatera la sélection.

Vous pouvez remapper la commande editor.action.formatSelection sur quelque chose de plus court si vous souhaitez enregistrer des séquences de touches.

+0

Comme je l'ai mentionné en réponse au commentaire de @ alexriedl, je trouve que c'est une solution de contournement mais pas tout à fait ce que j'espérais. Cela formate uniquement une ligne par rapport à elle-même (par exemple, testé avec une ligne de JSON et il a ajouté des caractères de nouvelle ligne mais n'a pas indenté la ligne w par rapport à la ligne précédente). Il faudrait donc également sélectionner la ligne précédente (en appuyant plusieurs fois sur "ctrl + i", vous ne sélectionnerez que les lignes suivantes). –