Я пытаюсь добавить новый терминал (Git Bash) в новый терминал Windows. Однако я не могу заставить его работать.

Я попытался изменить свойство commandline в массиве profiles на git-bash.exe, но безуспешно.

Есть ли у кого-нибудь идеи, как заставить это работать?

Mendy

Ответов: 12

Ответы (12)

Обзор

  1. Открыть настройки с помощью Ctrl+,
  2. Вы захотите добавить одну из опций профилей ниже (в зависимости от того, какую версию git вы установили) в "список": часть settings.jsonфайл:

Open settings.json in Windows Terminal sidebar

{
    "$ schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{00000000-0000-0000-ba54-000000000001}",

    "профили":
    {
        "по умолчанию":
        {
            // Поместите здесь настройки, которые вы хотите применить ко всем профилям
        },
        "список":
        [
            <поместите одну из приведенных ниже конфигураций прямо сюда>
        ]
    }
}

Параметры профиля

Раскомментируйте правильные пути для командной строки и icon, если вы используете:

  • Git для Windows в % ПРОГРАММ%
  • Git для Windows в % USERPROFILE%
  • Если вы используете совок
{
    "guid": "{00000000-0000-0000-ba54-000000000002}",
    "commandline": "% PROGRAMFILES% / git / usr / bin / bash.exe -i -l",
    // "командная строка": "% USERPROFILE% / AppData / Local / Programs / Git / bin / bash.exe -l -i",
    // "командная строка": "% USERPROFILE% / scoop / apps / git / current / usr / bin / bash.exe -l -i",
    "icon": "% PROGRAMFILES% / Git / mingw64 / share / git / git-for-windows.ico",
    // «значок»: «% USERPROFILE% / AppData / Local / Programs / Git / mingw64 / share / git / git-for-windows.ico»,
    // "значок": "% USERPROFILE% / apps / git / current / usr / share / git / git-for-windows.ico",
    "name": "Баш",
    "startDirectory": "% USERPROFILE%"
},

Вы также можете добавить другие параметры, например:

{
    "guid": "{00000000-0000-0000-ba54-000000000002}",
    // ...
    «acrylicOpacity»: 0,75,
    "closeOnExit": правда,
    "colorScheme": "Кэмпбелл",
    "cursorColor": "#FFFFFF",
    "cursorShape": "полоса",
    "fontFace": "Консоли",
    "fontSize": 10,
    "historySize": 9001,
    "заполнение": "0, 0, 0, 0",
    "snapOnInput": правда,
    "useAcrylic": true
}

Примечания

  • создайте свой собственный guid начиная с https://github.com/microsoft/terminal/pull/2475 он больше не создается.
  • guid может использоваться в глобальных объектах> defaultProfile, поэтому вы можете нажать, вы можете нажать CtrlShiftТ или запустите терминал Windows, и он запустит bash по умолчанию
"defaultProfile" : "{00000000-0000-0000-ba54-000000000001}",
  • -l -i, чтобы убедиться, что загружается .bash_profile
  • использовать переменные среды, чтобы они могли правильно отображаться в разных системах.
  • target git / bin / bash.exe, чтобы избежать появления дополнительных процессов, что экономит около 10 МБ на процесс в соответствии с Process Explorer по сравнению с использованием bin / bash или git-bash

Моя конфигурация использует Scoop в https://gist.github.com/trajano/24f4edccd9a997fad8b4de29ea252cc8

Новую версию терминала Windows можно настроить через его графический интерфейс.

Setting -> Add new
Under "command line" add the path -> path/to/Git/bin/bash.exe

Вот так я добавил свой в json таблицу профилей,

{
    "guid": "{00000000-0000-0000-ba54-000000000002}",
    "name": "Мерзавец",
    "commandline": "C: / Program Files / Git / bin / bash.exe --login",
    "icon": "% PROGRAMFILES% / Git / mingw64 / share / git / git-for-windows.ico",
    "startDirectory": "% USERPROFILE%",
    "скрытый": ложь
}

