jetbrains IDE外部工具的环境变量

时间:2013-05-29 08:48:07

标签: debugging webstorm external-tools

我创建了webstorm外部工具,它会抛出一些错误但是从终端运行相同的任务工作正常。我知道这是因为在webstorm中运行时,$ PATH变量设置为与终端案例不同。创建外部工具时,没有任何选项可以设置环境变量。如何在webstorm / ruby​​mine中为外部工具设置$ PATH?我创建的外部工具是一项艰巨的任务,如果有帮助,操作系统就是ubuntu。

这是错误:运行grunt服务器时出错:无法运行程序“grunt”:error = 2,没有这样的文件或目录

3 个答案:

答案 0 :(得分:4)

有一个feature request来支持外部工具的环境变量。

目前的解决方法:

  • 使GUI应用程序环境与终端每this answer
  • 相同
  • 通过bash --login运行您的脚本(外部工具运行bash登录shell,用于设置环境并执行作为参数传递的脚本名称)

答案 1 :(得分:1)

对于OSX:

在您喜欢的编辑器中打开‘/Applications/Webstorm.app/Contents/Info.plist’

找到以下部分并替换[您的路径值]

<key>LSEnvironment</key>
<dict>
    <key>PATH</key>
    <string>[Your Path Value]</string>
</dict>

然后运行:

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/WebStorm.app

我从Ifeanyi Isitor的一个梦幻般的article得到了这个解决方案

http://ify.io/getting-webstorm-external-tools-to-work-on-webstorm-on-osx

答案 2 :(得分:0)

我发现了Linux的一个肮脏的工作环境。 创建一个文件(例如phpstorm_wrapper)并将其放入:

#!/bin/bash
if [ $# > 1 ]; then
  exec "$@"
else
 eval "$1"
fi

保存并使其可执行。

用法:

现在,您可以在“外部工具”中以Program:的形式运行wrapper脚本,并将所有所需的参数设置为Arguments输入字段。

脚本将执行它并返回结果。


如果需要使用ENV变量,则必须使用env命令,如下所示:

env FASTLANE_JSON_KEY_FILE=./release_manager.json fastlane test

enter image description here


如果需要使用| (管道),phpstorm将其用引号引起来。为了能够执行使用|的命令,请在external tool dialoge中用引号将整个Textfield“ Arguments”括在引号中。

示例:

enter image description here