कोड फ़ॉर्मेटर

कोड पेस्ट करें और वह खुद सज जाता है — भाषा पहचानी जाती है, कोई बटन नहीं दबाना।

इसका उपयोग कैसे करें

  1. कोड बॉक्स में पेस्ट करें — यह टाइप करते ही फ़ॉर्मेट होता है; कोई बटन नहीं दबाना है।
  2. भाषा कोड से पहचानी जाती है। अनुमान ग़लत हो तो सूची से एक चुनें; 2 या 4 स्पेस और 80, 100 या 120 कॉलम तुरंत लागू होते हैं।
  3. परिणाम कॉपी करें या सही एक्सटेंशन (.js, .ts, .json, .py …) के साथ डाउनलोड करें।

उदाहरण

इनपुट

function greet(user){if(!user){return "Hello, guest";}const tags=["new","active"];return `Hello, ${user.name}!`;}
export default greet;

फ़ॉर्मेट किया गया

function greet(user) {
  if (!user) {
    return "Hello, guest";
  }
  const tags = ["new", "active"];
  return `Hello, ${user.name}!`;
}
export default greet;

डिफ़ॉल्ट नियमों से फ़ॉर्मेट किया गया (2 स्पेस, 80 कॉलम)। Prettier सेमीकोलन और डबल कोट जोड़ता है; टेम्पलेट लिटरल और guest फ़ॉलबैक नहीं बदलते।

नियम, सीमाएँ और ज्ञात समस्याएँ

  • फ़ॉर्मेटिंग व्हाइटस्पेस और फ़ॉर्मेटर के अपने सामान्यीकरण (कोट, सेमीकोलन, अंतिम कॉमा) बदलती है; यह कभी कोड नहीं चलाती, कुंजियाँ क्रमबद्ध नहीं करती और आइडेंटिफ़ायर नहीं बदलती। स्ट्रिंग अपनी सामग्री रखते हैं।
  • इंजन: JavaScript, TypeScript, JSON, CSS, SCSS, Less, HTML, Vue और GraphQL के लिए Prettier; Python के लिए Ruff (Black-संगत)। पहली बार इस्तेमाल पर सिर्फ़ मौजूदा भाषा का इंजन डाउनलोड होता है, और ब्राउज़र उसे कैश करता है।
  • अपने आप पहचान एक अनुमान है। टैग से शुरू होने वाला स्निपेट JSX होने पर भी HTML पढ़ा जा सकता है; JavaScript या TypeScript खुद चुनें। JSON जैसा दिखने वाला ऑब्जेक्ट जो मान्य JSON नहीं है, JavaScript पर लौटता है।
  • मैन्युअल चयन अंतिम है: CSS चुनने पर कभी चुपचाप SCSS के रूप में फ़ॉर्मेट नहीं होता। TypeScript पहले .ts और फिर .tsx आज़माता है।
  • JSON Prettier के json पार्सर का उपयोग करता है, इसलिए छोटे ऑब्जेक्ट एक पंक्ति में रह सकते हैं। सख़्त जाँच, कुंजी क्रम या मिनिफ़ाई के लिए JSON टूलबॉक्स इस्तेमाल करें। डुप्लीकेट कुंजियाँ अंतिम मान रखती हैं, जैसे JSON.parse करता है।
  • Prettier की डिफ़ॉल्ट शैली तय है: डबल कोट, सेमीकोलन, जहाँ मान्य हो वहाँ अंतिम कॉमा। .prettierrc और .editorconfig पढ़े नहीं जाते और कोट या सेमीकोलन के विकल्प नहीं हैं। Python डबल कोट इस्तेमाल करता है और मैजिक अंतिम कॉमा का सम्मान करता है (Ruff/Black)।
  • HTML व्हाइटस्पेस htmlWhitespaceSensitivity: css का पालन करता है, इसलिए इनलाइन एलिमेंट के आसपास के स्पेस स्रोत से अलग हो सकते हैं। Markdown, YAML और XML समर्थित नहीं; उनके लिए Markdown एडिटर, कॉन्फ़िग कन्वर्टर और XML फ़ॉर्मेटर हैं।
  • आउटपुट LF है बिना अंतिम नए लाइन के, और फ़ॉर्मेटिंग इडेम्पोटेंट है। 2,00,000 कैरेक्टर से ऊपर परिणाम टाइप करना रोकने के लगभग 0.6 s बाद अपडेट होता है; फ़ॉर्मेटिंग Web Worker में चलती है और टेक्स्ट कभी अपलोड, URL में या संग्रहीत नहीं होता।

कोड पढ़ने योग्य हो जाने के बाद लोग आमतौर पर यह चाहते हैं।