Я сделал так:

  1. Добавьте "% programfiles% \ Git \ Bin" к вашему PATH
  2. В файле profiles.json установите желаемую командную строку как «commandline»: «sh --cd-to-home»
  3. Перезагрузите Терминал Windows

У меня сработало.

Если вы хотите отображать значок и используете темную тему. Это означает, что значок, представленный выше, выглядит не очень хорошо. Тогда вы можете найти здесь значок

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
        },

Еще один пункт на заметку - в settings.json Я обнаружил, если ты не используешь "командная строка": "C: / Program Files / Git / bin / bash.exe"

и вместо этого используйте: "командная строка": "C: / Program Files / Git / git-bash.exe"

оболочка Git откроется в независимом окне за пределами Терминала Windows, а не на вкладке, что не является желаемым поведением. Кроме того, открывающаяся вкладка в Терминале Windows также должна быть закрыта вручную, поскольку на ней будет отображаться информация о завершении процесса - [процесс завершился с кодом 3221225786] и т. Д.

Может избавить кого-нибудь от головной боли

Измените параметр профилей на "commandline": "% PROGRAMFILES% \\ Git \\ bin \\ bash.exe -l -i"

Это работает для меня и позволяет запускать сценарии автозаполнения псевдонима .bash_profile.

Это полный ответ (GitBash + цветовая схема + значок + контекстное меню)

  1. Установить профиль по умолчанию:
