在Sublime Text 2中自动编译SCSS文件

时间:2012-08-10 11:51:12

标签: sass sublimetext2

好的,这就是我想要的:

  1. 我写.scss文件,而不是.sass文件
  2. 在保存文件时,我在相同的文件夹
  3. 中获得相应的.css文件

    现在Sublime Text2上有很多SASS插件,但似乎没有任何东西可以提供超出语法高亮的功能。

    有关如何使用Sublime Text2进行自动编译的任何建议。

4 个答案:

答案 0 :(得分:6)

我没有找到任何现有的插件,所以这里是:

假设您已经从Package Control安装了SCSS插件,您可以将其保存为Packages / User / 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()

当然,这将是一个更好的官方Package Control插件,具有用户可配置的设置(保存文件,打开/关闭等),但这符合您的要求,不会阻止编辑器。

答案 1 :(得分: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版本,可以从构建菜单(Tools -> Build Systems)中选择一个。

答案 2 :(得分:3)

您可以使用SublimeOnSaveBuild插件。 在插件过滤器设置中只需保留.scss文件! 这很棒!

答案 3 :(得分:1)

我正在寻找Sublime Test的sass / scss编译器插件,但我的源文件夹与我的css文件夹分开。所以,在这里留下的评论中,我编写了SassBuilder,它运行了存储在源文件夹中的配置文件。它也已提交给Sublime Package Control存储库。一旦他们提出请求,您就可以从那里安装它。

SassBuilder on github