কোড ফরম্যাটার
কোড পেস্ট করুন, সেটি নিজেই সাজে — ভাষা শনাক্ত হয়, কোনো বোতাম চাপতে হয় না।
ফরম্যাট করা কোড
কীভাবে ব্যবহার করবেন
- কোড বাক্সে পেস্ট করুন — টাইপ করার সঙ্গে সঙ্গে ফরম্যাট হয়; কোনো বোতাম চাপতে হয় না।
- ভাষা কোড দেখেই শনাক্ত হয়। অনুমান ভুল হলে তালিকা থেকে বেছে নিন; 2 বা 4 স্পেস আর 80, 100 বা 120 কলাম বেছে নিলেই ফলাফল সঙ্গে সঙ্গে নতুন করে সাজে।
- ফলাফল কপি করুন বা সঠিক এক্সটেনশন (.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 সেমিকোলন ও ডাবল কোট বসায়; টেমপ্লেট লিটারেল আর অতিথির fallback বার্তা অপরিবর্তিত থাকে।
নিয়ম, সীমাবদ্ধতা ও পরিচিত সমস্যা
- ফরম্যাটিং শুধু ফাঁকা জায়গা এবং ফরম্যাটারের নিজের স্বাভাবিকীকরণ বদলায় (কোট, সেমিকোলন, ট্রেইলিং কমা); এ কখনো কোড চালায় না, কী সাজায় না, শনাক্তকারীর নাম বদলায় না। স্ট্রিংয়ের ভেতরের লেখা যেমন তেমন থাকে।
- ইঞ্জিন: 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 parser চলে, তাই ছোট অবজেক্ট এক লাইনেই থাকতে পারে। কঠোর যাচাই, কীর ক্রম বা minify-এর জন্য JSON টুলবক্স ব্যবহার করুন। ডুপ্লিকেট কী-তে JSON.parse-এর মতো শেষ মানটাই থেকে যায়।
- Prettier-এর ডিফল্ট স্টাইল স্থির: ডাবল কোট, সেমিকোলন, বৈধ জায়গায় ট্রেইলিং কমা। .prettierrc বা .editorconfig পড়া হয় না, কোট বা সেমিকোলনের কোনো অপশন নেই। Python ডাবল কোট ব্যবহার করে এবং magic trailing comma মেনে চলে (Ruff/Black)।
- HTML-এর ফাঁকা জায়গা htmlWhitespaceSensitivity: css মেনে চলে, তাই ইনলাইন এলিমেন্টের দুপাশের স্পেস উৎসের চেয়ে আলাদা হতে পারে। Markdown, YAML ও XML সমর্থিত নয়; সেগুলোর জন্য Markdown সম্পাদক, config converter ও XML ফরম্যাটার আছে।
- আউটপুট LF, শেষে নতুন লাইন নেই, ফরম্যাটিং আইডেমপোটেন্ট। 200,000-এর বেশি অক্ষর হলে টাইপ করা থামার প্রায় 0.6 সেকেন্ড পর ফলাফল হালনাগাদ হয়; ফরম্যাটিং Web Worker-এ চলে এবং টেক্সট কখনো আপলোড হয় না, URL-এ বসে না বা সংরক্ষিত হয় না।
সম্পর্কিত টুল
কোড পড়া সহজ হওয়ার পর মানুষ সাধারণত যা চায়।