При использовании git в командной строке мне интересно, возможно ли использовать Visual Studio Code в качестве редактора по умолчанию, то есть при создании комментариев комитетов и при просмотре различий файла из командной строки.
Я понимаю, что это не будет возможно использовать его для выполнения слияний (по крайней мере, в минуту), но кто-нибудь знает, возможно ли использовать его для просмотра различий, и если да, то какие параметры командной строки потребуются в файл .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
Если вы заинтересованы в добавлении этой функции, вы можете подумать о том, чтобы добавить свои голоса здесь:
ОБНОВЛЕНИЕ 3:
Я был достоверно проинформирован о том, что команда VSCode выбрала эту функцию, поэтому я с нетерпением жду будущего выпуска, который будет включать ее.
ОБНОВЛЕНИЕ 4:
Благодаря комментарию @ f-boucheros, приведенному ниже, я смог заставить VS Code работать в качестве редактора по умолчанию для комментариев коммитов, перебазирования и т. Д. Я все еще хотел бы посмотреть, возможно ли использовать его в качестве инструмента сравнения.
ОБНОВЛЕНИЕ 5:
Согласно принятому ответу на вопрос, это теперь возможно с использованием версии V1.0 кода.
источник
--new-window
к команде было полезным. Таким образом, операция git откроется в новом окне.Ctrl+Shift+P
? Мой не работает (нет вcode --help
наличии), и я не понимаю, что означает: "Убедитесь, что вы выбрали Добавить в PATH во время установки" Что я должен сделать, чтобы проверить это? Может кто-нибудь, пожалуйста, помогите мне?"files.hotExit": "off"
внизу своегоgit config core.editor "code -n --wait"
VS Code 1.17.2, работающий из внешней командной строки. И тоcode
и другоеcode --wait
дало мне «Отмена коммита из-за пустого коммита».Насколько я понимаю, VSCode больше нет в AppData.
Поэтому установите редактор git по умолчанию, выполнив эту команду в окне командной строки:
Параметр
-w
,--wait
чтобы ждать , пока окно будет закрыто , прежде чем вернуться. Код Visual Studio основан на редакторе Atom. если у вас также установлен атом, выполните командуatom --help
. Вы увидите последний аргумент в справке подождать.В следующий раз, когда вы это сделаете,
git rebase -i HEAD~3
появится Visual Studio Code. Как только VSCode закроется, Git вернет лидерство.Примечание. Моя текущая версия VSCode - 0.9.2.
Я надеюсь, что это поможет.
источник
-w
и где вы нашли это документально?git config --global core.editor "code --wait"
.Вам нужно использовать команду:
Убедитесь, что вы можете запустить свой редактор из Git Bash
Если вы хотите использовать Code.exe с коротким путем, вы можете сделать это, добавив следующую строку в ваш .bash_profile:
И теперь вы можете вызвать его, используя только
vscode
команду (или как вы ее назвали)Некоторая дополнительная информация:
источник
-n
это сокращение от--new-window
git, чтобы открыть новое окно редактора, и-w
сокращение от--wait
git, чтобы вы снова закрыли окно. Это единственный ответ, который работает для меня, потому что я, если у меня уже есть открытый код VS--wait
, не будет работать без--new-window
.Еще одна полезная опция - установить
EDITOR
переменную окружения. Эта переменная окружения используется многими утилитами, чтобы узнать, какой редактор использовать. Git также использует его, если неcore.editor
установлено.Вы можете установить его для текущей сессии, используя:
Таким образом, не только
git
, но и многие другие приложения будут использовать VS Code в качестве редактора.Чтобы сделать это изменение постоянным, добавьте его к вашему
~/.profile
примеру. Смотрите этот вопрос для получения дополнительных возможностей.Еще одним преимуществом этого подхода является то, что вы можете установить разные редакторы для разных случаев:
Это особенно полезно с VS Code (или любым другим редактором GUI), потому что он просто не работает без GUI.
В ОС Linux поместите это в свой
~/.profile
:Таким образом, при использовании локального терминала
$SSH_CONNECTION
переменная среды будет пустой, поэтомуcode -w
будет использоваться редактор, но когда вы подключены через SSH,$SSH_CONNECTION
переменная среды будет непустой строкой, поэтомуvim
будет использоваться редактор. Это консольный редактор, поэтому он будет работать, даже если вы подключены через SSH.источник
Я открыл свой
.gitconfig
и поправил его:Это сделало это для меня (я на Windows 8).
Тем не менее, я заметил, что после того, как я попробовал произвольно,
git commit
что в моей консоли Git Bash я вижу следующее сообщение:Не уверен, каковы могут быть последствия этого.
источник
app-0.1.0/resources/app/env.js
кажется, содержит несколько флагов командной строки, которые принимает исполняемый файл Code. Никто не предполагает поведение , эквивалентный-multiInst
хотя.--wait
флаг, и этот--new-window
флаг также настоятельно рекомендуется, чтобы коммит msg / diff / what не просто отображался как новая вкладка в уже открытом редакторе, требуя от вас закрытия файлов, которыми вы все еще можете быть работает над тем, чтобы дать сигнал git, что вы закончили редактирование.GitPad устанавливает ваш текущий текстовый редактор в качестве редактора по умолчанию для Git.
Мой редактор по умолчанию для
.txt
файлов в Windows 10 - это Visual Studio Code, и запуск GitPad однажды сделал его редактором по умолчанию для Git. Я не испытывал проблем, упомянутых в вопросе (в моем случае Git ждет, пока не закроется окно VS Code).(Ссылка на
.exe
файл не работает для меня, возможно, вам придется скомпилировать исходный код самостоятельно.)источник
Right click
>Open with
>Chose another app
. Я ожидал, что он зарегистрирует себя при настройке (и обновит реестр при каждом обновлении, чтобы оболочка могла его найти), но я не смог найти ничего, кроме пункта контекстного меню «Открыть с кодом» в реестре. Так что у меня действительно нет более ясного ответа на это, извините.Хорошие новости! На момент написания статьи эта функция уже была реализована в выпуске 0.10.12-инсайдеров и реализована через 0.10.14-инсайдеров . Следовательно, мы собираемся сделать это в следующей версии VS Code 1.0. .
Реализация Ref: Реализация -w / - ждать командной строки arg
источник
Просто хочу добавить эти обратные косые черты к предыдущим ответам, я нахожусь на Windows 10 CMD, и это не работает без обратной косой черты перед пробелами.
источник
Я не уверен, что вы можете сделать это, однако вы можете попробовать эти дополнения в вашем файле gitconfig.
Попробуйте заменить kdiff3 на эти значения, чтобы они указывали на исполняемый код Visual Studio.
[merge] tool = kdiff3 [mergetool "kdiff3"] path = C:/Program Files/KDiff3/kdiff3.exe keepBackup = false trustExitCode = false
источник
Я установил Visual Studio Code по умолчанию для открытия .txt файла. И затем я сделал команду использовать простой:
git config --global core.editor "'C:\Users\UserName\AppData\Local\Code\app-0.7.10\Code.exe\'"
. И все работает довольно хорошо.источник
Запустите эту команду в приложении Mac Terminal
источник
на Windows 10 с использованием 64-битной версии инсайдеров команда должна быть:
Вы также можете переименовать «code-insiders.cmd» в «code.cmd» в каталоге «Program Files», таким образом, теперь вы можете использовать команду «code». начать редактирование файлов на. каталог
источник