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

Raj*_*jat 7 sass sublimetext2

好的,这就是我想要的:

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

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

关于如何在Sublime Text2上进行自动编译的任何建议.

Mat*_*ork 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()
Run Code Online (Sandbox Code Playgroud)

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


dik*_*ilo 5

您应该考虑使用构建系统而不是它的专用插件.这很简单.

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

像这样的东西:

{
  "cmd": ["sass","$file"],
  "selector": "source.scss",
  "path": "/usr/local/bin"
}
Run Code Online (Sandbox Code Playgroud)

然后点击ctrl + bt build current file.如果你有scss的多个构建,你可以从构建菜单(Tools -> Build Systems)中选择一个.