447

我正在尝试将新终端(Git Bash)添加到新的 Windows 终端。但是,我无法让它工作。

我尝试将数组中的commandline属性更改为但没有运气。profilesgit-bash.exe

有谁知道如何让它工作?

4

14 回答 14

682

概述

  1. Ctrl用+打开设置,
  2. 您需要将以下配置文件选项之一(取决于您安装的 git 版本)附加到文件的"list":部分settings.json

在 Windows 终端侧边栏中打开 settings.json

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

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

    "profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles
        },
        "list":
        [
            <put one of the configuration below right here>
        ]
    }
}

配置文件选项

取消注释正确的路径commandlineicon如果您正在使用:

  • 适用于 Windows 的 Git%PROGRAMFILES%
  • 适用于 Windows 的 Git%USERPROFILE%
  • 如果你使用勺子
{
    "guid": "{00000000-0000-0000-ba54-000000000002}",
    "commandline": "%PROGRAMFILES%/git/usr/bin/bash.exe -i -l",
    // "commandline": "%USERPROFILE%/AppData/Local/Programs/Git/bin/bash.exe -l -i",
    // "commandline": "%USERPROFILE%/scoop/apps/git/current/usr/bin/bash.exe -l -i",
    "icon": "%PROGRAMFILES%/Git/mingw64/share/git/git-for-windows.ico",
    // "icon": "%USERPROFILE%/AppData/Local/Programs/Git/mingw64/share/git/git-for-windows.ico",
    // "icon": "%USERPROFILE%/apps/git/current/usr/share/git/git-for-windows.ico",
    "name" : "Bash",
    "startingDirectory" : "%USERPROFILE%"
},

您还可以添加其他选项,例如:

{
    "guid": "{00000000-0000-0000-ba54-000000000002}",
    // ...
    "acrylicOpacity" : 0.75,
    "closeOnExit" : true,
    "colorScheme" : "Campbell",
    "cursorColor" : "#FFFFFF",
    "cursorShape" : "bar",
    "fontFace" : "Consolas",
    "fontSize" : 10,
    "historySize" : 9001,
    "padding" : "0, 0, 0, 0",
    "snapOnInput" : true,
    "useAcrylic" : true
}

笔记

  • guidhttps://github.com/microsoft/terminal/pull/2475开始制作您自己的,不再生成。
  • guid可以在globals>中使用,defaultProfile因此您可以按 您可以按CtrlShiftT 或启动 Windows 终端,默认情况下它将启动 bash
"defaultProfile" : "{00000000-0000-0000-ba54-000000000001}",
  • -l -i确保.bash_profile加载
  • 使用环境变量,以便它们可以正确映射到不同的系统。
  • 目标git/bin/bash.exe是避免产生额外的进程,根据 Process Explorer,与使用 bin/bash 或 git-bash 相比,每个进程节省约 10MB

我的配置在https://gist.github.com/trajano/24f4edccd9a997fad8b4de29ea252cc8中使用 Scoop

于 2019-08-06T05:09:44.770 回答
131

有以下事情要做。

  1. 确保git命令在命令提示符中成功运行。

这意味着您需要git在安装 git 时添加到路径或稍后将其添加到系统环境中。

在命令提示符下运行 git

  1. 更新文件profile.json:在 Windows 终端中SettingsCtrl+,打开,单击边栏中的打开 JSON 文件,然后在单词中添加以下代码段profiles

在 Windows 终端侧边栏中打开 settings.json

        { 
            "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/icons 放在这个文件夹中,然后profile.json你可以在其中引用以 . 开头的路径的图像资源ms-appdata://

请注意,请确保Guid正确,并且与相应的正确配置相匹配。

  1. 测试 git bash 在 Windows 终端中是否有效。

最终结果如下: 在此处输入图像描述

于 2019-08-06T06:01:18.157 回答
106

这是完整的答案(GitBash + 配色方案 + 图标 + 上下文菜单

  1. 设置默认配置文件:
"globals": 
{
    "defaultProfile" : "{00000000-0000-0000-0000-000000000001}",
    ...
  1. 添加 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
    }
]
  1. 添加 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"
      }
  ]
  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文件中并运行它。
于 2019-09-20T11:46:47.060 回答
56

因为大多数答案要么显示很多不相关的配置,要么不显示配置,所以我创建了自己的答案,试图更加专注。它主要基于配置文件设置参考Archimedes Trajano 的回答

脚步

  1. 打开PowerShell并输入[guid]::NewGuid()以生成新的 GUID。我们将在第 3 步使用它。

    > [guid]::NewGuid()
    
    Guid
    ----
    a3da8d92-2f3f-4e36-9714-98876b6cb480
    
  2. 打开Windows Terminal的设置。( 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",
      "startingDirectory" : "%USERPROFILE%"
    },
    

