it-swarm.com.ru

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

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

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

ОБНОВЛЕНИЕ 1:

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

#!/bin/sh

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

И использовал:

#!/bin/sh

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

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

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]>

Код открывается правильно, с ожидаемым содержимым, но он не ожидает ответа, т. Е. Нажимая кнопку сохранения и закрывая окно, чтобы вернуться к запросу.

ОБНОВЛЕНИЕ 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 Code работать в качестве редактора по умолчанию для комментариев коммитов, перебазирования и т.д. Я все еще хотел бы посмотреть, возможно ли использовать его в качестве инструмента сравнения.

ОБНОВЛЕНИЕ 5:

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

273
Gary Ewan Park

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

  1. Убедитесь, что вы можете запустить code --help из командной строки, и вы получите помощь.

    • если вы не видите справку, выполните следующие действия:

      • Mac: выберите Командная консоль: установите команду "Код" в пути из палитры команд.

        • Палитра команд - это то, что появляется при нажатии shift +  + P в то время как внутри VS Code. (shift + ctrl + P в Windows)
      • Windows: Убедитесь, что вы выбрали Добавить в PATH во время установки.
      • Linux: убедитесь, что вы установили код с помощью наших новых пакетов .deb или .rpm.
  2. Из командной строки запустите git config --global core.editor "code --wait"

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

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

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

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

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

Насколько я понимаю, 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.

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

25
Frank Boucher

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

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

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

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

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

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

Некоторая дополнительная информация:

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

11
IluxaKuk

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

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

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

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

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

Не уверен, каковы могут быть последствия этого.

2
miqh

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

Реализация Ref: Реализовать -w/- ждать командной строки arg

1
Wasif Hossain

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

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

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

1
Şafak Gür

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

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

Просто хочу добавить эти обратные косые черты к предыдущим ответам, я нахожусь на Windows 10 CMD, и это не работает без обратной косой черты перед пробелами.

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

на Windows 10 с использованием 64-битной версии инсайдеров команда должна быть:

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

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

0
LuisCarlos Rodriguez

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

Попробуйте заменить kdiff3 на эти значения, чтобы они указывали на исполняемый код Visual Studio.

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

0
SJMan

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

0
Zidu