پرش به محتوا

قالب‌بندی کننده رایگان کد: زیباسازی جاوااسکریپت، پایتون، HTML و بیشتر

به سرعت کد نامنظم را با تورفتگی و فاصله‌گذاری مناسب قالب‌بندی کنید. پشتیبانی از 12+ زبان شامل جاوااسکریپت، پایتون، HTML، CSS و جاوا. مبتنی بر مرورگر، امن و رایگان. نیاز به ثبت‌نام نیست.

قالب‌بندی کد

کد خود را با یک کلیک قالب‌بندی کنید. یک زبان را انتخاب کنید، کد خود را جایگذاری کنید و آن را به درستی قالب‌بندی شده دریافت کنید.

نحوه استفاده:

  1. زبان برنامه‌نویسی خود را از منوی کشویی انتخاب کنید.
  2. کد بدون قالب‌بندی خود را در ناحیه ورودی جایگذاری کنید.
  3. دکمه 'قالب‌بندی کد' را کلیک کنید.
  4. نتیجه قالب‌بندی شده را از ناحیه خروجی کپی کنید.
ماشین حساب بارگذاری...
📚

مستندات

قالب‌بندی‌کنندهٔ کد چیست؟

قالب‌بندی‌کنندهٔ کد ابزاری است که کد منبع را با تورفتگی، شکست خطوط و فاصله‌گذاری یکدست بازنویسی می‌کند، بی‌آنکه رفتار کد را تغییر دهد. این قالب‌بندی‌کنندهٔ کد در مرورگر وب اجرا می‌شود. از ۱۲ زبان برنامه‌نویسی، از جمله جاوااسکریپت، پایتون، HTML و CSS، پشتیبانی می‌کند.

این قالب‌بندی‌کنندهٔ کد چگونه کار می‌کند

این ابزار برای هر زبان مجموعه‌قواعد متفاوتی دارد. هیچ‌یک از آن‌ها، به‌جز JSON، درخت تجزیهٔ کامل کد را ایجاد نمی‌کنند.

  • JSON با تجزیه‌کنندهٔ داخلی JSON مرورگر تجزیه می‌شود و سپس با تورفتگی دو فاصله‌ای دوباره چاپ می‌شود. اگر JSON نامعتبر باشد، ابزار خطا را گزارش می‌کند و هیچ خروجی‌ای نشان نمی‌دهد.
  • جاوااسکریپت، تایپ‌اسکریپت، جاوا، C، C++ و C# از یک قالب‌بندی‌کنندهٔ مشترک استفاده می‌کنند. این قالب‌بندی‌کننده کد را نویسه‌به‌نویسه بررسی می‌کند و آکولادها، پرانتزها و نقطه‌ویرگول‌ها را دنبال می‌کند. هر { یک بلوک جدید با تورفتگی آغاز می‌کند و هر } یا ; یک خط را پایان می‌دهد. کامنت‌ها و رشته‌های نقل‌قول‌شده بدون تغییر باقی می‌مانند. این قالب‌بندی‌کننده فاصله‌هایی را که در کد اصلی پیرامون عملگرها یا پس از ویرگول وجود نداشته‌اند اضافه نمی‌کند؛ فقط شکست خط و تورفتگی را بازسازی می‌کند.
  • پایتون تورفتگی موجود هر خط را می‌خواند و آن را با چهار فاصله در هر سطح، بر اساس همان قواعد تو‌در‌تویی که خود زبان پایتون استفاده می‌کند، بازسازی می‌کند. خطوط طولانی را تقسیم نمی‌کند، خط خالی اضافه نمی‌کند و پیرامون عملگرها فاصله نمی‌گذارد؛ فقط عمق تورفتگی هر خط را یکدست می‌کند.
  • CSS شکست خط و فاصلهٔ خالی اضافی را حذف می‌کند و سپس پس از هر { و ; و پیش از هر } یک شکست خط می‌افزاید.
  • HTML و XML برای هر سطح از تگ‌های تو‌در‌تو یک شکست خط و دو فاصله تورفتگی اضافه می‌کنند و تگ‌های استانداردِ خودبسته‌شونده مانند <br>، <img> و <input> را تشخیص می‌دهند.
  • SQL مجموعهٔ ثابتی از کلیدواژه‌ها، مانند SELECT، FROM، WHERE، JOIN و ORDER BY، را به حروف بزرگ تبدیل می‌کند و پیش از هر بند اصلی یک خط جدید آغاز می‌کند.

