Как использовать VS Code в качестве инструмента слияния и разбора в SourceTree?
Этот вопрос и некоторые другие обсуждают, как это может работать на Mac, но я не мог найти документацию от MS или Atlassian, чтобы сделать это на Windows, не пытаясь сделать его глобальной настройкой git. (Я просто предпочитаю менять вещи в среде IDE, где это возможно).
Каковы параметры, которые следует использовать с настройками "Custom" в диалоговом окне "Параметры" диалогового окна "Параметры" на вкладке "Параметры", для разграничения и слияния с VS-кодом?
Ответы
Ответ 1
Могут быть и другие лучшие варианты, но после некоторого эксперимента я нашел, что они работают достаточно хорошо...
- Выберите "Custom" для "External Diff Tool" и "Merge Tool"
-
"Команда Diff" в обоих случаях - это путь к месту установки VS-кода, например:
C:/Пользователи/имя пользователя /AppData/Local/Программы/Microsoft VS Code/Code.exe
или же
C:/Программные файлы (x86)/Microsoft VS Code/Code.exe
-
Аргументы командной строки для Diff'ing:
--diff - подождите "$ LOCAL" "$ REMOTE"
-
И для слияния:
-n - подождите "$ MERGED"
Флаг -n заставляет VS-код открывать новое окно, которое я предпочитаю, поскольку VS-код открывается так быстро, но вы можете его опустить. При работе с конфликтами слияния вы должны закрыть файл, когда закончите, чтобы продолжить. Похоже, что SourceTree не удаляет последовательно промежуточные файлы, которые он создает, но вы можете выбрать, щелкнуть правой кнопкой мыши и "удалить" их из раздела "Нерасположенные файлы" достаточно легко.
Ответ 2
Я смог настроить следующие шаги, используя скрипт code.cmd
Тогда я смог использовать diff и merge из sourcetree.
Примечание. По умолчанию файл code.cmd
содержал аргумент командной строки для открытия инструкций CLI "%~dp0..\resources\app\out\cli.js"
, и каждый раз открывать его было немного утомительно! Я удалил это, чтобы мой файл выглядел следующим образом, теперь открываются только файлы, отправленные с исходного дерева.
@echo off
setlocal
set VSCODE_DEV=
set ELECTRON_RUN_AS_NODE=1
call "%~dp0..\Code.exe" %*
endlocal