自动编译SCSS文件崇高文本2

问题描述:

好吧,这里就是我想:自动编译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

我没有发现这样做的任何现有的插件,所以这里是:

假设您已经安装了包控制的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

你应该考虑使用构建系统而不是专用插件。这很简单。

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

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

SassBuilder on github

你可以使用SublimeOnSaveBuild插件。 而在插件过滤器设置中,只需保留.scss文件! 这是伟大的作品!

+0

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

Sass Builder是一个新的插件,可以在包装管理器中使用。 这不需要任何配置。只需编写你的scss,然后点击cmd + b进行编译。 你的css文件将在scss的同一文件夹中生成。