我正在使用sass为我的项目,在intellij中使用sass插件。
我希望能够从intellij中启动sass --watch,以便能够通过可点击的行获得控制台反馈。
我在intellij中设置了一个外部工具:
它确实将我的scss编译为css而没有问题,但是在intellij控制台中没有报告来自sass的stdout。我只得到stderr。 如果我有错误,过了一会儿,我会立刻得到一堆线。
所以我猜测会发生某种缓冲。 重定向1>& 2并不能解决问题。
这是我在日志中获得的内容
Sass::Compiler#on_updating_stylesheet callback is deprecated and will be removed in a future release. Use Sass::Compiler#on_updated_stylesheet instead, which is run after stylesheet compilation.
d:/ruby/lib/ruby/gems/1.9.1/gems/sass-3.1.11/vendor/fssm/lib/fssm/support.rb:40: Use RbConfig instead of obsolete and deprecated Config.
以下是我在控制台中使用相同命令的原因:
Sass::Compiler#on_updating_stylesheet callback is deprecated and will be removed in a future release. Use Sass::Compiler#on_updated_stylesheet instead, which is
run after stylesheet compilation.
>>> Sass is watching for changes. Press Ctrl-C to stop.
error src/main/www/css/test.scss (Line 3690: Invalid CSS after "...'); IE6 & IE7*": expected "{", was "/")
error src/main/www/css/test.scss (Line 80: Invalid CSS after "...unimplemented *": expected "{", was "/")
d:/ruby/lib/ruby/gems/1.9.1/gems/sass-3.1.11/vendor/fssm/lib/fssm/support.rb:40: Use RbConfig instead of obsolete and deprecated Config.
(是的,我的scss文件中有一个用于生成日志的错误)
答案 0 :(得分:3)
发现它归功于intellij ruby项目中的默认ruby参数
你需要通过ruby以下选项:
-e $ stdout.sync = true; $ stderr.sync = true; load($ 0 = ARGV.shift)
这就是诀窍