Добавление Git-Bash в новый терминал Windows
Я пытаюсь добавить новый терминал (Git Bash) в новый терминал Windows, однако не могу заставить его работать.
Я пытался изменить commandline
недвижимость в profiles
массив для git-bash.exe
но не повезло.
У кого-нибудь есть идеи, как заставить это работать?
Заранее спасибо.
19 ответов
Вот что я сделал
{
"acrylicOpacity" : 0.75,
"closeOnExit" : true,
"colorScheme" : "Campbell",
"commandline" : "\"%PROGRAMFILES%\\git\\usr\\bin\\bash.exe\" -i -l",
"cursorColor" : "#FFFFFF",
"cursorShape" : "bar",
"fontFace" : "Consolas",
"fontSize" : 10,
"historySize" : 9001,
"icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
"name" : "Bash",
"padding" : "0, 0, 0, 0",
"snapOnInput" : true,
"startingDirectory" : "%USERPROFILE%",
"useAcrylic" : true
},
ключевая вещь, чтобы отметить НЕТ guid
(он автоматически генерируется после сохранения) -i -l
чтобы убедиться, что .bash_profile
загружается
Этот "гид" может быть использован в globals
"defaultProfile" : "{fb39ce23-a468-4ee2-bc56-7a940f799513}",
Таким образом, вы можете нажать CtrlShiftT
Одна вещь, которую я изменил, я использовал %PROGRAMFILES%\git\usr\bin\bash.exe
по следующим причинам:
- для поддержки пользователей, которые не использовали
C:\Program Files
что может случиться для модернизированных систем. git\bin\bash.exe
порождает другой процесс, удаляя, что мы экономим около 10 МБ на процесс в соответствии с Process Explorer
У меня есть моя конфигурация в https://gist.github.com/trajano/24f4edccd9a997fad8b4de29ea252cc8
Есть следующие вещи, чтобы сделать.
- Убедитесь, что ваш
git
команда может быть успешно запущена в CMD
Это означает, что вам нужно добавитьgit
путь при установке git или добавьте его в системную среду позже.
- Обновите файл конфигурации
profile.json
открыто Settings
, добавьте следующий фрагмент внутри словаprofiles
:
{
"tabTitle": "Git Bash",
"acrylicOpacity" : 0.75,
"closeOnExit" : true,
"colorScheme" : "Campbell",
"commandline" : "C:/Program Files/Git/bin/bash.exe --login",
"cursorColor" : "#FFFFFF",
"cursorShape" : "bar",
"fontFace" : "Consolas",
"fontSize" : 12,
"guid" : "{14ad203f-52cc-4110-90d6-d96e0f41b64d}",
"historySize" : 9001,
"icon": "ms-appdata:///roaming/git-bash_32px.ico",
"name" : "Git Bash",
"padding" : "0, 0, 0, 0",
"snapOnInput" : true,
"useAcrylic" : true
}
Значок можно получить здесь: git-bash_32px.ico
Вы можете добавить иконки для Tab в это место:
%LOCALAPPDATA%\packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState
Поместите 32x32 PNG/ иконки в эту папку, а затем вprofile.json
Вы можете ссылаться на ресурс изображения с путем, начинающимся с ms-appdata:// .
Обратите внимание, что, пожалуйста, убедитесь, чтоGuid
правильно и соответствует соответствующим правильным конфигам.
- Тест Git Bash хорошо работает в
Windows Terminal
Это полный ответ (GitBash + цветовая схема + значок + контекстное меню)
1) Установите профиль по умолчанию:
"globals" :
{
"defaultProfile" : "{00000000-0000-0000-0000-000000000001}",
...
2) Добавить профиль GitBash
"profiles" :
[
{
"guid": "{00000000-0000-0000-0000-000000000001}",
"acrylicOpacity" : 0.75,
"closeOnExit" : true,
"colorScheme" : "GitBash",
"commandline" : "\"%PROGRAMFILES%\\Git\\usr\\bin\\bash.exe\" --login -i -l",
"cursorColor" : "#FFFFFF",
"cursorShape" : "bar",
"fontFace" : "Consolas",
"fontSize" : 10,
"historySize" : 9001,
"icon" : "%PROGRAMFILES%\\Git\\mingw64\\share\\git\\git-for-windows.ico",
"name" : "GitBash",
"padding" : "0, 0, 0, 0",
"snapOnInput" : true,
"startingDirectory" : "%USERPROFILE%",
"useAcrylic" : false
},
3) Добавить цветовую схему GitBash
"schemes" :
[
{
"background" : "#000000",
"black" : "#0C0C0C",
"blue" : "#6060ff",
"brightBlack" : "#767676",
"brightBlue" : "#3B78FF",
"brightCyan" : "#61D6D6",
"brightGreen" : "#16C60C",
"brightPurple" : "#B4009E",
"brightRed" : "#E74856",
"brightWhite" : "#F2F2F2",
"brightYellow" : "#F9F1A5",
"cyan" : "#3A96DD",
"foreground" : "#bfbfbf",
"green" : "#00a400",
"name" : "GitBash",
"purple" : "#bf00bf",
"red" : "#bf0000",
"white" : "#ffffff",
"yellow" : "#bfbf00",
"grey" : "#bfbfbf"
},
4) Чтобы добавить контекстное меню "Windows Terminal Here", вызываемое правой кнопкой мыши
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"="C:\\Users\\{YOUR_WINDOWS_USERNAME}\\AppData\\Local\\Microsoft\\WindowsApps\\{YOUR_ICONS_FOLDER}\\icon.ico"
[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="\"C:\\Users\\{YOUR_WINDOWS_USERNAME}\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe\""
- заменить {YOUR_WINDOWS_USERNAME}
- создать папку со значками, поместить туда значок и заменить {YOUR_ICONS_FOLDER}
- сохраните это в файле any_filename.reg и запустите.
Это сентябрь 2021 года, полностью спасибо, что последний установщик Git Installation для Windows (мой использовал 2.33.0.2) уже имеет этот вариант для нас, ради нашей лени (и удобства, конечно!)
Пожалуйста, установите Windows Terminal перед установкой Git, хотя я не пробовал иного, но лучше следуйте разумному порядку. Если порядок установки не соответствует требованиям, дайте мне знать, чтобы обновить этот ответ.
Вы можете найти этот небольшой флажок внизу на этапе установки « Выбор компонентов», просто установите этот флажок, и все готово.
В
settings.json
файл будет автоматически добавлен в профиль Git Bash с правильным значком Git Bash. Мой сгенерированный профиль Git Bash довольно стандартный и минимальный.
{
"guid": "{2ece5bfe-50ed-5f3a-ab87-5cd4baafed2b}",
"hidden": false,
"name": "Git Bash",
"source": "Git"
}
Поскольку большинство ответов либо показывают много несвязанной конфигурации, либо не показывают конфигурацию, я создал свой собственный ответ, который пытается быть более сфокусированным. В основном это основано на справке по настройкам профиля и ответе Архимеда Траяно.
Шаги
Откройте PowerShell и введите
[guid]::NewGuid()
для создания нового GUID. Мы будем использовать его на шаге 3.> [guid]::NewGuid() Guid ---- a3da8d92-2f3f-4e36-9714-98876b6cb480
Откройте настройки Windows Terminal. (CTRL+,)
Добавьте следующий объект JSON в
profiles.list
. Заменитьguid
с тем, который вы создали на шаге 1.{ "guid": "{a3da8d92-2f3f-4e36-9714-98876b6cb480}", "name": "Git Bash", "commandline": "\"%PROGRAMFILES%\\Git\\usr\\bin\\bash.exe\" -i -l", "icon": "%PROGRAMFILES%\\Git\\mingw64\\share\\git\\git-for-windows.ico", "startingDirectory" : "%USERPROFILE%" },
Примечания
В настоящее время существует проблема, заключающаяся в том, что вы не можете использовать клавиши со стрелками (и некоторые другие клавиши). Однако, похоже, он работает с последней предварительной версией. ( выпуск #6859)
Указание
"startingDirectory" : "%USERPROFILE%"
не должно быть по ссылке. Однако, если я не укажу его, начальный каталог отличался в зависимости от того, как я изначально запускал терминал.Настройки, которые должны применяться ко всем терминалам, можно указать в
profiles.defaults
.Рекомендую установить
"antialiasingMode": "cleartype"
вprofiles.defaults
. Вы должны удалить"useAcrylic"
(если вы добавили его, как это предлагается некоторыми другими ответами), чтобы он работал. Улучшает качество отрисовки текста. Однако у вас не может быть прозрачного фона безuseAcrylic
. См. Issue #1298.
Вот как я добавил свой в таблицу json профилей,
{
"guid": "{00000000-0000-0000-ba54-000000000002}",
"name": "Git",
"commandline": "C:/Program Files/Git/bin/bash.exe --login",
"icon": "%PROGRAMFILES%/Git/mingw64/share/git/git-for-windows.ico",
"startingDirectory": "%USERPROFILE%",
"hidden": false
}
В случае, если кто-то ищет решение на основе пользовательского интерфейса. Вот:
Зайдите в настройки Терминала.
Справа внизу найдите опцию «Добавить новый профиль». Скриншот настроек Терминала.
Выберите «Новый пустой профиль».
Теперь заполните поля информацией о вашем bash. Если ваши места установки являются местами по умолчанию, вы можете использовать их:
- Имя: Гит-Баш
- Командная строка : C:\Program Files\Git\bin\bash.exe
- Стартовый каталог : [Оставить по умолчанию]
- Значок : C:\Program Files\Git\mingw64\share\git\git-for-windows.ico
- Заголовок вкладки: Настройки Git-BashTemrinal завершены. Вы также можете просмотреть нужные файлы, если вам это нужно.
- Нажмите кнопку «Сохранить».
Конечный результат
Еще один момент, на который стоит обратить внимание - в settings.json я обнаружил, если вы не используете "командную строку": "C:/Program Files/Git/bin/bash.exe"
и вместо этого используйте: "commandline": "C:/Program Files/Git/git-bash.exe"
оболочка Git откроется в независимом окне за пределами Терминала Windows, а не на вкладке, что не является желаемым поведением. Кроме того, открывающаяся вкладка в Терминале Windows также должна быть закрыта вручную, так как на ней будет отображаться информация о завершении процесса - [процесс завершился с кодом 3221225786] и т. Д.
Может спасти кого-то от головной боли
Измените параметр профилей на "commandline": "%PROGRAMFILES%\\Git\\bin\\bash.exe -l -i"
Это работает для меня и позволяет запускать мои сценарии автозаполнения псевдонимов.bash_profile.
Новую версию терминала Windows можно настроить через его графический интерфейс.
Setting -> Add new
Under "command line" add the path -> path/to/Git/bin/bash.exe
Если вы хотите отобразить значок и используете темную тему. Это означает, что иконка, представленная выше, выглядит не очень хорошо. Тогда вы можете найти значок здесь
C:\Program Files\Git\mingw64\share\git\git-for-windows
Я скопировал это в.
%LOCALAPPDATA%\packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState
и назвал это git-bash_32px
как предложено выше.
Управляйте прозрачностью с помощью CTRL + SHIFT + прокрутка.
{
"acrylicOpacity" : 0.75,
"closeOnExit" : true,
"colorScheme" : "Campbell",
"commandline" : "\"%PROGRAMFILES%\\git\\usr\\bin\\bash.exe\" -i -l",
"cursorColor" : "#FFFFFF",
"cursorShape" : "bar",
"fontFace" : "Consolas",
"fontSize" : 10,
"guid" : "{73225108-7633-47ae-80c1-5d00111ef646}",
"historySize" : 9001,
"icon" : "ms-appdata:///roaming/git-bash_32px.ico",
"name" : "Bash",
"padding" : "0, 0, 0, 0",
"snapOnInput" : true,
"startingDirectory" : "%USERPROFILE%",
"useAcrylic" : true
},
Начиная с Git для Windows2.42.0
или более поздней версии, которая вышла в августе 2023 г. Я думаю, теперь вы можете просто перезапустить установщик и установить флажок(NEW!) Add a Git Bash Profile to Windows Terminal
, как показано здесь синим цветом наGit 2.42.0
настраивать:
Вот и все!
Впервые я задокументировал это в своих инструкциях здесь: другие рекомендуемые настройки, которые следует выбрать при установке Git для Windows, см. в моих личных инструкциях по установке здесь: Установка Git для Windows .
Внизу у меня есть раздел под названием «Исправить
~
(
HOME
) dir в Git Bash, если необходимо, что вам тоже может понадобиться, еслиecho ~
не показывает ваш правильный домашний каталог.
Теперь в Терминале есть возможность добавить новый профиль без изменения настроек JSON.
Перейдите в «Настройки» из раскрывающегося меню, как показано ниже.
В разделе «Профили» на боковой панели выберите «Добавить новый профиль». Нажмите «+Новый пустой профиль». Откроется следующий экран.
Добавьте детали, как показано на экране ниже, для git bash или любого другого bash.
Вот и все!
Насколько я знаю из моей текущей версии терминала Windows 1.15.2874.0, вы можете получить то, что хотите, простым щелчком вручную, чтобы настроить его. Предпосылки
- ваш клиент git bash установлен.
- по крайней мере версия терминала Windows 1.15.2874.0 или выше.
Затем завершите настройку, выполнив следующие действия.
- Откройте терминал Windows и найдите «Настройки» в раскрывающемся списке в правом верхнем углу строки меню (или используйте сочетание клавиш ctrl+,);
- Нажмите «Добавить новый профиль» в нижней части левого столбца, после чего автоматически откроется экран шаблона настроек.
- интерактивным щелчком мыши вы хотите установить значение «имя», «путь к исполняемому файлу командной строки», «каталог запуска», «значок». Например, я установил для себя
"gitBash"
,"C:\Program Files\Git\bin\bash.exe"
,"%USERPROFILE%"
и "%USERPROFILE%" в порядке настройки."C:\Program Files\Git\mingw64\share\git\git-for-windows.ico"
. - сохранять.
Парень из Linux, сюда, извините, я опоздал; Я просто впервые устанавливаю git-bash и смотрю, какой должна быть его команда в терминале Windows.
Насколько я знаю
- Cygwin — это не Windows, но он предоставляет уровень перевода POSIX (), так что все эти исполняемые файлы, отличные от Windows, могут работать. Даже когда новая компьютерная программа скомпилирована и построена с помощью cygwin, она все равно оказывается исполняемым файлом, отличным от Windows, и ей все еще нужно
cygwin*.dll
бежать. - MSYS2 — это в основном Windows с несколькими инструментами, которые, вероятно, трудно портировать, оставшись не для Windows и требуя для запуска уровня перевода POSIX (
msys*.dll
); но большинство программ на самом деле являются собственными исполняемыми файлами Windows. Даже когда компилируется и создается новая компьютерная программа, насколько я понимаю, получается родной для Windows *.exe.
Но я до сих пор не знаю, насколько важно, чтобы некоторые из этихMSYSTEM*
иMINGW*
переменные среды должны быть установлены или нет, когда я все равно буду использовать компилятор MINGW.
Я заметил, что в этой ветке продолжают появляться обе командные строки, а именно:./bin/bash
и./usr/bin/bash
; Итак, я пошел дальше и запустил их, чтобы сравнить их окружение... они могут оказаться совершенно разными.
Да будет известно, что ДО запуска любого из приведенных ниже снарядов у меня уже естьC:\Git\mingw64\bin
иC:\Git\usr\bin
как часть системной переменнойPATH
; Я делаю это, потому что хочу иметь возможность использовать команды bash непосредственно из CMD. Но я не думаю, что это как-то влияет на результаты ниже.
c:\Git\bin\bash.exe --login c:\Git\usr\bin\bash.exe --login
Environment Variable c:\Git\bin\bash.exe c:\Git\usr\bin\bash.exe
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EXEPATH c:\git\bin c:\git\bin n n
HOSTNAME n MDXXXXXX n MDXXXXXX
MINGW_CHOST n x86_64-w64-mingw32 n n
MINGW_PACKAGE_PREFIX n mingw-w64-x86_64 n n
MINGW_PREFIX n /mingw64 n n
MSYSTEM_CARCH n x86_64 n x86_64
MSYSTEM_CHOST n x86_64-w64-mingw32 n x86_64-pc-msys
MSYSTEM_PREFIX n /mingw64 n /usr
MSYSTEM MINGW64 MINGW64 n MSYS
PLINK_PROTOCOL ssh ssh n n
SHELL n /usr/bin/bash n /usr/bin/bash
TMPDIR n /tmp n /tmp
ORIGINAL_PATH n y n y
ORIGINAL_TEMP n y n y
ORIGINAL_TMP n y n y
PATH /mingw64/bin:/usr/bin:$HOME/bin:$PATH
PATH $HOME/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:$HOME/bin:$PATH
PATh $PATH
PATH $HOME/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:$PATH
Так что, на всякий случай, мне кажется, что правильнее было бы использовать./bin/bash --login
; но я в этот самый момент, я не уверен, какая разница будет, скажем, когда дело доходит до компиляции совершенно новой программы с MINGW64/GCC; мы увидим.
Добавление "%PROGRAMFILES%\\Git\\bin\\bash.exe -l -i"
не работает для меня Из-за символа пробела (который является разделителем в cmd) в%PROGRAMFILES% терминал выполняет команду "C:\Program"
вместо "C:\Program Files\Git\bin\bash.exe -l -i"
, Решение должно быть что-то вроде добавления кавычек в файл JSON, но я не понял, как. Единственное решение - добавить "C:\Program Files\Git\bin" в%PATH% и записать "commandline": "bash.exe"
в профилях
Я сделал следующее:
- Добавьте "%programfiles%\Git\Bin" в вашу PATH
- В файле profiles.json установите желаемую командную строку как "командная строка": "sh --cd-to-home"
- Перезагрузите терминал Windows
Это сработало для меня.
Добавление приведенного ниже кода в файл settings.json решит проблему.
Если вы отметили опцию «Добавить в терминал Windows» при установке git и вы можете увидеть опцию git bash в параметрах «дублировать профиль».
Это сработает, так как я тоже столкнулся с подобной проблемой.
{
"guid": "{2ece5bfe-50ed-5f3a-ab87-5cd4baafed2b}",
"hidden": false,
"name": "Git Bash",
"source": "Git"
}
Всем, кто может страдать от отсутствия истории bash:
в уже открытом git bash попробуйте запустить другой bash - он должен загрузить ваш профиль, если env vars настроены правильно
Если это ваш случай, вы можете автоматизировать его, добавив следующую командную строку при запуске:
C:\progra~1\git\usr\bin\bash.exe --login -l -i -c /c/progra~1/git/usr/bin/bash.exe