Sublime 2/3 में किसी भाषा के लिए हाइलाइटिंग सिंटैक्स जोड़ें / बदलें


94

मैं Sublime 2/3 में किसी भाषा के लिए हाइलाइटिंग सिंटैक्स को बदलना / जोड़ना चाहता हूं।

उदाहरण के लिए, मैं thisजावास्क्रिप्ट में खोजशब्द का रंग चाहता हूँ ।

मैं उसे कैसे कर सकता हूँ?

मुझे पता है कि वहाँ एक प्राथमिकता जावास्क्रिप्ट फ़ाइल है C:\Program Files\Sublime Text 3\Packages, लेकिन मुझे नहीं पता कि क्या बदलना है या अगर मुझे इस फ़ोल्डर में कहीं नई जावास्क्रिप्ट वरीयता फ़ाइल बनाना है %APPDATA%\Sublime Text 3

जवाबों:


95

सिंटैक्स हाइलाइटिंग आपके द्वारा उपयोग की जाने वाली थीम द्वारा नियंत्रित की जाती है Preferences -> Color Scheme। थीम अलग-अलग कीवर्ड, फ़ंक्शंस, वेरिएबल्स आदि को स्कोप के उपयोग के माध्यम से उजागर करते हैं, जो .tmLanguageभाषा के डायरेक्टरी / पैकेज में फ़ाइल में निहित नियमित अभिव्यक्तियों की एक श्रृंखला द्वारा परिभाषित किए जाते हैं । उदाहरण के लिए, JavaScript.tmLanguageफ़ाइल स्कैप source.jsऔर कीवर्ड variable.language.jsको असाइन करती है this। चूंकि उदात्त पाठ 3 .sublime-packageसभी डिफ़ॉल्ट सेटिंग्स को संग्रहीत करने के लिए ज़िप फ़ाइल प्रारूप का उपयोग कर रहा है, यह व्यक्तिगत फ़ाइलों को संपादित करने के लिए बहुत सीधा नहीं है।

दुर्भाग्य से, सभी विषयों में सभी स्कोप नहीं होते हैं, इसलिए आपको अलग-अलग लोगों के साथ खेलने की आवश्यकता होगी, जो आपको अच्छा लगता हो, और आपको वह हाइलाइटिंग देता है जिसे आप खोज रहे हैं। कि उदात्त पाठ के साथ शामिल हैं विषयों की एक संख्या हैं, और कई और अधिक के माध्यम से उपलब्ध हैं पैकेज नियंत्रण है, जो मैं अत्यधिक यदि आपने ऐसा नहीं किया स्थापित करने की सलाह देते हैं। सुनिश्चित करें कि आप ST3 निर्देशों का पालन करते हैं

जैसा कि ऐसा होता है, मैंने Neon Color Schemeपैकेज कंट्रोल के माध्यम से उपलब्ध विकसित किया है , जिसे आप देखना चाहते हैं। मेरा मुख्य लक्ष्य, भाषाओं की एक विस्तृत श्रृंखला को जितना संभव हो उतना अच्छा दिखने की कोशिश करने के अलावा, कई अलग-अलग स्कोपों ​​की पहचान करना था जैसा कि मैं कर सकता था - मानक विषयों में कई अधिक शामिल हैं। उदाहरण के लिए, जबकि जावास्क्रिप्ट भाषा की परिभाषा पाइथन के रूप में पूरी तरह से नहीं है, फिर Neonभी कुछ डिफॉल्ट जैसे Monokaiया की तुलना में बहुत अधिक विविधता है Solarized

jon ने नियोन थीम के साथ प्रकाश डाला

मुझे ध्यान देना चाहिए कि मैंने Better JavaScriptइस छवि के लिए @ int3h की भाषा की परिभाषा का उपयोग किया था, बजाय इसके कि सबलाइम के साथ जहाज। इसे पैकेज कंट्रोल के जरिए इंस्टॉल किया जा सकता है।

अपडेट करें

देर से मैंने एक और जावास्क्रिप्ट प्रतिस्थापन भाषा की परिभाषा खोजी है - JavaScriptNext - ES6 Syntax। इसका आधार JavaScript या इससे भी बेहतर JavaScript से अधिक स्कोप हैं। यह एक ही कोड पर इस तरह दिखता है:

JavaScriptNext

इसके अलावा, जब से मैंने मूल रूप से यह उत्तर लिखा है, @skuroda ने PackageResourceViewerपैकेज नियंत्रण के माध्यम से जारी किया है । यह आपको मूल रूप से या पूरे .sublime-packageपैकेज के कुछ हिस्सों को देखने, संपादित करने और / या निकालने की अनुमति देता है। इसलिए, यदि आप चुनते हैं, तो आप सीधे उदात्त के साथ शामिल रंग योजनाओं को संपादित कर सकते हैं।

