2011-12-06 41 views
0

我在我的項目中使用sass,在intellij中使用sass插件。Intellij外部工具不會從Sass輸出標準輸出日誌

我希望能夠從intellij中啓動sass --watch,以便能夠通過可單擊的行獲取控制檯反饋。

我設置的外部工具在的IntelliJ:

  • 程序:d:\紅寶石\ BIN \ sass.bat
  • 參數:--watch $/FileRelativeDir $
  • 工作目錄:$ ProjectFileDir $

它沒有問題編譯我的scss到css,但是sass的stdout沒有在intellij控制檯中報告。我只得到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文件的預期誤差產生日誌)

回答

3

發現它由於intellij紅寶石項目中的默認ruby參數

你需要傳遞紅寶石以下選項:

-e $ stdout.sync = TRUE; $ stderr.sync = TRUE;負載($ 0 = ARGV.shift)

而且奏效了

  • 程序:d:\紅寶石\ BIN \ ruby​​.exe
  • 參數:-e $ stdout.sync =真; $ stderr.sync = TRUE;負載($ 0 = ARGV.shift)d:/紅寶石/ bin中/ sass -g --watch $/FileRelativeDir $
  • 工作目錄:$ ProjectFileDir $