تخطي إلى المحتوى

منسق التعليمات البرمجية المجاني: تنسيق جافاسكريبت وبايثون وHTML والمزيد

قم بتنسيق التعليمات البرمجية الفوضوية على الفور مع المسافات البادئة والتباعد المناسب. يدعم 12+ لغة برمجية بما في ذلك جافاسكريبت وبايثون وHTML وCSS وجافا. يعمل عبر المتصفح، آمن، ومجاني. لا يتطلب تسجيل دخول.

منسق التعليمات البرمجية

قم بتنسيق التعليمات البرمجية بنقرة واحدة. اختر لغة، والصق التعليمات البرمجية الخاصة بك، واحصل عليها منسقة بشكل صحيح.

كيفية الاستخدام:

  1. اختر لغة البرمجة الخاصة بك من القائمة المنسدلة.
  2. الصق التعليمات البرمجية غير المنسقة في المنطقة المخصصة للإدخال.
  3. انقر على زر 'تنسيق التعليمات البرمجية'.
  4. انسخ النتيجة المنسقة من منطقة الإخراج.
حاسبة التحميل...
📚

التوثيق

ما هو منسّق الشيفرة؟

منسّق الشيفرة أداة تعيد كتابة الشيفرة المصدرية باستخدام مسافات بادئة وفواصل أسطر ومسافات متناسقة، من دون تغيير ما تفعله الشيفرة. يعمل منسّق الشيفرة هذا في متصفح ويب. وهو يدعم 12 لغة برمجة، منها JavaScript وPython وHTML وCSS.

كيف يعمل منسّق الشيفرة هذا

تستخدم الأداة مجموعة قواعد مختلفة لكل لغة. ولا تبني أيٌّ منها شجرة تحليل كاملة للشيفرة، باستثناء JSON.

  • تُحلَّل JSON باستخدام محلّل JSON المضمّن في المتصفح، ثم تُعاد طباعتها بمسافة بادئة مقدارها مسافتان. إذا كانت JSON غير صالحة، تعرض الأداة خطأً ولا تعرض أي ناتج.
  • تشترك JavaScript وTypeScript وJava وC وC++ وC# في منسّق واحد. يفحص المنسّق الشيفرة حرفًا حرفًا، مع تتبّع الأقواس المعقوفة والأقواس العادية والفواصل المنقوطة. يبدأ كل { كتلة جديدة ذات مسافة بادئة، وينهي كل من } أو ; سطرًا. تُنسخ التعليقات والسلاسل النصية المقتبسة من دون تغيير. لا يضيف هذا المنسّق مسافات حول العوامل أو بعد الفواصل إذا لم تكن موجودة في الشيفرة الأصلية؛ بل يعيد بناء فواصل الأسطر والمسافات البادئة فقط.
  • يقرأ Python المسافة البادئة الموجودة في كل سطر، ثم يعيد بناءها باستخدام أربع مسافات لكل مستوى، وفق قواعد التداخل نفسها التي تستخدمها لغة Python. ولا يقسم الأسطر الطويلة أو يضيف أسطرًا فارغة أو مسافات حول العوامل؛ بل يوحّد عمق المسافة البادئة لكل سطر فقط.
  • يزيل CSS فواصل الأسطر والمسافات الزائدة، ثم يضيف فاصل سطر بعد كل من { و; وقبل كل }.
  • يضيف HTML وXML فاصل سطر ومسافتين بادئتين لكل مستوى من مستويات الوسوم المتداخلة، مع التعرّف على الوسوم القياسية ذاتية الإغلاق مثل <br> و<img> و<input>.
  • يحوّل SQL مجموعة ثابتة من الكلمات المفتاحية، مثل SELECT وFROM وWHERE وJOIN وORDER BY، إلى أحرف كبيرة، ويبدأ سطرًا جديدًا قبل كل جملة رئيسية.

بما أن مسار JSON وحده يحلّل الإدخال فعليًا، فإن أيًّا من المنسّقات الأخرى لا يكتشف أخطاء الصياغة، مثل قوس مفقود أو سلسلة نصية غير مغلقة. فهي تعيد تنسيق أي نص يُعطى لها، حتى إذا كان لن يعمل.

اللغات المدعومة

اللغةامتداد الملف المعتادعرض المسافة البادئة
JavaScript.js2 مسافتان
TypeScript.ts2 مسافتان
HTML.html2 مسافتان
CSS.css2 مسافتان
Python.py4 مسافات
Java.java4 مسافات
C.c4 مسافات
C++.cpp4 مسافات
C#.cs4 مسافات
SQL.sqlفواصل أسطر حسب الجملة
JSON.json2 مسافتان
XML.xml2 مسافتان

