如何在PhpStorm文件监视器

时间:2017-04-25 14:21:08

标签: phpstorm jetbrains-ide file-watcher

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

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

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

程序字段正下方的参数要刷新的输出路径字段中,它允许您插入宏,例如{{ 1}}。这正是我所需要的,但它看起来不像程序字段允许的那样。

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

以下是File Watcher设置窗口的屏幕截图:

PhpStorm File Watcher setup window

1 个答案:

答案 0 :(得分:2)

  

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

这不是真的 - 至少它没有破坏任何东西 - 有3个项目使用当地的东西。

  

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

不确定。 使用完整路径到程序:)

在内部(在配置文件中),它将使用$PROJECT_DIR$(AFAIK)特殊宏/变量进行存储,但在实际字段中(在该对话框窗口中),您将始终看到完整路径。这种转换是自动完成的。

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

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

所以......在一台计算机上MY_TOOL_PATH将指向/Users/Joe/MyTool,而在另一台计算机上/Users/Sam/AnotherTool可能是public void addNewUnity(String unityType, String unityName) { Button btnUnity = new Button(this); btnUnity.setText(unityName + " " + unityType); LinearLayout ll = (LinearLayout)findViewById(R.id.mainActivityUnityLayout); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); ll.addView(btnUnity, lp); //TODO Saving button (with text) in the db }