интеграция Git Bash с Visual Studio

#visual-studio #git

#visual-studio #git

Вопрос:

У меня есть версия Git Bash для Windows, и я хочу использовать ее в своих проектах Visual Studio. То, что я хочу, — это способ настроить некоторые настройки так, чтобы одним щелчком мыши можно было открыть Bash с каталогом в текущем проекте Visual Studio.

Было бы здорово, если бы был способ настроить short cut в Git Bash для каталогов, чтобы одна команда могла привести меня к предустановленному каталогу.

Ответ №1:

Запустите Git Bash из Visual Studio

В строке меню Visual Studio: Инструменты -> Внешние инструменты -> Добавить новый

Конфигурация:

Имя: Git Bash

Команда: c:Program Файлы (x86)gitbinsh.exe

Аргументы: —login -i

Начальный каталог: $(SolutionDir)

Комментарии:

1. Вы можете ввести имя, например Git amp; Bash, чтобы использовать для него сочетание клавиш ALT T B

2.Это так здорово, и никаких дополнительных вещей для установки. Что касается меня, я много работаю с открытым веб-сайтом, а не с решениями, поэтому файлы решений находятся в странном временном каталоге. Чтобы получить правильный начальный каталог, я сделал начальный каталог местоположением любого открытого файла. Также, похоже, у меня установлен Git в другом каталоге (возможно, я выбрал install только для себя). Заголовок: Git amp;Bash Команда: %LocalAppData%ProgramsGitbinsh.exe Аргументы: --login -I Начальный каталог: $(ItemDir)

3. Вместо sh.exe используйте git-bash.exe для поддержки копирования из- и вставки в- bash. Нет необходимости добавлять --login -i аргументы, это просто как щелкнуть Git Bash Here по папке решения.

4. Кроме того, вы можете добавить свой собственный ярлык в Tools -> Options -> Evironment -> Keyboard -> Поиск «Инструменты. ExternalCommand[X]», где X — позиция команды Git Bash во внешнем меню инструментов. Затем выберите свой любимый ярлык

5. приведенная выше командная строка не запускает настоящую «git bash here», которая выглядит красиво и красочно. Чтобы запустить его, используйте: command C:Program FilesGitgit-bash.exe аргументы —cd=»$(SolutionDir)» И не удаляйте конечную косую черту из моего примера, потому что SolutionDir всегда заканчивается косой чертой, которая экранирует конечную кавычку …

Ответ №2:

Visual Studio 2019 после версии 16.6 поставляется со встроенным терминалом, аналогичным терминалу в Visual Studio Code. Он также не поставляется с предварительно настроенным git bash, поэтому, чтобы заставить его работать, вам придется создать конфигурацию.

  1. Откройте терминал («Вид -> Терминал») и щелкните значок шестеренки в окне терминала. В качестве альтернативы перейдите в «Инструменты -> Параметры», затем «Среда -> терминал».
  2. Нажмите кнопку Добавить.
  3. Настройте оболочку bash: задайте имя, которое вам нравится (я использую «git bash», потому что я скучный), в качестве исполняемого файла используйте c:program filesgitbinbash.exe , в качестве аргументов используйте --login -i , чтобы получить псевдонимы по умолчанию и так далее. Оболочка будет запущена в базовом каталоге вашего решения. Обратите внимание, что имя в списке не будет обновляться до закрытия диалогового окна (начиная с версии 2022 17.3.1).

