2012-08-10 87 views
6

好吧,這裏就是我想:自動編譯SCSS文件崇高文本2

  1. 我寫.scss文件,而不是.sass文件
  2. 在保存文件時,我得到了相應的.css文件在同一個文件夾中

現在Sublime Text2上有很多SASS插件,但似乎沒有提供任何超出語法突出顯示的內容。

關於如何讓自動編譯Sublime Text2的任何建議。

+0

這裏[答案] [1],利用建立系統buils在崇高的文本2青菜 [1]:http://stackoverflow.com/questions/12448546/sublime-text-2-doesnt -save-built-sass-file/30068537#30068537 – 2015-05-06 06:07:57

回答

6

我沒有發現這樣做的任何現有的插件,所以這裏是:

假設您已經安裝了包控制的SCSS插件,您可以將此保存爲包/用戶/ SCSS.py。

import sublime_plugin 
import subprocess 
import os 
from threading import Thread 

def compile(input_file): 
    output_file = os.path.splitext(input_file)[0] + ".css" 
    cmd = "sass '{0}':'{1}'".format(input_file, output_file) 
    subprocess.call(cmd, shell=True) 

class SCSS(sublime_plugin.EventListener): 

    def on_post_save(self, view): 
     scope = (view.syntax_name(view.sel()[0].b)).split().pop() 
     if scope == "source.scss": 
      input_file = view.file_name() 
      t = Thread(target=compile, args=(input_file,)) 
      t.start() 

當然,這將是與用戶配置的設置正式的程序包控制插件更好(其中保存文件,開/關,等等),但是這符合您的要求,並不會阻止編輯器。

+0

Sublime Text2如何調用此文件? – Rajat 2012-08-11 05:27:47

+1

爲了明確:它的工作原理。我測試了它。 Sublime Text 2解析其Packages文件夾下的所有Python文件。在這種情況下,Sublime Text分析SCSS.py,並在其中定義的類繼承自sublime的EventListener類。因爲它覆蓋了on_post_save方法,Sublime會在每次保存後調用該方法。 以下是EventListener插件類的官方文檔:http://www.sublimetext.com/docs/2/api_reference.html#sublime_plugin.EventListener – 2012-08-12 00:23:41

+0

我試過了。不適合我。我的包文件夾具有以下內容:1)SCSS文件夾2)您的SCSS.py文件3)SCSS.pyc文件。 – Rajat 2012-08-12 05:50:03

5

你應該考慮使用構建系統而不是專用插件。這很簡單。

http://docs.sublimetext.info/en/latest/file_processing/build_systems.html

事情是這樣的:

{ 
    "cmd": ["sass","$file"], 
    "selector": "source.scss", 
    "path": "/usr/local/bin" 
} 

而且正好碰上ctrl + b噸建立當前文件。如果你有多個scss版本,你可以從build菜單中選擇一個版本(Tools -> Build Systems)。

+0

我似乎記得,這也有可能引發「保存」 – airtonix 2013-03-21 03:19:58

+0

這是什麼路徑?它代表什麼? – vsync 2017-03-21 15:44:51

1

我正在尋找一個用於Sublime Test的sass/scss編譯器插件,但我的源文件夾與我的css文件夾分開。所以,在這裏留下的留言我寫了SassBuilder,它運行存儲在源文件夾中的配置文件。它也被提交給Sublime Package Control存儲庫。一旦他們提出請求,你可以從那裏安裝它。

SassBuilder on github

3

你可以使用SublimeOnSaveBuild插件。 而在插件過濾器設置中,只需保留.scss文件! 這是偉大的作品!

+0

這正是我所需要的。 – fredley 2016-04-19 09:14:24

1

Sass Builder是一個新的插件,可以在包裝管理器中使用。 這不需要任何配置。只需編寫你的scss,然後點擊cmd + b進行編譯。 你的css文件將在scss的同一文件夾中生成。