چون فقط مسیر JSON واقعاً ورودی را تجزیه می‌کند، هیچ‌یک از قالب‌بندی‌کننده‌های دیگر خطاهای نحوی مانند براکتِ جاافتاده یا رشتهٔ بسته‌نشده را تشخیص نمی‌دهند. آن‌ها هر متنی را که دریافت کنند بازقالب‌بندی می‌کنند، حتی اگر قابل اجرا نباشد.

زبان‌های پشتیبانی‌شده

زبانپسوند معمول فایلعرض تورفتگی
جاوااسکریپت.js۲ فاصله
تایپ‌اسکریپت.ts۲ فاصله
HTML.html۲ فاصله
CSS.css۲ فاصله
پایتون.py۴ فاصله
جاوا.java۴ فاصله
C.c۴ فاصله
C++.cpp۴ فاصله
C#.cs۴ فاصله
SQL.sqlشکست خط بر اساس بند
JSON.json۲ فاصله
XML.xml۲ فاصله

نحوهٔ قالب‌بندی کد

  1. یک زبان برنامه‌نویسی را از منوی کشویی انتخاب کنید.
  2. کد قالب‌بندی‌نشده را در کادر ورودی جای‌گذاری کنید.
  3. گزینهٔ «قالب‌بندی کد» را انتخاب کنید.
  4. نتیجهٔ قالب‌بندی‌شده را از کادر خروجی کپی کنید.

قالب‌بندی کاملاً درون مرورگر انجام می‌شود. کد هرگز به سرور ارسال نمی‌شود.

نمونهٔ قالب‌بندی جاوااسکریپت

پیش از قالب‌بندی:

1function add(a, b) {
2    if (a > 0) { return a + b; }
3    return 0;
4}
5

پس از قالب‌بندی:

1function add(a, b) {
2  if (a > 0) {
3    return a + b;
4  }
5  return 0;
6}
7

قالب‌بندی‌کننده کد داخل { } را به خطی جداگانه با تورفتگی منتقل کرد و تورفتگی را به دو فاصله در هر سطح یکدست کرد. فاصله‌گذاری پیرامون a > 0 و a + b را دقیقاً همان‌طور که یافته بود حفظ کرد، چون این فاصله‌ها از قبل وجود داشتند.

نمونهٔ قالب‌بندی پایتون

پیش از قالب‌بندی:

1def calculate_average(numbers):
2  if len(numbers) == 0:
3    return 0
4  total = sum(numbers)
5  return total / len(numbers)
6

پس از قالب‌بندی:

1def calculate_average(numbers):
2    if len(numbers) == 0:
3        return 0
4    total = sum(numbers)
5    return total / len(numbers)
6

کد اصلی در هر سطح تورفتگی از دو فاصله استفاده می‌کرد. قالب‌بندی‌کننده تورفتگی هر خط را با چهار فاصله در هر سطح بازسازی کرد؛ مطابق سبکی که در PEP ۸، راهنمای رسمی سبک پایتون، توضیح داده شده است. ترتیب همهٔ خطوط را حفظ کرد و فاصله‌های داخل خطوط را تغییر نداد.

چرا قالب‌بندی کد اهمیت دارد