अन्य अद्यतन

जीथब पर लगभग सभी डिफ़ॉल्ट पैकेजों की रिहाई के साथ , परिवर्तन तेजी से और उग्र रूप से आ रहे हैं। जावास्क्रिप्ट अगला ES6 सिंटैक्स के सर्वोत्तम भागों को शामिल करने के लिए पुराने जेएस सिंटैक्स को पूरी तरह से फिर से लिखा गया है, और अब पूरी तरह से ईएस 6-संगत है। कोने और किनारे के मामलों को कवर करने, स्थिरता में सुधार करने, और समग्र रूप से इसे बेहतर बनाने के लिए अन्य परिवर्तनों का एक टन किया गया है। नए सिंटैक्स को (इस समय) नवीनतम देव बिल्ड 3111 में शामिल किया गया है ।

यदि आप वर्तमान बीटा बिल्ड 3103 के साथ किसी भी नए वाक्यविन्यास का उपयोग करना चाहते हैं , तो बस गितुब रेपो कहीं पर क्लोन करें और JavaScriptअपनी Packagesनिर्देशिका में (या जो भी भाषा चाहें) को लिंक करें - इसे चुनकर अपने सिस्टम पर खोजें Preferences -> Browse Packages...। फिर, बस git pullकिसी भी परिवर्तन को ताज़ा करने के लिए समय-समय पर मूल रेपो निर्देशिका में एक करते हैं, और आप नवीनतम और सबसे बड़ा आनंद ले सकते हैं! मुझे ध्यान देना चाहिए कि रेपो .sublime-syntaxपुराने के बजाय नए प्रारूप का उपयोग करता है .tmLanguage, इसलिए वे 3084 से पहले ST3 बिल्ड के साथ या ST2 के साथ काम नहीं करेंगे (दोनों ही मामलों में, आपको नवीनतम बीटा या देव बिल्ड में वैसे भी अपग्रेड करना चाहिए)।

मैं वर्तमान में नए जेएस सिंटैक्स में सभी नए स्कोप को संभालने के लिए अपनी नियॉन कलर स्कीम को बदल रहा हूं, लेकिन अधिकांश को पहले से ही कवर किया जाना चाहिए।


मैंने पैकेज कंट्रोल और अपने बेहतर जावास्क्रिप्ट को स्थापित किया। मैं इस योजना को आपके लिए कैसे निर्धारित कर सकता हूं? यह रंग योजना के तहत सूचीबद्ध नहीं है।
निकल्स

क्या आपने पैकेज कंट्रोल के माध्यम से "नियॉन थीम" स्थापित किया है? आपके पास एक बार, Preferences -> Color Scheme -> Neon Themeलेने और लेने के लिए Neon
मैटडैमो

1
यदि आप पैकेज नियंत्रण के माध्यम से पैकेज स्थापित करते हैं, तो वे इस मामले में स्वचालित रूप से सही स्थान पर संग्रहीत होते हैं %APPDATA%\Sublime Text 3\Installed Packages\Neon Theme.sublime-package। ऊपर दिए गए मेनू विकल्प का चयन करने से आपकी Packages\User\Preferences.sublime-settingsफ़ाइल अपने आप अपडेट हो जाएगी ।
मैटडैमो

@MattDMo - वाह, यह बहुत अच्छी तरह से था। मैं बस कुछ सिंटैक्स रंग और एक XML- मार्कअप के लिए सुदृढीकरण संपादन करने की कोशिश कर रहा हूं। लेकिन कुछ परेशानी हो रही है कि सुपर सिंपल से शुरुआत कैसे करें। मैं कहां से रिवर्स-इंजीनियर शुरू कर सकता हूं या बेहतर, अभी तक एक से एक ट्यूटोरियल प्राप्त कर सकता हूं।
टिमोथी टी।

1
@ nmz787 यदि आप चाहते हैं कि सभी .sublime-syntaxफ़ाइल है, तो बस इसे डाउनलोड करें और इसे कॉपी करें ~/.config/sublime-text-3/Packages/User। यह तब Userउप- विंडो के दाईं ओर सिंटैक्स मेनू में उपलब्ध होगा, या तो अपने आप (यह "SystemVerilog" कहेगा) या सबमेनू के तहत , आपके सेटअप के आधार पर। आप पूरे पैकेज चाहते हैं, यकीन है कि पैकेज नियंत्रण सही ढंग से स्थापित किया गया है, खुला आदेश पैलेट, टाइप बनाने पीसीआई ,, में प्रवेश के लिए खोज हिट SystemVerilog, और enter दबाएं। आपको किसी भी फ़ाइल या किसी भी चीज़ का नाम नहीं बदलना चाहिए - आप ऐसा क्यों कर रहे थे?
मैटडैमो

