自动编译SCSS文件崇高文本2
好吧,这里就是我想:自动编译SCSS文件崇高文本2
- 我写.scss文件,而不是.sass文件
- 在保存文件时,我得到了相应的.css文件在同一个文件夹中
现在Sublime Text2上有很多SASS插件,但似乎没有提供任何超出语法突出显示的内容。
关于如何让自动编译Sublime Text2的任何建议。
我没有发现这样做的任何现有的插件,所以这里是:
假设您已经安装了包控制的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()
当然,这将是与用户配置的设置正式的程序包控制插件更好(其中保存文件,开/关,等等),但是这符合您的要求,并不会阻止编辑器。
Sublime Text2如何调用此文件? – Rajat 2012-08-11 05:27:47
为了明确:它的工作原理。我测试了它。 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
我试过了。不适合我。我的包文件夹具有以下内容: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
)。
我正在寻找一个用于Sublime Test的sass/scss编译器插件,但我的源文件夹与我的css文件夹分开。所以,在这里留下的留言我写了SassBuilder,它运行存储在源文件夹中的配置文件。它也被提交给Sublime Package Control存储库。一旦他们提出请求,你可以从那里安装它。
你可以使用SublimeOnSaveBuild插件。 而在插件过滤器设置中,只需保留.scss文件! 这是伟大的作品!
这正是我所需要的。 – fredley 2016-04-19 09:14:24
Sass Builder是一个新的插件,可以在包装管理器中使用。 这不需要任何配置。只需编写你的scss,然后点击cmd + b进行编译。 你的css文件将在scss的同一文件夹中生成。
这里[答案] [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