VSCode终端窗口 - git-bash别名被忽略

时间:2018-05-14 08:53:54

标签: visual-studio-code git-bash

我在c:\Users\user\.bash_profileC:\Program Files\Git\etc\profile.d\aliases.sh中创建了别名,但两个配置都被VSCode集成终端忽略了,该终端配置为使用git bash:

"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",

如果我打开GitBash本身 - 别名可以正常工作

如何强制集成终端尊重配置?

4 个答案:

答案 0 :(得分:9)

您可以尝试添加设置:

// The command line arguments to use when on the Windows terminal.
"terminal.integrated.shellArgs.windows": [
    "--login", "-i"
],

"-i" - 强制shell以交互方式运行。

"--login" - 使这个shell表现得像登录直接调用一样。当Bash作为交互式登录shell或具有--login选项的非交互式shell调用时,它首先从文件/ etc / profile中读取并执行命令(如果该文件存在)。读取该文件后,它会按顺序查找〜/ .bash_profile,〜/ .bash_login和〜/ .profile,并从存在且可读的第一个命令中读取和执行命令。

  

当作为具有名称sh的交互式shell调用时,Bash查找变量ENV,如果已定义则展开其值,并使用展开的值作为要读取和执行的文件的名称。由于以sh调用的shell不会尝试从任何其他启动文件读取和执行命令,因此--rcfile选项无效。 使用名称sh调用的非交互式shell不会尝试读取任何其他启动文件。

Read more.

您也可以使用.bashrc文件代替.bash_profile

答案 1 :(得分:1)

我只是切换到我的根用户目录c:\Users\user,然后运行source .bashrc。这确实对我的机器有用,希望对您有所帮助。

答案 2 :(得分:1)

  1. 在c:\ Users \ username中创建.bashrc
  2. 添加别名,例如alias gotossh="cd /c/users/username/.ssh"
  3. 在终端中,在c:\ Users \ username中运行源.bashrc
  4. 通过运行alias
  5. 来确认别名是否有效

在用户文件夹中可能没有要注意的.bashrc文件。 另外请记住要正确地写出路径,并且不要在等号之间留任何空格,例如alias =“ somecommand”

从2020年开始,无需添加shellArgs。

答案 3 :(得分:0)

使用“ --login”和“ -i” shell参数的解决方案对我不起作用。起作用的是在我的设置文件中使用bash“ -rcfile” shell参数,如下所示:

  

“ terminal.integrated.shellArgs.windows”:[       “ -rcfile”,       “ c:\ Users \\。bash_profile”,],

...,其中是我的Windows用户ID,别名命令位于c:\ Users \

中的名为“ .bash_profile”的文件中