इसका इस्तेमाल कैसे करें
- इंडेंट किससे करें और इंडेंट का आकार चुनें। लाइन का अंत और कैरेक्टर सेट भी चुनें।
- उन फ़ाइल-प्रकारों वाले हिस्से चुनें जिनकी जरूरत है: Markdown में लाइन के अंत के स्पेस रखें, YAML को दो स्पेस से इंडेंट करें और Makefile के रेसिपी को टैब से इंडेंट करें।
- .editorconfig फ़ाइल का टेक्स्ट कॉपी करें, या डाउनलोड करें, और अपने प्रोजेक्ट के सबसे ऊपर वाले फ़ोल्डर में सहेजें।
- हर लाइन का मतलब पढ़ें और जाँचें कि हर प्रॉपर्टी क्या करती है।
फ़ाइल कैसे काम करती है
कई एडिटर और IDE एक .editorconfig फ़ाइल पढ़ते हैं और उसकी सेटिंग उन फ़ाइलों पर लगाते हैं जो हर हिस्से के पैटर्न से मिलती हैं। हिस्से का शीर्षक वर्ग कोष्ठक में फ़ाइल-नाम का पैटर्न होता है, और उसके नीचे की प्रॉपर्टी उस पैटर्न की हर फ़ाइल पर लागू होती हैं। बाद वाला हिस्सा उसी प्रॉपर्टी के लिए पहले वाले को बदल देता है। लाइन root = true खोज को रोकती है, इसलिए सेटिंग सिर्फ इस फ़ोल्डर और उसके नीचे के फ़ोल्डरों तक पहुँचती हैं।
- * किसी भी अक्षर से मेल खाता है, सिवाय स्लैश के।
- ** किसी भी अक्षर से मेल खाता है, स्लैश समेत।
- {yml,yaml} दोनों में से किसी से मेल खाता है, इसलिए *.{yml,yaml} दोनों तरह की फ़ाइलों से मेल खाता है।
फ़ाइल-प्रकार वाले हिस्से
- Markdown: लाइन के अंत के दो स्पेस नई लाइन बनाते हैं, इसलिए *.md के लिए खाली जगह हटाना बंद किया जाता है।
- YAML: इंडेंट के लिए टैब कैरेक्टर मना है, इसलिए *.{yml,yaml} को दो-दो के स्तर में स्पेस से इंडेंट किया जाता है।
- Makefile: हर रेसिपी लाइन की शुरुआत टैब कैरेक्टर से होनी चाहिए, इसलिए Makefile के लिए indent_style = tab रखा गया है।
मान कैसे चुनें
- कोड के लिए स्पेस आम चुनाव है। टैब उस टीम के लिए ठीक है जिसके सभी एडिटर टैब की चौड़ाई एक जैसी दिखाते हैं।
- LF Linux और macOS पर चल रहे प्रोजेक्ट और ज्यादातर रिपॉज़िटरी के लिए आम लाइन-ब्रेक है। CRLF Windows की टेक्स्ट फ़ाइलों का लाइन-ब्रेक है।
- UTF-8 मानक एन्कोडिंग है। UTF-8 बाइट-ऑर्डर मार्क के साथ तभी लें जब कोई टूल उसे माँगे।
उदाहरण: डिफ़ॉल्ट चुनाव
स्पेस, इंडेंट का आकार 2, LF, UTF-8, लाइन के अंत के स्पेस हटाए गए, आखिर में लाइन-ब्रेक, और तीनों फ़ाइल-प्रकार वाले हिस्से: फ़ाइल में एक root लाइन है, सभी फ़ाइलों वाला एक हिस्सा छह प्रॉपर्टी के साथ, और Markdown और Makefile हिस्सों में एक-एक प्रॉपर्टी, YAML हिस्से में दो। तालिका ग्यारह प्रॉपर्टी वाली लाइनें गिनती है, और उनमें से छह यहाँ दिखाई गई हैं।
| हिस्सा | प्रॉपर्टी | मान |
|---|---|---|
| फ़ाइल की शुरुआत | root | true |
| सभी फ़ाइलें | indent_style | space |
| सभी फ़ाइलें | indent_size | 2 |
| Markdown (.md) | trim_trailing_whitespace | false |
| YAML (.yml, .yaml) | indent_style | space |
| Makefile | indent_style | tab |
अक्सर पूछे जाने वाले सवाल
.editorconfig फ़ाइल कहाँ रखनी चाहिए?
प्रोजेक्ट के सबसे ऊपर वाले फ़ोल्डर में, README के पास। एडिटर हर फ़ाइल के फ़ोल्डर में और फिर उसके ऊपर के हर फ़ोल्डर में इसे खोजते हैं, और खोज उस पहली फ़ाइल पर रुकती है जिसमें root = true हो।
क्या .editorconfig फ़ाइल मेरा कोड अपने आप फ़ॉर्मेट करती है?
नहीं, अपने आप नहीं। यह एडिटर और प्लगइन को बताती है कि फ़ाइल बदलते या सहेजते समय कौन सा इंडेंट, लाइन-ब्रेक और एन्कोडिंग इस्तेमाल करें। फ़ॉर्मेटर या लिंटर असल में कोड दोबारा लिखते हैं, और उनमें से कुछ वही सेटिंग पढ़ते हैं।
Markdown वाला हिस्सा लाइन के अंत के स्पेस क्यों रखता है?
Markdown में लाइन के अंत के दो स्पेस नई लाइन बनाते हैं। उन्हें हटाने से दो लाइनें एक हो जाएँगी, इसलिए यह हिस्सा सिर्फ .md फ़ाइलों के लिए हटाना बंद करता है।
Makefile में टैब क्यों इस्तेमाल होने चाहिए?
make हर रेसिपी लाइन को टैब कैरेक्टर के बाद पढ़ता है, और स्पेस से शुरू होने वाली रेसिपी गलती मानी जाती है। इसलिए Makefile वाला हिस्सा Makefile नाम की फ़ाइलों के लिए indent_style को tab रखता है।
क्या कोई सबफ़ोल्डर इनमें से कोई सेटिंग हटा सकता है?
हाँ, unset मान के साथ, जो पहले लगी प्रॉपर्टी हटाता है। यह पेज सिर्फ सादे मान लिखता है, इसलिए अगर जरूरत हो तो वह लाइन सबफ़ोल्डर की अपनी .editorconfig फ़ाइल में जोड़ें।
क्या यह फ़ाइल किसी सर्वर पर भेजी जाती है?
नहीं। फ़ाइल आपके चुनाव से आपके ब्राउज़र में लिखी जाती है, और जो भी आप चुनते हैं वह कहीं सहेजा नहीं जाता।
स्रोत
- EditorConfig: the file format and the supported properties (अंग्रेजी में)
- EditorConfig specification: sections, globs and root (अंग्रेजी में)
- CommonMark 0.31.2: hard line breaks, two spaces at the end of a line (अंग्रेजी में)
- YAML 1.2.2: tab characters must not be used in indentation (अंग्रेजी में)
- GNU Make manual: a recipe line begins with a tab character (अंग्रेजी में)
आँकड़े और टेक्स्ट आखिरी बार मंगलवार, 10 नवंबर 2026 को जाँचे गए।