Как использовать код Visual Studio в качестве редактора по умолчанию для Git



при использовании git в командной строке мне интересно, можно ли использовать код Visual Studio в качестве редактора по умолчанию, т. е. при создании комментариев фиксации и просмотре различий файла из командной строки.



Я понимаю, что его нельзя будет использовать для выполнения слияний (по крайней мере, в данный момент), но кто-нибудь знает, можно ли использовать его для просмотра diff, и если да, то какие параметры командной строки потребуются в нем .gitconfig файл, чтобы сделать это случилось?



обновление 1:



Я пробовал подход, похожий на то, что я сделал для Notepad++ в прошлом, т. е.



#!/bin/sh

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


и используется:



#!/bin/sh

"C:Usersgep13AppDataLocalCodeapp-0.1.0Code.exe" "$*"


но это приводит к сообщению об ошибке:



C:temptestrepo [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:temptestrepo [master +1 ~0 -0]>


код открывается правильно, с ожидаемым содержимым, но он не ждет ответа, т. е. нажмите кнопку Сохранить и закройте окно, чтобы вернуться к приглашению.



обновление 2:



Я только что получил ответ от одного из разработчиков, работающих над VSCode. Похоже, что эта функция в настоящее время не поддерживается :-(



https://twitter.com/IsidorN/status/595501573880553472



Если вы заинтересованы в том, чтобы эта функция была добавлена, вы можете подумать о добавлении своих голосов здесь:



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



обновление 3:



Я достоверно информирован о что эта функция была подобрана командой VSCode, поэтому я с нетерпением жду будущего релиза, который будет включать ее.



обновление 4:



спасибо @ F-boucheros комментарий ниже я смог получить VS-код, работающий в качестве редактора по умолчанию для комментариев фиксации, перебазирования и т. д. Я все равно хотел бы посмотреть, можно ли использовать его в качестве инструмента diff.



обновление 5:



согласно принятому ответу на вопрос, теперь это возможно с помощью выпуска кода V1.0.

1258   10  

10 ответов:

в самой последней версии (v1. 0, выпущенной в марта 2016), теперь вы можете используйте VS Code в качестве инструмента git commit/diff по умолчанию. Цитата из документации:

  1. убедитесь, что вы можете запустить code --help из командной строки, и вы получите помощь.
    • если вы не видите помогите, пожалуйста, выполните следующие действия:
      • Mac: Выберите команда оболочки: установите команду " код " в path от командования Палитра.
      • Windows: убедитесь, что вы выбрали добавить в путь в ходе установка.
      • Linux: убедитесь, что вы установили код через наш новый .деб или .rpm-пакет.
  2. из командной строки, выполните команду git config --global core.editor "code --wait"

теперь вы можете запустить git config --global -e и использовать VS Code в качестве редактора для настройки Git. enter image description here Добавьте следующее, чтобы включить поддержка использования VS-кода в качестве инструмента diff:

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

это использует новый --diff опция, которую вы можете передать в VS Code to сравните два файла рядом.

подводя итог, Вот несколько примеров того, где вы можете использовать Git с VS Код:

  • git rebase HEAD~3 -i позволяет интерактивную перебазировку с помощью VS Code
  • git commit позволяет использовать VS код для сообщения фиксации
  • git add -p затем e для интерактивного добавить
  • git difftool <commit>^ <commit> позволяет использовать VS-код в качестве редактора различий для изменений

насколько я понимаю, VSCode больше не находится в AppData.

поэтому установите редактор git по умолчанию, выполнив эту команду в окне командной строки:

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

параметр -w,--wait это ждать, пока окно будет закрыто перед возвращением. Код Visual Studio основан на Редакторе Atom. если у вас также установлен atom, выполните команду atom --help. Вы увидите, что последний аргумент в справке-это ожидание.

в следующий раз вы делаете git rebase -i HEAD~3 он будет всплывать Код Visual Studio. После VSCode близка, то git будет взять обратно лидерство.

Примечание: моя текущая версия VSCode-0.9.2

Я надеюсь, что поможет.

вы должны использовать команду:

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

убедитесь, что вы можете начать свой редактор с Git Bash

Если вы хотите использовать код.exe с короткого пути, вы можете сделать это, добавив следующую строку в ваш .файл:

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

и теперь, вы можете назвать это, используя только vscode команда (или как вы ее назвали)

дополнительные сведения:

программа установки добавит код Visual Studio в ваш %Путь%, так что из консоль вы можете ввести "код", чтобы открыть VS Code on эта папка. Вам нужно будет перезагрузить консоль после установка для изменения переменной среды %PATH% to вступить в силу.

Я открыл свой .gitconfig и поправил его:

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

Это сделало это для меня (я на Windows 8).

однако я заметил, что после того, как я попробовал произвольный git commit что в моем Git Bash

GitPad устанавливает текущий текстовый редактор в качестве редактора по умолчанию для Git.

мой редактор по умолчанию для .txt файлы в Windows 10-это код Visual Studio, и запуск GitPad однажды сделал его редактором по умолчанию для Git. Я не испытывал проблем, упомянутых в вопросе (Git ждет, пока окно VS Code не будет закрыто в моем случае).

(ссылка на .exe файл не работает для меня, возможно, вам придется скомпилировать источник самостоятельно.)

хорошая новость! На момент написания статьи эта функция уже была реализована в 0.10.12-инсайдеры выпуск и осуществляется через 0.10.14-инсайдеры. Следовательно, мы будем иметь его в предстоящей версии 1.0 релиз VS Code.

Реализация Ref:Implement-w / --wait command line arg

Я не уверен, что вы можете сделать это, однако вы можете попробовать эти дополнения в вашем файле gitconfig.

попробуйте заменить kdiff3 из этих значений, чтобы указать на исполняемый код visual studio.

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

Я настроил код Visual Studio по умолчанию для открытия .txt-файл. И затем я использовал простую команду:git config --global core.editor "'C:\Users\UserName\AppData\Local\Code\app-0.7.10\Code.exe\'". И все работает довольно хорошо.

выполните эту команду в приложении терминала Mac

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

в windows 10 с помощью 64-битной версии insiders команда должна быть:

git config --global core.редактор "'C:\Program файлы\Microsoft VS Code Insiders\bin\code-инсайдеры.cmd'"

вы также можете переименовать ' code-insiders.cmd 'to' код.cmd 'в каталоге' Program Files', таким образом, теперь вы можете использовать код команды '. чтобы начать редактирование файлов на . каталог

Comments

    Ничего не найдено.