【发布时间】:2018-06-05 00:53:06
【问题描述】:
首先我必须指出,这一切都在不久前运作良好。一段时间后我回到了项目。同时我更新了 PhpStorm 并迁移到 Win10。其他一切都保持不变。
我在触发 scss 部分编译时遇到问题。当我在根文件“global.scss”中进行更改时,一切正常 - 部分也被编译。但是,当我对部分进行更改时,PhpStorm 不会触发根文件的编译。
PhpStorm 版本:2017.2.3
文件结构:
范围配置:
global.scss
我已经尝试了很多 - 没有任何效果。文件观察者似乎忽略了以下划线为前缀的部分。
编辑: 我发现了一些东西 - 范围模式中的通配符似乎忽略了带下划线的文件。但是,部分被标记为包含在文件树中。我暂时更改了项目文件的范围,它运行良好 - 不幸的是我不能离开这个设置。
EDIT2: 我不知道它是错误还是功能,但 PhpStorm 以奇怪的方式处理嵌套的 Source 根。检查这个文件结构:
如果没有 scss 目录的源根目录,即使使用范围模式也会触发编译。但是编译后的 css 放在错误的目录中 - 所以它不可用。
【问题讨论】:
-
请检查文件将被监视的范围。您选择了一个名为
init的范围。检查目录scss是否被递归包含。 -
@muecas 是的
-
有时在 Win10 中(在网络挂载上)我需要将注意力集中在 PHPStorm 窗口之外,以便执行观察者。如果您更改部分并选择另一个程序(或单击桌面),观察者任务是否会执行?
-
我将触发器设置为在保存时手动执行 (Ctrl + S)
-
你可以试试参数化宏
$FileDirPathFromParent(src)$,它返回foo/barforsome/path/src/foo/bar/baz.scss