将Git-Bash添加到新的Windows Terminal

时间:2019-07-01 16:38:57

标签: git-bash windows-terminal

我正试图在新的Windows Terminal中添加一个新的终端(Git Bash),但是无法正常工作。

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

有人知道如何使它工作吗?

谢谢。

11 个答案:

答案 0 :(得分:90)

Windows版Git

    {
        "guid": "{00000000-0000-0000-ba54-000000000002}",
        "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
    },

Scoop的Windows Git版

如果您使用的是scoop

    {
        "guid": "{00000000-0000-0000-ba54-000000000001}",
        "acrylicOpacity" : 0.75,
        "closeOnExit" : true,
        "colorScheme" : "Campbell",
        "commandline" : "\"%UserProfile%\\scoop\\apps\\git\\current\\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
    },

注释

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

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

答案 1 :(得分:27)

下面要做的事情。

  1. 确保您的git命令可以在CMD中成功运行

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

enter image description here

  1. 更新配置文件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 / icons,然后在profile.json中引用图像资源,其路径以ms-appdata://开头。

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

  1. Windows Terminal中测试git bash效果很好

最终结果如下: enter image description here

答案 2 :(得分:21)

由于大多数答案要么显示很多无关的配置,要么不显示配置,因此我创建了自己的答案,力图更加集中。它主要基于profile settings referenceArchimedes Trajano's answer

步骤

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

    > [guid]::NewGuid()
    
    Guid
    ----
    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",
      "startingDirectory" : "%USERPROFILE%"
    },
    

注释

  • 当前存在一个问题,您无法使用箭头键(和某些其他键)。不过,它似乎可以与最新的预览版本一起使用。 (issue #6859

  • 不需要according to the reference指定"startingDirectory" : "%USERPROFILE%"。但是,如果我没有指定它,则起始目录会因我最初启动终端的方式而有所不同。

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

  • 我建议在"antialiasingMode": "cleartype"中设置profiles.defaults。您必须删除"useAcrylic"(如果您已按照其他答案的建议将其添加)以使其起作用。它提高了文本渲染的质量。但是,没有useAcrylic,您将无法获得透明的背景。参见issue #1298

  • 如果光标有问题,则可以尝试使用其他形状,例如"cursorShape": "filledBox"。有关更多信息,请参见cursor settings

答案 3 :(得分:18)

这就是我在配置文件 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
}

答案 4 :(得分:15)

这是完整的答案( 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}
  • 将其保存在 whatever_filename.reg 文件中并运行。

答案 5 :(得分:6)

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

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

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

可能会让某人头疼

答案 6 :(得分:4)

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

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

答案 7 :(得分:3)

如果要显示图标并且正在使用深色主题。这意味着上面提供的图标看起来不太好。然后您可以在此处找到图标

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

答案 8 :(得分:1)

将个人档案参数更改为"commandline": "%PROGRAMFILES%\\Git\\bin\\bash.exe -l -i"

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

答案 9 :(得分:0)

我这样做如下:

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

对我有用。

答案 10 :(得分: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