تورفتگی ناهماهنگ تشخیص محل پایان تابع، حلقه یا شرط را دشوارتر می‌کند. کدی که چند نفر آن را ویرایش کرده‌اند، اغلب ترکیبی از تورفتگی با تب و فاصله یا خطوطی دارد که با بلوک متعلق به خود هم‌راستا نیستند. اجرای کد از طریق قالب‌بندی‌کننده به همهٔ فایل‌ها ساختار دیداری یکسانی می‌دهد؛ در نتیجه مرور آن سریع‌تر و یافتن براکت جابه‌جا آسان‌تر می‌شود.

محدودیت‌ها

  • اندازهٔ ورودی: این ابزار حداکثر ۵۰٬۰۰۰ نویسه کد را می‌پذیرد. ورودی طولانی‌تر پیش از آغاز قالب‌بندی با پیام خطا رد می‌شود.
  • نبود بررسی نحوی برای بیشتر زبان‌ها: فقط ورودی JSON تجزیه و اعتبارسنجی می‌شود. کد در ۱۱ زبان دیگر همان‌طور که هست بازقالب‌بندی می‌شود، حتی اگر براکتی جاافتاده یا رشته‌ای بسته‌نشده داشته باشد. در این حالت ممکن است خروجی به‌جای اعلام خطا، تورفتگی نادرستی داشته باشد.
  • تغییر ندادن فاصله‌گذاری عملگرها: قالب‌بندی‌کننده‌های جاوااسکریپت، تایپ‌اسکریپت و خانوادهٔ C فقط شکست خط و تورفتگی را جابه‌جا می‌کنند. آن‌ها پیرامون +، =، !== یا پس از ویرگول، در صورتی که از قبل فاصله‌ای وجود نداشته باشد، فاصله اضافه نمی‌کنند.
  • PHP پشتیبانی نمی‌شود: انتخاب زبانی که پشتیبانی نمی‌شود، کد را بدون تغییر برمی‌گرداند.

پرسش‌های متداول

آیا این ابزار کد من را از نظر خطاهای نحوی بررسی می‌کند؟ فقط برای JSON. ورودی JSON تجزیه می‌شود، بنابراین JSON نامعتبر پیام خطا تولید می‌کند. کدِ زبان‌های پشتیبانی‌شدهٔ دیگر بدون بررسی صحت نحو بازقالب‌بندی می‌شود.

آیا کد من را به سرور ارسال می‌کند؟ خیر. قالب‌بندی کاملاً در مرورگر و با استفاده از جاوااسکریپت انجام می‌شود. کد نه بارگذاری می‌شود و نه در جایی ذخیره می‌گردد.

حداکثر مقدار کدی که می‌تواند قالب‌بندی کند چقدر است؟ ۵۰٬۰۰۰ نویسه. جای‌گذاری مقدار بیشتر، پیش از آغاز قالب‌بندی خطا ایجاد می‌کند.

آیا فاصله‌های جاافتاده را پیرامون عملگرها یا پس از ویرگول اضافه می‌کند؟ خیر، برای جاوااسکریپت، تایپ‌اسکریپت، جاوا، C، C++ و C#. این قالب‌بندی‌کننده‌ها فقط تورفتگی و شکست خط را پیرامون آکولادها و نقطه‌ویرگول‌ها بازسازی می‌کنند و بقیهٔ هر خط را همان‌طور که نوشته شده کپی می‌کنند.

از چه تورفتگی‌ای استفاده می‌کند؟ دو فاصله برای جاوااسکریپت، تایپ‌اسکریپت، HTML، CSS، JSON و XML. چهار فاصله برای پایتون، جاوا، C، C++ و C#.

چرا کد من پس از قالب‌بندی تقریباً همان شکل قبلی را دارد؟ اگر ورودی از قبل فاصله‌گذاری یکنواخت و یک سبک مشخص برای براکت‌ها داشته باشد، قالب‌بندی‌کننده عمدتاً تورفتگی را بازسازی می‌کند؛ بنابراین تغییر ممکن است اندک باشد. این ابزار برای کدی که تورفتگی ترکیبی دارد یا در تعداد بسیار کمی خط فشرده شده است، بیشترین کاربرد را دارد.