笔记

  • 当前存在无法使用箭头键(和其他一些键)的问题。不过,它似乎适用于最新的预览版。(问题#6859

  • 根据参考资料指定"startingDirectory" : "%USERPROFILE%"不应该是必要的。但是,如果我不指定它,则起始目录会根据我最初启动终端的方式而有所不同。

  • 可以在 中指定适用于所有终端的设置profiles.defaults

  • 我建议设置"antialiasingMode": "cleartype"profiles.defaults. 您必须删除"useAcrylic"(如果您按照其他答案的建议添加了它)才能使其正常工作。它提高了文本渲染的质量。但是,没有useAcrylic. 请参阅问题 #1298

  • 如果光标有问题,可以尝试其他形状,例如"cursorShape": "filledBox". 有关详细信息,请参阅光标设置

于 2020-07-07T22:43:51.017 回答
31

这就是我在配置文件 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
}
于 2021-01-25T10:27:50.727 回答
31

现在是2021 年 9 月,谢天谢地,为了我们的懒惰(当然还有方便!

请在安装 Git 之前先安装 Windows Terminal,虽然我没有尝试过相反的方法,但最好遵循明智的顺序。如果安装顺序不是这样,请让我知道以更新此答案。

您可能会在安装阶段Select Components的底部找到这个少数复选框,只需勾选那里的框就可以了。 在此处输入图像描述

settings.json文件将使用正确的 Git Bash 图标自动添加到 Git Bash 配置文件中。我生成的 Git Bash 配置文件非常标准且极简。

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

如果 Windows 终端正在运行,请关闭并再次启动以使 Git Bash 选项可见。

于 2021-09-07T18:51:37.583 回答
14

另一个需要注意的项目 - 在 settings.json 我发现如果你不使用“命令行”:“C:/Program Files/Git/bin/bash.exe”

而是使用:“命令行”:“C:/Program Files/Git/git-bash.exe”

Git shell 将在 Windows 终端之外的独立窗口中打开,而不是在选项卡上打开 - 这不是所需的行为。此外,Windows 终端中打开的选项卡也需要手动关闭,因为它会显示进程退出信息 - [进程退出,代码为 3221225786] 等。

可能会让人头疼

于 2020-06-11T18:30:56.667 回答
9

将配置文件参数更改为"commandline": "%PROGRAMFILES%\\Git\\bin\\bash.exe -l -i"

这对我有用,并允许我的 .bash_profile 别名自动完成脚本运行。

于 2019-07-03T09:55:16.417 回答
8

新版本的 windows 终端可以通过其 GUI 进行配置。

Setting -> Add new
Under "command line" add the path -> path/to/Git/bin/bash.exe
于 2021-05-11T12:08:11.310 回答
6

如果您想显示一个图标并使用深色主题。这意味着上面提供的图标看起来不太好。然后你可以在这里找到图标

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
        },
于 2019-08-12T11:57:59.343 回答
4

如果有人正在寻找基于 UI 的解决方案。这里是:

  1. 转到终端的设置。

  2. 在右侧,查找“添加新配置文件”选项。 终端设置的屏幕截图。

  3. 选择“新建空配置文件”

  4. 现在填写有关您的 bash 的信息的字段。如果您的安装位置是默认位置,您可以使用这些:

  • 名称: Git-Bash
  • 命令行:C:\Program Files\Git\bin\bash.exe
  • 起始目录[保留为默认]
  • 图标:C:\Program Files\Git\mingw64\share\git\git-for-windows.ico
  • 选项卡标题:Git-Bash 终端设置已完成 如果需要,您还可以浏览正确的文件。
  1. 点击保存按钮。

最后结果

最后结果。重击终端

于 2022-01-13T15:23:06.737 回答
0

我做了如下:

  1. 将“%programfiles%\Git\Bin”添加到您的 PATH
  2. 在profiles.json 中,将所需的命令行设置为“commandline”:“sh --cd-to-home”
  3. 重新启动 Windows 终端

它对我有用。

于 2019-07-04T11:54:40.617 回答
0

添加"%PROGRAMFILES%\\Git\\bin\\bash.exe -l -i"对我不起作用。由于 %PROGRAMFILES% 终端中的空格符号(它是 cmd 中的分隔符)执行命令"C:\Program"而不是"C:\Program Files\Git\bin\bash.exe -l -i". 解决方案应该类似于在json文件中添加引号,但我没有弄清楚如何。唯一的解决方案是将“C:\Program Files\Git\bin”添加到%PATH% 并写入"commandline": "bash.exe"profiles.json

于 2019-07-17T07:32:22.930 回答
0

对于可能缺少 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
于 2022-01-24T18:29:22.630 回答