web-dev-qa-db-fra.com

Comment utiliser le code Visual Studio en tant qu'éditeur par défaut pour Git

Lors de l’utilisation de git sur la ligne de commande, je me demande s’il est possible d’utiliser Visual Studio Code comme éditeur par défaut, c’est-à-dire lors de la création de commentaires de validation et lorsqu’on regarde un diff d’un fichier à partir de la ligne de commande.

Je comprends qu’il ne sera pas possible de l’utiliser pour effectuer des fusions (du moins à la minute), mais est-ce que quelqu'un sait s’il est possible de l’utiliser pour examiner les diff, et si oui, quelles options de ligne de commande seraient nécessaires dans le fichier .gitconfig pour y arriver?

UPDATE 1:

J'ai essayé une approche similaire à ce que j'ai fait pour Notepad ++ dans le passé , c'est-à-dire.

#!/bin/sh

"c:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*"

Et utilisé:

#!/bin/sh

"C:\Users\gep13\AppData\Local\Code\app-0.1.0\Code.exe" "$*"

Mais cela entraîne un message d'erreur:

C:\temp\testrepo [master +1 ~0 -0]> git commit
[8660:0504/084217:ERROR:crash_reporter_win.cc(70)] Cannot initialize out-of-process crash handler
Aborting commit due to empty commit message.
C:\temp\testrepo [master +1 ~0 -0]>

Le code s’ouvre correctement, avec le contenu attendu, mais il n’attend pas la réponse, c’est-à-dire que vous enregistrez et fermez la fenêtre pour revenir à Invite.

UPDATE 2:

Je viens de recevoir l’avis de l’un des développeurs travaillant sur VSCode. On dirait que cette fonctionnalité n'est actuellement pas supportée :

--- (https://Twitter.com/IsidorN/status/595501573880553472

Si vous souhaitez que cette fonctionnalité soit ajoutée, vous voudrez peut-être ajouter vos votes ici:

http://visualstudio.uservoice.com/forums/293070-code-studio-code/suggestions/7756482-support-git-configure-diff-and-merge-tools

UPDATE 3:

J'ai été informé de manière fiable que cette fonctionnalité a été prise en charge par l'équipe de VSCode. Je suis donc impatient de recevoir une future version qui l'inclura.

MISE À JOUR 4:

Grâce au commentaire @ f-boucheros ci-dessous, j'ai pu faire fonctionner VS Code en tant qu'éditeur par défaut pour les commentaires de validation, les modifications de base, etc. J'aimerais toujours voir s'il est également possible de l'utiliser comme outil de différenciation.

UPDATE 5:

Selon la réponse acceptée pour la question, cela est désormais possible avec la version 1.0 du code.

289
Gary Ewan Park

Dans la version la plus récente (v1.0, publiée dans en mars 2016 ), vous pouvez maintenant tiliser VS Code comme git par défaut). outil commit/diff . Cité des documentations:

  1. Assurez-vous que vous pouvez exécuter code --help à partir de la ligne de commande et obtenir de l'aide.

    • si vous ne voyez pas d'aide, veuillez suivre ces étapes:

      • Mac: Sélectionnez Shell Command: Installez la commande 'Code' dans le chemin à partir de la palette de commandes.

        • La palette de commandes est ce qui apparaît lorsque vous appuyez sur shift +  + P dans VS Code. (shift + ctrl + P sous Windows)
      • Windows: Assurez-vous d'avoir sélectionné Ajouter à CHEMIN lors de l'installation.
      • Linux: Assurez-vous que vous avez installé Code via nos nouveaux packages .deb ou .rpm.
  2. À partir de la ligne de commande, exécutez git config --global core.editor "code --wait"

Vous pouvez maintenant exécuter git config --global -e et utiliser VS Code comme éditeur pour configurer Git. enter image description here Ajoutez les éléments suivants pour activer la prise en charge de l’utilisation de VS Code en tant qu’outil de différenciation:

[diff]
    tool = default-difftool
[difftool "default-difftool"]
    cmd = code --wait --diff $LOCAL $REMOTE

Ceci exploite la nouvelle option --diff que vous pouvez transmettre à VS Code pour comparer deux fichiers côte à côte.

Pour résumer, voici quelques exemples d'utilisation de Git avec VS Code:

  • git rebase HEAD~3 -i permet de créer une base interactive à l'aide de VS Code
  • git commit permet d'utiliser VS Code pour le message de validation
  • git add -p suivi de e pour l'ajout interactif
  • git difftool <commit>^ <commit> permet d'utiliser VS Code comme éditeur de diff pour les modifications
532
rexcfnghk

Pour ce que je comprends, le VSCode n'est plus dans AppData.

Donc, définissez l'éditeur git par défaut en exécutant cette commande dans une fenêtre d'invite de commande:

git config --global core.editor "'C:\Program Files (x86)\Microsoft VS Code\code.exe' -w"

Le paramètre -w, --wait doit attendre que la fenêtre se ferme avant de revenir. Le code Visual Studio est basé sur Atom Editor. Si vous avez également installé atom, exécutez la commande atom --help. Vous verrez que le dernier argument de l'aide est attendre.

