在VS Code任务中使用.bash_profile函数

时间:2018-10-10 20:21:15

标签: bash visual-studio-code

我在VS Code中定义了以下任务:

inner join

其中"label": "build", "type": "shell", "command": "opengl++ Interpolate.cpp" opengl++()中定义的bash函数。我正在使用MacOS High Sierra,并且该功能在 Terminal.app 中有效。执行此任务将得到:

  

>执行任务:opengl ++ Interpolate.cpp << / p>      

/ bin / bash:opengl ++:找不到命令
     终端进程终止,退出代码:127

将任务更改为:

~/.bash_profile

解决了这个问题,这使得终端似乎没有正确地进行采购。我尝试删除VS Code上的所有用户设置均无济于事。

这不是可行的解决方案。要求显式采购"label": "build", "type": "shell", "command": "source ~/.bash_profile && opengl++ Interpolate.cpp" 似乎很危险。在将构建任务用于python(pyenv)以及使用~/.bash_profile正确编译并忘记显式获取源代码的类似编译器时,这似乎可能会引起问题。

如何在不添加~/.bash_profile的情况下使用~/.bash_profile中定义的函数来处理VS Code shell任务?

2 个答案:

答案 0 :(得分:1)

.vscode中的工作区中创建脚本更加容易。 该脚本可以包含有组织的复杂命令。 然后,使用类似于以下命令的命令在任务中获取脚本:

source .vscode/scripts/build.sh

脚本中可以包含诸如set -esource ~/.bash_profile之类的行,我们的脚本tasks.json更加简洁。

答案 1 :(得分:0)

我在Linux上遇到过类似的问题,this GitHub issue帮助了我。

尝试添加

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

到您的settings.json。