2012-08-10 18 views
6

ठीक है, यहाँ जो मैं चाहता है:ऑटो उदात्त पाठ में एससीएसएस फ़ाइलें संकलन 2

  1. मैं .scss फ़ाइलें लिखने, .sass नहीं फ़ाइलों
  2. फ़ाइल को सहेजने पर, मैं इसी .css फ़ाइल प्राप्त उसी फ़ोल्डर में

अब सब्लिमे टेक्स्ट 2 पर बहुत से SASS प्लगइन हैं लेकिन कोई भी मेरे लिए सिंटैक्स हाइलाइटिंग से परे कुछ भी प्रदान नहीं करता है।

सब्लिमे टेक्स्ट 2 पर ऑटो-कंपाइलिंग कैसे प्राप्त करें इस पर कोई सुझाव।

+0

यहाँ [जवाब] [1], उदात्त पाठ 2 में सास का निर्माण प्रणाली का उपयोग करने के लिए buils [1]: http://stackoverflow.com/questions/12448546/sublime-text-2-doesnt -सेव-निर्मित-एसएएस-फाइल/30068537 # 30068537 –

उत्तर

6

मुझे लगता है कि ऐसा किया किसी भी मौजूदा प्लगइन्स नहीं मिला, इसलिए यहाँ यह है: मान लें कि आप पैकेज नियंत्रण से एससीएसएस प्लगइन स्थापित किया है

, आप के रूप में संकुल/प्रयोक्ता/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

सब्लिमे टेक्स्ट 2 इस फ़ाइल को कैसे आमंत्रित करेगा? – Rajat

+1

स्पष्ट होने के लिए: यह काम करता है। मैंने इसका परीक्षण किया। सब्लिमे टेक्स्ट 2 अपने पैकेज निर्देशिका के तहत सभी पायथन फाइलों को पार करता है। इस मामले में, सब्लिमे टेक्स्ट SCSS.py को पार करता है और इसमें परिभाषित कक्षा को उत्कृष्टता के इवेंट लिस्टनर वर्ग से प्राप्त होता है।चूंकि यह on_post_save विधि को ओवरराइड करता है, इसलिए सब्लिम प्रत्येक सहेजने के बाद उस विधि को कॉल करेगा। इवेंट लिस्टनर प्लगइन क्लास के लिए आधिकारिक दस्तावेज यहां दिया गया है: http://www.sublimetext.com/docs/2/api_reference.html#sublime_plugin.EventListener –

+0

मैंने कोशिश की। मेरे लिए काम नहीं करता है। मेरे संकुल फ़ोल्डर में निम्न है: 1) एससीएसएस फ़ोल्डर 2) आपकी SCSS.py फ़ाइल 3) एक SCSS.pyc फ़ाइल। – Rajat

5

आपको इसकी समर्पित प्लगइन की बजाय बिल्ड सिस्टम का उपयोग करने पर विचार करना चाहिए। यह करना बहुत आसान है।

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

कुछ इस तरह:

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

और बस ctrl + b मारा टी वर्तमान फ़ाइल का निर्माण। यदि आपके पास स्कैस के लिए एकाधिक बिल्ड हैं तो आप बिल्ड मेनू (Tools -> Build Systems) से एक का चयन कर सकते हैं।

+0

मुझे याद है कि यह "सहेजने पर" ट्रिगर किया जा सकता है – airtonix

+0

यह पथ क्या है? इसके लिए क्या खड़ा है? – vsync

1

मैं सब्लिमे टेस्ट के लिए एक सैस/स्कैस कंपाइलर प्लगइन की तलाश में था, लेकिन मेरे स्रोत फ़ोल्डर मेरे सीएसएस फ़ोल्डर्स से अलग हैं। तो, यहां दी गई टिप्पणियों को छोड़कर मैंने SassBuilder लिखा जो आपके स्रोत फ़ोल्डर में संग्रहीत एक कॉन्फ़िगरेशन फ़ाइल चलाता है। इसे सब्लिमे पैकेज कंट्रोल रिपोजिटरी में भी सबमिट किया गया है। एक बार वे अनुरोध खींच लेते हैं, तो आप इसे वहां से इंस्टॉल कर सकते हैं।

SassBuilder on github

3

आप SublimeOnSaveBuild प्लगइन का उपयोग कर सकते हैं। और प्लगइन फ़िल्टर सेटिंग्स में बस .scss फ़ाइलों को छोड़ दें! यह सिर्फ महान के लिए काम करता है!

+0

यह वही है जो मुझे चाहिए था। – fredley

1

सास बिल्डर एक नई प्लगइन है जो उत्कृष्ट पाठ के पैकेज प्रबंधक में उपलब्ध है। इसे किसी भी कॉन्फ़िगरेशन की आवश्यकता नहीं है। बस अपना स्कैस लिखें और संकलित करने के लिए cmd + b दबाएं। आपकी सीएसएस फ़ाइल स्कैस के समान फ़ोल्डर में जेनरेट की जाएगी।

संबंधित मुद्दे