VSCode集成终端不加载.bashrc或.bash_profile

时间:2018-08-13 11:06:44

标签: bash shell visual-studio-code settings

我有以下文件来处理外壳配置:

#~/.bash_profile
if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi

#~/.bashrc
... configure shell

如果我使用code从命令行打开VSCode,则每次添加集成shell的新实例时,都会加载.bashrc

但是,如果我通过VSCode图标打开VSCode,则只会加载我的.profile

如何确保我的.bashrc已加载?

我尝试了terminal.integrated.shellArgs.osx设置的各种设置,但没有任何运气。

6 个答案:

答案 0 :(得分:3)

您还可以尝试以下操作:

1创建一个名为/ usr / local / bin / bash-login的文件并添加:

#!/bin/bash
bash -l

2运行:

chmod +x /usr/local/bin/bash-login 

使其可执行。

3在您的VSC用户设置上添加

   { "terminal.integrated.shell.osx": "/usr/local/bin/bash-login" }

解决方案在https://github.com/Microsoft/vscode/issues/7263中进行了描述。

希望有帮助

答案 1 :(得分:2)

我在Mac上的Intellij Idea终端上遇到了同样的问题,两者的解决方案相同。在设置中,将集成终端的路径更改为“ / bin / bash”。希望有帮助。

enter image description here

答案 2 :(得分:0)

只需将shell args添加到设置中。在Windows上使用git bash进行了测试,但是在Osx和Linux上应该可以正常使用。

C:\Users\<username>\AppData\Roaming\Code\User\settings.json中或您的Windows设置为: 添加以下之一:

"terminal.integrated.shellArgs.windows": ["-l"],

"terminal.integrated.shellArgs.linux": ["-l"],

"terminal.integrated.shellArgs.osx": ["-l"],

正好位于"terminal.integrated.shell.<platform>...

之下

这将使用登录参数启动bash。

答案 3 :(得分:0)

另一个对我有用的可能解决方案。 settings.json文件(可以在文件>首选项>设置>功能>终端>集成>自动化外壳:Linux中访问)具有参数

    "terminal.integrated.inheritEnv": false

默认设置为false。将其更改为true可以解决我的情况。

答案 4 :(得分:0)

"terminal.integrated.shellArgs.osx": ["-l"] 已弃用。

我个人想使用.bash_profile,所以我用这个制作了一个.bashrc

if [ -f ~/.bashrc ]; then
   source ~/.bash_profile
fi

然后我不得不完全重新启动计算机(只是重新启动 VS 代码不起作用)。

答案 5 :(得分:0)

VSCode 已弃用 "terminal.integrated.shellArgs.osx" 以支持使用配置文件。这对 osx 中的 bash 有用。如果您不希望 bash 成为您的默认配置文件,请省略第一行:

  "terminal.integrated.defaultProfile.osx": "bash",
  "terminal.integrated.profiles.osx": {
    "bash": {
      "path": "bash",
      "args": ["-l"]
    }
  }