PhpStorm SCSS触发部分更改的编译

时间:2018-06-03 23:11:12

标签: sass phpstorm

首先,我必须指出,这一切都很好。一段时间后我回到了项目。与此同时,我更新了PhpStorm并迁移到Win10。其他一切都保持不变。

我有触发scss parial编译的问题。当我在根文件“global.scss”中进行更改时,一切正常 - 部分也会被编译。但是,当我在partials中进行更改时,PhpStorm不会触发根文件的编译。

PhpStorm版本:2017.2.3

文件结构:

file structure

Watcher配置: watcher config

范围配置:

scope config

global.scss

global.scss

我已经尝试了很多 - 没有任何作用。似乎部分 - 以下划线为前缀的文件观察者只会忽略它。

修改 我找到了一些东西 - 似乎范围模式中的通配符忽略了下划线文件。但是,部分标记为包含在文件树中。我暂时将范围更改为项目文件并且运行良好 - 不幸的是我无法保留此设置。

EDIT2: 我不知道它是bug还是功能,但是PhpStorm以奇怪的方式处理嵌套的Source根。检查此文件结构:

file structure

如果没有scss目录的源根,即使使用作用域模式也会触发编译。但是编译的css放在错误的目录中 - 所以它不可用。

1 个答案:

答案 0 :(得分:1)

根据您的信息和调查:您使用的是嵌套的“来源”文件夹(位于scss)和$SourcepathEntry$&相关的宏...在您的IDE版本中似乎没有按预期工作。

摆脱它 - 你的设置根本不需要它。您的文件夹结构非常标准,因此可以使用更“标准”的方式解决。

  • 暂时禁用此文件观察程序(稍后可能会将其删除)并重新创建。
  • 尝试$FileDirPathFromParent()$参数化宏(它接受参数)。对于$FileDirPathFromParent(src)$例如,它会为foo/bar文件路径返回some/path/src/foo/bar/baz.scss。在制作所需路径时,此宏应该可以完成工作。