如何在 PhpStorm 文件观察器中使用相对程序路径

How to use a relative program path in a PhpStorm file watcher

在 PhpStorm(以及其他 JetBrains IDE,我敢肯定)中,我正在设置一个文件观察器。在Watcher Settings部分,它要求我指定要执行的程序的路径。

我想使用我项目的 node_modules/.bin 目录中的可执行文件。我不想全局安装它,因为我可能有其他项目使用相同的程序,但可能需要不同的版本。

我可以简单地指定我项目的 node_modules/.bin 目录的绝对路径,但是如果我移动项目,文件观察器就会中断。

ArgumentsOutput paths to refresh 字段中 Program 字段正下方,它允许您插入一个宏,例如 $Projectpath$。这正是我需要的,但 Program 字段似乎不允许这样做。

有没有办法为 程序 字段指定相对路径?

这是文件观察器设置的屏幕截图window:

I could simply specify the absolute path to my project's node_modules/.bin directory, but then if I move the project, the file watcher will break.

这不是真的——至少它不会破坏这里的任何东西——有 3 个项目使用本地的东西。

Is there a way to specify a relative path for the Program field?

当然可以。 使用程序的完整路径:)

在内部(在配置文件中)它将使用 $PROJECT_DIR$ (AFAIK) special macro/variable 存储,但在实际字段中(在该对话框中 window)您将始终看到完整路径.这种转换是自动完成的。

您可以在这里(在评论中)阅读更多内容:https://youtrack.jetbrains.com/issue/WEB-24376


如果您在不同的计算机上使用相同的项目...其中相同程序的路径将不同但在项目之外(例如,存储在用户特定文件夹中和用户 logins/names 在此类计算机)......您可以使用路径变量功能(Settings/Preferences | Appearance & Behavior | Path Variables)并在所有此类计算机上指定相同的变量,以指向该计算机上的正确路径。 IDE 将自动使用该路径变量来存储路径。

所以..在一台计算机上 MY_TOOL_PATH 将指向 /Users/Joe/MyTool 而在另一台计算机上它可能是 /Users/Sam/AnotherTool.