Sass Webstorm SCSS文件监视程序不尊重父目录

Sass Webstorm SCSS文件监视程序不尊重父目录,sass,phpstorm,webstorm,Sass,Phpstorm,Webstorm,我的SCS具有以下结构: 嵌套目录视图: style sass components _somecomponent.scss _someothercomponent.scss style.scss style.css style/style.css style/sass/style.scss style/sass/components/_somecomponent.scss style/sass/components/_someothercomp

我的SCS具有以下结构:

嵌套目录视图:

style
  sass
    components
      _somecomponent.scss
      _someothercomponent.scss
    style.scss
  style.css
style/style.css
style/sass/style.scss
style/sass/components/_somecomponent.scss
style/sass/components/_someothercomponent.scss
折叠目录视图:

style
  sass
    components
      _somecomponent.scss
      _someothercomponent.scss
    style.scss
  style.css
style/style.css
style/sass/style.scss
style/sass/components/_somecomponent.scss
style/sass/components/_someothercomponent.scss
style.scss
包括
\u somecomponent.scss
\u someothercomponent.scss
,应该生成
style.css
。它正确地执行所有这些操作,但输出文件不在正确的目录中。当前它输出到
style/sass/style.css

Webstorm配置了以下参数:

Program: /usr/bin/sass
Arguments: --no-cache --update $FileName$:$FileNameWithoutExtension$.css
Working directory: $FileDir$
Output path: $FileParentDir$\$FileNameWithoutExtension$.css
添加了
phpstorm
标记,因为它与
webstorm
共享同一个文件查看器。我使用的是MacOSX和最新的WebStorm9.X


如何修复输出路径?

请相应更改参数字段:

    Program: /usr/bin/sass
    Arguments: --no-cache --update $FileName$:$FileParentDir$/$FileNameWithoutExtension$.css
    Working directory: $FileDir$
    Output path: $FileParentDir$/$FileNameWithoutExtension$.css
“Output path to refresh”选项不会告诉编译器将生成的文件放在哪里-您必须相应地设置程序参数;'IDE使用“输出路径”将其文件系统与外部更改同步-您需要确保其中指定的模式与实际编译器输出匹配,以便IDE知道在何处查找生成的文件。
因此,您需要修改“参数”和“要刷新的输出路径”选项,以便在非默认位置创建生成的文件。

IDE在
输出路径
字段中查找已更改的文件,并在“源文件--”下对生成的文件进行分组/嵌套。我自己不是在和SCS合作。。但是根据参数,您需要更新
参数
字段--它应该类似于这样:
--无缓存--更新$FileName$:../$FileNameWithoutExtension$.css
(您可以尝试
$FileParentDir$
而不是
)啊,这确实解决了我的问题!但是如果这两者总是一样的话。。。为什么他们有不同的选择?换句话说,为什么需要不同的刷新和输出路径?因为文件监视程序只是一种将具有CLI作为侦听器的外部程序分配给文件更改事件的通用方法。程序具有不同格式的不同参数,因此WebStorm无法“解析”参数字段并相应地设置“输出路径”。反之亦然-即使WebStorm知道所需的输出路径(通过“output paths to refresh”值),它也无法相应地更新参数字段,因为它不知道预期的选项/格式。所以,简而言之:“要刷新的输出路径”选项用于IDE,而“参数”用于作为观察程序运行的程序