Теперь вы должны иметь возможность использовать bash во встроенном терминале с помощью сочетания клавиш по умолчанию Ctrl ` или через View -> Terminal в меню.

Начиная с версии 2022 17.3.1, есть две основные ошибки, о которых я знаю:

  1. если вы попытаетесь открыть свой новый bash и вместо этого получите Powershell, единственный известный мне способ исправить это и действительно иметь возможность открыть bash — это удалить конфигурацию Powershell, которая использовалась вместо этого. Если вам это нужно, вы должны сохранить его настройки и восстановить их вручную.
  2. если для местоположения оболочки задан полный путь, включая bash.exe исполняемый файл, нажатие кнопки с надписью «…» справа, которая открывает диалоговое окно выбора файла, приведет к жесткому сбою Visual Studio.

Комментарии:

1. требуется ли --login -i аргумент? он отлично работает без него

2. Я не уверен, это может зависеть от вашего PATH и вашего .bash_login, .profile и т. Д

3. @Shevek без этого, например, псевдоним «ll» не будет определен

4. Пункт № 1, который вы упомянули внизу, был моим решением. Удаление конфигурации powershell и использование только конфигурации git bash сделало свое дело — спасибо!

5. Я в точности выполнил эти шаги, но мой терминал Git Bash закрывается сразу после его открытия. Чтобы запустить терминал, сначала я открываю представление терминала (Вид> Терминал) Справа от значка шестеренки я открываю выпадающее меню и выбираю терминал «Git Bash», который я создал из приведенных выше инструкций. Когда я делаю это, терминал открывается, а затем немедленно закрывается.

Ответ №3:

вы можете сделать это, чтобы добавить git bash (ничего не устанавливать):

  1. Открыть инструменты

  2. Откройте терминал и нажмите кнопку Добавить

  3. Установите эту конфигурацию (или конфигурацию вашего компьютера) введите описание изображения здесь

  4. Применить: установить по умолчанию и Ок

  5. откройте один вид терминала -> Терминал

введите описание изображения здесь

  1. Добавьте новый терминал ( 1 ) и выберите «git bash» ( 2 ) (откроется новая вкладка 3 ).

введите описание изображения здесь

можно закрыть вкладку терминала powershell.

вкладка git bash откроется автоматически при следующем открытии VS?ДА.

если закрыть вкладку Git bash? Снова откройте новый терминал powershell и добавьте терминал Git bash (шаг 5 , 6 )

Комментарии:

1. Важное различие, показанное в этом ответе, которое заставило его работать у меня. Расположение оболочки должно быть «C:Program FilesGitbinsh.exe » и не»C:Program FilesGitgit-bash.exe «. Спасибо, друг!

Ответ №4:

В VS2017 я добавил свой, перейдя в Инструменты -> Внешние инструменты -> Добавить

  • Название: Git Bash
  • Команда: C:Program FilesGitgit-bash.exe
  • Начальный каталог: $(SolutionDir)

Примечание: Использовать окно вывода запускает команду и помещает любой вывод в окно вывода. Это полезно для команд, которые просто возвращают некоторые данные, поэтому я не проверял это.

Если вы хотите создать для него ярлык:

  1. Используйте MoveUp, чтобы переместить ‘Git Bash’ на 1-ю позицию.
  2. Перейдите в меню Инструменты -> Параметры -> Среда -> Клавиатура и найдите Инструменты.ExternalCommand1
  3. Назначить ярлык

Комментарии:

1. это открыло оболочку, решение от @tobi_s было тем, что я искал

Ответ №5:

Взгляните на поставщика системы управления версиями Git:http://gitscc.codeplex.com /

Он имеет интеграцию с Visual Studio для Git, и один из вариантов — открыть Git Bash.

Комментарии:

1. Для пользователей Visual Studio 2013 существует более тесная интеграция с Git, при которой вам не нужен поставщик управления версиями Git; Visual Studio 2013 предоставляет готовый поставщик управления версиями Git. ответ @Taran — лучшее решение для Visual Studio 2013.

Ответ №6:

Я рекомендую вам использовать инструменты GIT для Visual Studio 2013 и далее

Вы можете ознакомиться с его полной справочной информацией, посетивhttp://yysun.github.io/git-tools /#/

Чтобы установить его, перейдите в Tools -> Extensions and Updates и введите Git Tools. Загрузите плагин и установите или вы можете просто посетить Visual Studio markethttps://marketplace.visualstudio.com/items?itemName=yysun .GitTools и нажмите на загрузить.

Снимок инструментов Git

После установки расширения Git Tools и перезапуска всех открытых экземпляров Visual Studio

Чтобы запустить Git Bash: * Нажмите Git Tools -> Git Bash, как показано ниже

введите описание изображения здесь

введите описание изображения здесь

Однако перед выполнением этих шагов, пожалуйста, убедитесь, что у вас есть git bash https://git-scm.com/downloads установка завершена в вашей среде и, скорее всего, настроены ваши логины, если это возможно.

Комментарии:

1. Почему это должно быть лучше, чем принятое (вызывающее sh.exe )? Пожалуйста, объясните ответ

2. @EduLopez у использования gittools есть и другие преимущества, например, экран пользовательского интерфейса журнала изменений (diff viewer) не требует установки какого-либо стороннего инструмента, такого как Kdiff3 или p4merge и т.д. Для этого у него есть встроенная функциональность. Стандартный diffviewer с настройкой git bash является очень простым и работает только в dos, поэтому мы не можем использовать движения мыши для анализа различий. Он основан на редакторе VI Linux Bash.

Ответ №7:

Вы можете использовать posh-git в консоли менеджера пакетов Nuget, которая автоматически переключается на расположение открытого решения.

Ответ №8:

Visual Studio 2019 интегрированное терминальное решение, вызывающее bash напрямую, в порядке, но не предоставляет среду разработчика. Если вам это нужно, используйте cmd.exe и запуск bash.exe изнутри. Это может быть автоматизировано с помощью тех же инструментов / параметров … / Среды / диалогового окна терминала:

  1. Расположение оболочки: C:WINDOWSsystem32cmd.exe
  2. Аргументы: /c ""%VSAPPIDDIR%..ToolsVsDevCmd.bat" -arch=x64 amp; <pathtogit-for-windows>binbash.exe --login -i"

Примечания:

  1. -arch=x64 выбор архитектуры среды разработки
  2. --login -i например, устанавливает правильный «LANG» env var, чтобы неанглоязычные имена файлов отображались правильно, также включает, например, цвета псевдонима ‘ll’ и имени файла
  3. /c вместо /k того, чтобы после того, как вы exit из bash , также завершалась командная строка

Комментарии:

1. /c ""%VSAPPIDDIR%..ToolsVsDevCmd.bat" -arch=x64 amp; "<pathtogit-for-windows>binbash.exe" --login -i" может быть более рабочей версией, потому что путь к git обычно содержит пробелы