Intellij外部工具不从Sass输出stdout日志

时间:2011-12-06 18:15:38

标签: intellij-idea sass

我正在使用sass为我的项目,在intellij中使用sass插件。

我希望能够从intellij中启动sass --watch,以便能够通过可点击的行获得控制台反馈。

我在intellij中设置了一个外部工具:

  • 程序:D:\ ruby​​ \ bin \ sass.bat
  • 参数: - watch $ / FileRelativeDir $
  • 工作目录:$ ProjectFileDir $

它确实将我的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文件中有一个用于生成日志的错误)

1 个答案:

答案 0 :(得分:3)

发现它归功于intellij ruby​​项目中的默认ruby参数

你需要通过ruby以下选项:

-e $ stdout.sync = true; $ stderr.sync = true; load($ 0 = ARGV.shift)

这就是诀窍

  • 程序:D:\ ruby​​ \ bin \ ruby​​.exe
  • 参数:-e $ stdout.sync = true; $ stderr.sync = true; load($ 0 = ARGV.shift)d:/ ruby​​ / bin / sass -g --watch $ / FileRelativeDir $
  • 工作目录:$ ProjectFileDir $