La prochaine fois que vous ferez un git rebase -i HEAD~3, il affichera le code Visual Studio. Une fois que le VSCode est proche, Git reprendra l’avance.

Remarque: Ma version actuelle de VSCode est 0.9.2.

J'espère que cette aide.

28
Frank Boucher

Vous devez utiliser la commande:

git config --global core.editor "'C:\Program Files\Microsoft VS Code\code.exe' -n -w"

Assurez-vous de pouvoir démarrer votre éditeur depuis Git Bash

Si vous souhaitez utiliser Code.exe avec un chemin court, vous pouvez le faire en ajoutant la ligne suivante à votre fichier .bash_profile:

alias vscode="C:/Program\ Files/Microsoft\ VS\ Code/Code.exe"

Et maintenant, vous pouvez l'appeler en utilisant uniquement la commande vscode (ou le nom que vous lui avez donné)

Quelques informations supplémentaires:

Le programme d’installation ajoutera du code Visual Studio à votre% PATH%. Vous pourrez ainsi taper "code" à partir de la console pour ouvrir VS Code sur ce dossier. Vous devrez redémarrer votre console après l'installation pour que la modification de la variable d'environnement% PATH% prenne effet.

11
IluxaKuk

Une autre option utile consiste à définir la variable d’environnement EDITOR. Cette variable d’environnement est utilisée par de nombreux utilitaires pour savoir quel éditeur utiliser. Git l'utilise également si aucun core.editor n'est défini.

Vous pouvez le définir pour la session en cours en utilisant:

export EDITOR=code --wait

De cette façon, non seulement git, mais de nombreuses autres applications utiliseront VS Code comme éditeur.

Pour rendre cette modification permanente, ajoutez ceci à ~/.profile par exemple. Voir cette question pour plus d'options.

2
Ruslan Stelmachenko

J'ai ouvert mon .gitconfig et l'ai modifié avec:

[core]
    editor = 'C:/Users/miqid/AppData/Local/Code/app-0.1.0/Code.exe'

Cela l’a fait pour moi (je suis sous Windows 8).

Cependant, j'ai remarqué qu'après avoir essayé un git commit arbitraire _ dans ma console Git Bash, je vois le message suivant:

[9168:0504/160114:INFO:renderer_main.cc(212)] Renderer process started

Pas sûr de ce que les conséquences de cela pourraient être.

2
miqh

Bonnes nouvelles! Au moment de la rédaction de ce document, cette fonctionnalité était déjà implémentée dans la version 0.10.12-initiés et exécutée via . ) 0.10.14-initiés . Nous allons donc l'avoir dans la prochaine version Version 1.0 de VS Code .

Réf. Implémentation: Implement -w/- wait, argument de ligne de commande

1
Wasif Hossain

GitPad définit votre éditeur de texte actuel comme éditeur par défaut pour Git.

Mon éditeur par défaut pour les fichiers .txt dans Windows 10 est le code Visual Studio et l'exécution de GitPad en a déjà fait l'éditeur par défaut de Git. Je n'ai pas rencontré les problèmes mentionnés dans la question (Git attend que la fenêtre du code VS soit fermée dans mon cas).

(Le lien pour le fichier .exe ne fonctionnait pas pour moi, vous devrez peut-être compiler vous-même le code source.)

1
Şafak Gür

Exécutez cette commande dans votre application Mac Terminal

git config --global core.editor "/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code"
1
Mohammed

Je veux juste ajouter ces barres obliques inversées aux réponses précédentes. Je suis sur Windows 10 CMD et cela ne fonctionne pas sans les barres obliques inverses avant les espaces.

git config --global core.editor "C:\\Users\\your_user_name\\AppData\\Local\\Programs\\Microsoft\ VS\ Code\\Code.exe"
1
Victor Ma

sur Windows 10 à l'aide de l'édition 64bit initiés, la commande doit être:

git config --global core.editor "'C:\Programmes\Microsoft VS Code Insiders\bin\code-insiders.cmd'"

vous pouvez également renommer 'code-insiders.cmd' en 'code.cmd' dans le répertoire 'Program Files', de cette manière, vous pouvez désormais utiliser la commande 'code'. pour commencer à éditer les fichiers sur le. annuaire

0

Je ne suis pas sûr de pouvoir le faire, mais vous pouvez essayer ces ajouts dans votre fichier gitconfig.

Essayez de remplacer kdiff3 à partir de ces valeurs pour pointer vers le code exécutable de Visual Studio.

[merge] tool = kdiff3 [mergetool "kdiff3"] path = C:/Program Files/KDiff3/kdiff3.exe keepBackup = false trustExitCode = false

0
SJMan

J'ai configuré Visual Studio Code par défaut pour ouvrir le fichier .txt. Et ensuite, j'ai utilisé une commande simple: git config --global core.editor "'C:\Users\UserName\AppData\Local\Code\app-0.7.10\Code.exe\'". Et tout fonctionne plutôt bien.

0
Zidu