«глобалы»:
{
    "defaultProfile": "{00000000-0000-0000-0000-000000000001}",
    ...
  1. Добавить профиль GitBash
"профили": [
    {
        "guid": "{00000000-0000-0000-0000-000000000001}",
        «acrylicOpacity»: 0,75,
        "closeOnExit": правда,
        "colorScheme": "GitBash",
        "commandline": "\"% PROGRAMFILES% \\ Git \\ usr \\ bin \\ bash.exe \ "--login -i -l",
        "cursorColor": "#FFFFFF",
        "cursorShape": "полоса",
        "fontFace": "Консоли",
        "fontSize": 10,
        "historySize": 9001,
        "icon": "% PROGRAMFILES% \ Git \ mingw64 \ share \ git \ git-for-windows.ico",
        "name": "GitBash",
        "заполнение": "0, 0, 0, 0",
        "snapOnInput": правда,
        "startDirectory": "% USERPROFILE%",
        "useAcrylic": false
    }
]
  1. Добавить цветовую схему GitBash
 «схемы»: [
      {
          "background": "# 000000",
          "черный": "# 0C0C0C",
          "синий": "# 6060ff",
          "brightBlack": "# 767676",
          "brightBlue": "# 3B78FF",
          "brightCyan": "# 61D6D6",
          "brightGreen": "# 16C60C",
          "brightPurple": "# B4009E",
          "brightRed": "# E74856",
          "brightWhite": "# F2F2F2",
          "brightYellow": "# F9F1A5",
          "голубой": "# 3A96DD",
          "передний план": "#bfbfbf",
          "зеленый": "# 00a400",
          "name": "GitBash",
          "пурпурный": "# bf00bf",
          "красный": "# bf0000",
          "белый": "#ffffff",
          "желтый": "# bfbf00",
          "серый": "#bfbfbf"
      }
  ]
  1. Чтобы добавить контекстное меню "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} своим именем пользователя Windows.
  • Создайте папку со значками, поместите туда значок и замените {YOUR_ICONS_FOLDER} своей папкой с иконками.
  • Сохраните это в файле .reg и запустите.

Вот что нужно сделать.

  1. Убедитесь, что команда git успешно выполняется в командной строке.

Это означает, что вам нужно добавить git в путь при установке git или добавить его в системную среду позже.

Run git in Command Prompt

  1. Обновите файл profile.json: откройте Настройки, нажав Ctrl+, в Терминале Windows, нажмите Открыть файл JSON на боковой панели и добавьте следующий фрагмент внутри слова profiles:

Open settings.json in Windows Terminal sidebar

 {
            "tabTitle": "Git Bash",
            «acrylicOpacity»: 0,75,
            "closeOnExit": правда,
            "colorScheme": "Кэмпбелл",
            "commandline": "C: / Program Files / Git / bin / bash.exe --login",
            "cursorColor": "#FFFFFF",
            "cursorShape": "полоса",
            "fontFace": "Консоли",
            "fontSize": 12,
            "guid": "{14ad203f-52cc-4110-90d6-d96e0f41b64d}",
            "historySize": 9001,
            "значок": "ms-appdata: ///roaming/git-bash_32px.ico",
            "name": "Git Bash",
            "заполнение": "0, 0, 0, 0",
            "snapOnInput": правда,
            "useAcrylic": true
        }

Иконку можно получить здесь: git-bash_32px.ico

Вы можете добавить значки для вкладки в это место:

% LOCALAPPDATA% \ packages \ Microsoft.WindowsTerminal_8wekyb3d8bbwe \ RoamingState

Поместите 32x32 PNG / иконки в эту папку, а затем в profile.json вы можете ссылаться на ресурс изображения с путем, начинающимся с ms-appdata: //.*100006 *

Обратите внимание, пожалуйста, убедитесь, что Guidправильный и соответствует соответствующим правильным конфигурациям.

  1. Проверьте, работает ли git bash в Терминале Windows.

Окончательный результат ниже: enter image description here

Это сентябрь 2021 года, к счастью, последний установщик Git для Windows (мой использовал 2.33.0.2) уже имеет эту опцию, покрытую для нас, ради нашей лени ( и удобство конечно!)

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

Вы можете найти этот небольшой флажок внизу на этапе установки. Выберите компоненты, просто установите этот флажок, и все готово. enter image description here

Файл settings.json будет автоматически добавлен в профиль Git Bash с правильным значком Git Bash. Мой сгенерированный профиль Git Bash довольно стандартный и минимальный.

{
    "guid": "{2ece5bfe-50ed-5f3a-ab87-5cd4baafed2b}",
    "hidden": false,
    "name": "Git Bash",
    "source": "Git"
}

Добавление "% 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» в profiles.json

Поскольку большинство ответов либо показывают много несвязанной конфигурации, либо не показывают конфигурацию, я создал свой собственный ответ, который пытается быть более сфокусированным. В основном он основан на справочнике по настройкам профиля и Ответ Архимеда Траяно.

Шагов

  1. Откройте PowerShell и введите [guid] :: NewGuid (), чтобы сгенерировать новый GUID. Мы будем использовать его на шаге 3.

    > [guid] :: NewGuid ()
    
    Гид
    ----
    a3da8d92-2f3f-4e36-9714-98876b6cb480
    
  2. Откройте настройки Терминал Windows. (CTRL+,)

  3. Добавьте следующий объект 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",
      "startDirectory": "% USERPROFILE%"
    },
    

Примечания

  • В настоящее время существует проблема, заключающаяся в том, что вы не можете использовать клавиши со стрелками (и некоторые другие клавиши). Хотя, похоже, он работает с последней предварительной версией. ( проблема № 6859)

  • Указание "startDirectory": "% USERPROFILE%" не обязательно согласно ссылке. Однако, если я не укажу его, начальный каталог отличался в зависимости от того, как я изначально запускал терминал.

  • Настройки, которые применяются ко всем терминалам, можно указать в profiles.defaults.

  • Рекомендую установить "antialiasingMode": "cleartype" в profiles.defaults. Вам нужно удалить "useAcrylic" (если вы добавили его, как это было предложено некоторыми другими ответами), чтобы он работал. Улучшает качество отрисовки текста. Однако у вас не может быть прозрачного фона без useAcrylic. См. Проблема №1298.

  • Если у вас есть проблемы с курсором, вы можете попробовать другую форму, например "cursorShape": "fillBox". См. настройки курсора для получения дополнительной информации.

2022 WebDevInsider