31

अंत में मुझे दिए गए थीम्स को कस्टमाइज़ करने का एक तरीका मिला।

पर जाएं C:\Program Files\Sublime Text 3\Packagesऔर + नाम बदलने की नकल Color Scheme - Default.sublime-packageकरने के लिए Color Scheme - Default.zip। बाद में इसे अनज़िप करें और थीम को कॉपी करें, आप में बदलना चाहते हैं %APPDATA%\Sublime Text 3\Packages\User। (मेरे मामले में, All Hallow's Eve.tmTheme)।

फिर आप इसे किसी भी टेक्स्ट एडिटर के साथ खोल सकते हैं और कुछ बदल सकते हैं, उदाहरण के लिए thisजावास्क्रिप्ट में बदल सकते हैं :

<dict>
    <key>name</key>
    <string>Lang Variable</string>
    <key>scope</key>
    <string>variable.language</string>
    <key>settings</key>
    <dict>
        <key>foreground</key>
        <string>#FF0000</string>
    </dict>
</dict>

यह thisजावास्क्रिप्ट फाइल लाल में चिह्नित करेगा । आप के तहत अपने विषय का चयन कर सकते हैं Preferences -> Color Scheme -> User -> <Your Name>


1
हाँ, यह क्लूनी का काम है-जिसके आसपास हम सभी को आदत .sublime-package
डालने की

9
वह प्लगइन यहां है - इसे कहा जाता है PackageResourceViewerऔर पैकेज नियंत्रण के माध्यम से स्थापित किया जा सकता है। यह उदात्त पाठ 3 .sublime-packageफ़ाइलों के साथ काम करना बहुत आसान बनाता है, और यदि आप ST3 के लिए किसी भी तरह के अनुकूलन करने की योजना बना रहे हैं तो मैं इसकी अत्यधिक अनुशंसा करता हूं।
मट्टडामो

1
आपको इन नियमों का संदर्भ कहां मिला?
कोडीनिजा

2
^ उन्होंने क्या कहा। इसके अलावा, मुझे समझ नहीं आता है कि जब आप कोड में "इस" कीवर्ड का "चयन" करते हैं, तो यह केवल "इस" कीवर्ड को क्यों रंग देता है। क्या आप इसे समझा सकते हैं?
ज़ेल्फ़िर कलस्टहल


16

पैकेज कंट्रोल के माध्यम से इंस्टॉल किए गए PackageResourceViewer प्लगइन का उपयोग करें (जैसा कि MattDMo द्वारा उल्लेख किया गया है )। यह आपको सबलेम टेक्स्ट में इसे खोलने और फ़ाइल को सहेजकर संपीड़ित संसाधनों को ओवरराइड करने की अनुमति देता है। यह स्वचालित रूप से केवल संपादित किए गए संसाधनों को% APPDATA% / रोमिंग / उदात्त पाठ 3 / संकुल / या ~ / .config / उदात्त-पाठ -3 / संकुल / में सहेजता है।

सेशन के विशिष्ट, एक बार प्लगइन स्थापित होने के बाद, PackageResourceViewer: Open Resourceकमांड निष्पादित करें । फिर चुनें JavaScriptद्वारा पीछा किया JavaScript.tmLanguage। यह संपादक में एक xml फ़ाइल खोलेगा। आप भाषा की किसी भी परिभाषा को संपादित कर सकते हैं और फ़ाइल को सहेज सकते हैं। यह उपयोगकर्ता निर्देशिका में JavaScript.tmLanguage फ़ाइल की ओवरराइड प्रतिलिपि लिखेगा।

सिस्टम में किसी भी भाषा की भाषा की परिभाषा को संपादित करने के लिए उसी विधि का उपयोग किया जा सकता है।


मुझे वहां रंगों के बारे में कुछ भी नहीं दिख रहा है। हालाँकि, आपका उत्तर मेरे लिए सबसे करीब था जो मुझे चाहिए था। इसके बजाय, मैंने JSON सिंटैक्स को काम करने के लिए हाइलाइट करने के लिए इस SublimeText फोरम पोस्ट के अनुसार Monokai.tmTheme को संपादित किया ।
jmort253

1
इस उत्तर में विशिष्ट निर्देश भाषा की परिभाषा को संपादित करने के लिए थे। हालांकि यह आपको रंग योजना के रंगों को सीधे संपादित नहीं करने देगा, यह आपको कुछ प्रकार के स्कोप को बदलने की अनुमति देगा और इस तरह से रंग योजना भाषा (और रंग) की व्याख्या करती है। प्लगइन Sublime में किसी भी प्रकार का संसाधन खोल देगा ताकि आप उसी टूल के साथ सीधे रंग योजनाओं को संपादित कर सकें। उदाहरण के लिए, मैं कल की रात की रंग योजना का शौकीन हूं, इसलिए मैं उस रंग योजना को संपादित करने के लिए इस प्लगइन के साथ कल-रात को हटा दूंगा।
चॉकिंसुफ

5

"यह" पहले से ही जावास्क्रिप्ट में रंगीन है।

देखें-> सिंटैक्स-> और हाइलाइट करने के लिए अपनी भाषा चुनें।


बस मैं क्या देख रहा था: सी ++ सिंटैक्स रंग वाली फाइलों View -> Syntax -> Open all with current extension as...को सेट करने के लिए *.stan
बोल्ट्जमनब्रेन

0

यह मेरी रेसिपी है

नोट: यह ठीक वही नहीं है जो ओपी पूछ रहा है। ये निर्देश आपको आइटम के रंग (टिप्पणी, कीवर्ड, आदि) को बदलने में मदद करेंगे जो कि सिंटैक्स मिलान नियमों से परिभाषित हैं। उदाहरण के लिए, इन निर्देशों को बदलने के लिए उपयोग करें ताकि सभी कोड टिप्पणियां हरे रंग के बजाय नीले रंग की हों।

मेरा मानना ​​है कि ओपी पूछ रहा है कि thisजावास्क्रिप्ट स्रोत फ़ाइल में पाए जाने वाले रंग के रूप में कैसे परिभाषित किया जाए।

  1. पैकेज स्थापित करें: PackageResourceViewer

  2. Ctrl+Shift+P> [ PackageResourceViewer: Open Resource]> [ Color Scheme - Default]> [ Marina.sublime-color-scheme] (या जो भी रंग योजना आप उपयोग करते हैं)

  3. उपरोक्त कमांड " Marina.sublime-color-scheme" फाइल के लिए एक नया टैब खोलेगी ।

    • मेरे लिए, यह फ़ाइल मेरे रोमिंग प्रोफ़ाइल %appdata%( C:\Users\walter\AppData\Roaming\Sublime Text 3\Packages\Color Scheme - Default\) में स्थित थी ।
    • हालाँकि, अगर मैं Windows Explorer में उस पथ पर ब्राउज़ करता हूँ , [ Color Scheme - Default] एक बच्चे की नहीं है-dir [ Packages] dir की। मुझे संदेह है कि PackageResourceViewerकुछ वर्चुअलाइजेशन कर रहा है ।

वैकल्पिक चरण: नई रंग-योजना टैब पर: Ctrl+Shift+P> [ Set Syntax: JSON]

  1. उस नियम को खोजें जिसे आप बदलना चाहते हैं। मैं टिप्पणी को स्पष्ट करना चाहता था, इसलिए मैंने " Comment" के लिए खोज की

    • मैंने इसे "rules"अनुभाग में पाया
 "rules":
    [
        {
            "name": "Comment",
            "scope": "comment, punctuation.definition.comment",
            "foreground": "var(blue6)"
        },
  1. "blue6":रंग चर परिभाषाओं अनुभाग को खोजने के लिए स्ट्रिंग की खोज करें। मैंने इसे "variables"अनुभाग में पाया ।

  2. Http://hslpicker.com/ जैसे टूल का उपयोग करके एक नया रंग चुनें ।

  3. या तो एक नया रंग चर परिभाषित करें, या के लिए रंग सेटिंग अधिलेखित करें blue6

    • चेतावनी: ओवरराइटिंग blue6उस रंग योजना के अन्य सभी पाठ-तत्वों को प्रभावित करेगी जो ब्लू 6 ("विराम चिह्न" "एक्सेसर") का भी उपयोग करते हैं।
  4. अपनी फ़ाइल को सहेजें, परिवर्तनों को किसी भी खुली फ़ाइलों / टैब पर तुरंत लागू किया जाएगा।

टिप्पणियाँ

उदात्त इन रंग शैलियों में से किसी को संभाल लेंगे। संभवतः अधिक।

hsla = ह्यू, संतृप्ति, हल्कापन, अल्फा rgba = लाल, हरा, नीला, अल्फा

hsla (151, 100%, 41%, 1) - अंतिम परम अल्फा स्तर (पारदर्शिता) 1 = अपारदर्शी, 0.5 = आधा-पारदर्शी, 0 = पूर्ण-पारदर्शी है

hsl (151, 100%, 41%) - कोई अल्फा चैनल नहीं

आरजीबीए (0, 209, 108, 1) - अल्फा चैनल के साथ आरजीबी

आरजीबी (0, 209, 108) - कोई अल्फा चैनल नहीं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.