كيفية تنسيق الشيفرة

  1. اختر لغة برمجة من القائمة المنسدلة.
  2. الصق الشيفرة غير المنسّقة في مربع الإدخال.
  3. اختر «تنسيق الشيفرة».
  4. انسخ النتيجة المنسّقة من مربع الإخراج.

يحدث التنسيق بالكامل داخل المتصفح. ولا تُرسل الشيفرة مطلقًا إلى خادم.

مثال على تنسيق JavaScript

قبل التنسيق:

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 كما وجدها تمامًا، لأنها كانت موجودة أصلًا.

مثال على تنسيق Python

قبل التنسيق:

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 8، وهو دليل الأسلوب الرسمي للغة Python. وأبقى كل سطر بالترتيب نفسه ولم يغيّر المسافات داخل الأسطر.

لماذا يهم تنسيق الشيفرة

تجعل المسافة البادئة غير المتسقة من الصعب رؤية موضع انتهاء دالة أو حلقة أو شرط. وغالبًا ما تنتهي الشيفرة التي عدّلها عدة أشخاص بمزيج من المسافات البادئة بعلامات الجدولة والمسافات، أو بأسطر لا تصطف مع الكتلة التي تنتمي إليها. ويمنح تمريرها عبر منسّق كل ملف البنية المرئية نفسها، مما يسرّع فحصها ويسهّل اكتشاف قوس في موضع غير صحيح.

القيود

  • حجم الإدخال: تقبل الأداة ما يصل إلى 50,000 محرفًا من الشيفرة. ويُرفض الإدخال الأطول مع رسالة خطأ قبل بدء التنسيق.
  • لا يوجد فحص للصياغة في معظم اللغات: لا تُحلَّل المدخلات ولا تُتحقَّق صحتها إلا لمدخلات JSON. أما الشيفرة في اللغات 11 الأخرى فأعيد تنسيقها كما هي، حتى إذا كان فيها قوس مفقود أو سلسلة نصية غير مغلقة. وقد يكون الناتج في هذه الحالة ذا مسافات بادئة غير صحيحة بدلًا من الإبلاغ عن خطأ.
  • لا تغييرات في المسافات حول العوامل: تعيد منسّقات JavaScript وTypeScript واللغات المنحدرة من C ترتيب فواصل الأسطر والمسافات البادئة فقط. ولا تُدخل مسافة حول + أو = أو !==، ولا بعد فاصلة إذا لم تكن موجودة أصلًا.
  • PHP غير مدعومة: يؤدي اختيار لغة غير مدعومة إلى إعادة الشيفرة من دون تغيير.

الأسئلة الشائعة

هل تتحقق هذه الأداة من وجود أخطاء في صياغة الشيفرة؟ في JSON فقط. تُحلَّل مدخلات JSON، ولذلك ينتج عن JSON غير الصالحة رسالة خطأ. أما الشيفرة في اللغات المدعومة الأخرى فأعيد تنسيقها من دون التحقق من صحة صياغتها.

هل ترسل الشيفرة إلى خادم؟ لا. يجري التنسيق بالكامل في المتصفح باستخدام JavaScript. ولا تُرفع الشيفرة أو تُخزَّن في أي مكان.

ما الحد الأقصى لكمية الشيفرة التي يمكن تنسيقها؟ 50,000 محرف. ويؤدي لصق كمية أكبر من ذلك إلى ظهور خطأ قبل بدء التنسيق.

هل ستضيف مسافات مفقودة حول العوامل أو بعد الفواصل؟ لا، وذلك في JavaScript وTypeScript وJava وC وC++ وC#. تعيد هذه المنسّقات بناء المسافات البادئة وفواصل الأسطر حول الأقواس المعقوفة والفواصل المنقوطة فقط؛ وتنسخ بقية كل سطر كما كُتب.

ما المسافة البادئة التي تستخدمها؟ مسافتان في JavaScript وTypeScript وHTML وCSS وJSON وXML. وأربع مسافات في Python وJava وC وC++ وC#.

لماذا تبدو شيفرتي متشابهة تقريبًا بعد التنسيق؟ إذا كان الإدخال يستخدم أصلًا مسافات متسقة وأسلوبًا واحدًا للأقواس، فإن المنسّق يعيد بناء المسافات البادئة أساسًا، ولذلك قد يكون التغيير طفيفًا. وتظهر فائدته الأكبر في الشيفرة ذات المسافات البادئة المختلطة أو الشيفرة التي صُغّرت إلى عدد قليل جدًا من الأسطر.