Loading…

حول منسق Scala منسق كود Scala عبر الإنترنت

الصق كود Scala، اضغط "تنسيق" واحصل فورًا على مخرجات نظيفة ومتسقة بنمط scalafmt. مثالي للخدمات الخلفية وخطوط البيانات ومكتبات البرمجة الوظيفية والأمثلة التعليمية. لا حاجة لملفات إعدادات – مجرد تنسيق Scala حديث وجاهز للمراجعة وعمليات git.

لماذا تستخدم منسق Scala الخاص بنا

  • نسق كود Scala غير منظم أو غير محاذٍ فورًا
  • أصلح المسافات حول الأنواع والمعاملات والعوامل
  • وحد نمط الأقواس للفئات والكائنات والسمات والطرق
  • طبق لف الأسطر بنمط scalafmt للتعبيرات الطووسلاسل الطرق
  • يدعم ملفات `.scala` ونصوص `.sc` وملفات بناء `.sbt`
  • يتم تنسيق الكود عبر خلفية مؤمنة – غير مشترك أو مفهرس
  • واجهة محرر متجاوبة تعمل على اللابتوب، سطح المكتب، واللوحي

🛠️ كيفية تنسيق كود Scala عبر الإنترنت for scala-formatter

1

1. الصق أو حمّل كود Scala الخاص بك

📥 الصق كود Scala في المحرر أو اسحب وأفلت ملف `.scala` أو `.sc` أو `.sbt`. يطبق المحرر تلوين بناء جملة Scala لتتمكن من مسح كودك بسرعة.

2

2. انقر على "تنسيق"

⚙️ اضغط على زر **تنسيق**. يُرسل كودك عبر HTTPS إلى مُنسّق بنمط scalafmt يعيد تنظيم المسافات البيضاء، المسافات البادئة، وفواصل الأسطر دون تغيير الدلالات.

3

3. راجع النتيجة

🔍 قارن النسخة المنظّمة بالأصلية. يتم توحيد الأقواس، المسافات، والخطوط الفارغة بحيث يصبح هيكل كودك أسهل للمتابعة.

4

4. انسخ أو حمّل

📤 انسخ كود Scala المنسّق مرة أخرى إلى بيئة التطوير المتكاملة، أو حمّله كملف `.scala` جاهز للالتزام، مراجعة الكود، أو النشر.

المواصفات الفنية

سلوك التنسيق (بنمط Scalafmt)

يهدف المُنسّق إلى محاكاة اتفاقيات scalafmt الشائعة بحيث يبدو كودك مألوفًا في مشاريع Scala الحديثة.

الجانبالسلوكملاحظات
المسافات البادئة والأقواسمسافات بادئة متسقة لـ `class`، `object`، `trait`، `def`، `if`، `match`، و `for`يجعل تدفق التحكم المتداخل ومطابقة الأنماط أسهل للقراءة.
مسافات الأنواع والمعاملاتيوحّد المسافات حول النقطتين، الأسهم وقوائم المعاملاتعلى سبيل المثال: `def f(x: Int): String` بدلاً من `def f(x:Int):String`.
الاستيراد والحزميحافظ على هيكلة كتل الحزم والاستيراد وفصلها عن التعريفاتيحسّن التناسق والتنقل بين الملفات.
الخطوط الفارغةيوحّد الخطوط الفارغة حول التعريفات عالية المستوىيفصل الأقسام المنطقية مثل النماذج، الخدمات، والمساعدات.
عدم التغيير بالتكرارتشغيل التنسيق عدة مرات يعطي نفس النتيجةآمن لإعادة التنسيق بقدر ما تريد دون انحراف في النمط.

توافق إصدار سكالا

تم تصميم المُنسق لكل من تركيب سكالا 2 وسكالا 3.

الميزةالدعمملاحظات
سكالا 2.x✅ نعميعمل مع الأنماط الشائعة مثل الضمنيات، والكائنات المرافقة، وفهم الحلقات الكلاسيكي.
سكالا 3 (دوتي)✅ نعميفهم given/using، وطرق الامتداد، والتعدادات، وتركيبات سكالا 3 الأخرى.
ملفات بناء SBT✅ نعميُنسق ملفات `.sbt` المستخدمة في البناء وتعريفات التبعيات.

المدخلات المدعومة والحدود

مُحسَّن لملفات المشاريع الواقعية، وليس فقط المقاطع الصغيرة.

المعاملالحد / السلوكملاحظات
امتدادات الملفات.scala, .sc, .sbtملفات المصدر، والنصوص البرمجية، وتعريفات البناء.
أنواع MIMEtext/x-scalaمستخدم داخليًا لتلوين التركيب.
الحد الأقصى لحجم الإدخال≈ 2 ميجابايت من الكود المصدريالكود المُنشأ كبير الحجم يُنسق بشكل أفضل عبر scalafmt محلي.
الترميزيُوصى بـ UTF-8يجب تحويل المحتوى غير UTF-8 قبل التنسيق.

التنفيذ والسلامة

يتم إجراء التنسيق عبر خلفية خاصة ومؤمنة بدلاً من الخدمات العامة من طرف ثالث.

الجانبالسلوكملاحظات
النقلمكالمات HTTPS إلى واجهة برمجة تطبيقات تنسيق سكالايتم نقل كودك بأمان ولا يتم كشفه للعامة.
مهلة~25 ثانية لكل طلبيمنع وظائف التنسيق طويلة الأمد أو العالقة على المدخلات المرضية.
الدلالاتتحويلات التخطيط فقطالمُنسق يغير المسافات البيئة والتخطيط، وليس منطق برنامجك.

استخدم Scalafmt في سير عملك المحلي

للتحكم الكامل والتنسيق على مستوى المستودع، قم بتثبيت scalafmt ودمجه في خطوة البناء أو خط أنابيب التكامل المستمر:

عالمي (عبر sbt)

أضف scalafmt إلى مشروعك

addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.2")

يضيف إضافة sbt حتى تتمكن من تشغيل scalafmt من خلال shell sbt.

نسق جميع المصادر

sbt scalafmtAll

يُنسق جميع ملفات Scala و sbt في مشروعك باستخدام `.scalafmt.conf`.

تحقق من التنسيق في التكامل المستمر

sbt scalafmtCheckAll

يفشل البناء إذا لم تكن الملفات مُنسقة بشكل صحيح.

احفظ ملف `.scalafmt.conf` للحفاظ على فريقك وتكاملات التكامل المستمر والمحرر متوافقين على نفس نمط Scala.

حالات الاستخدام الشائعة

الخلفية وخدمات البرمجة الوظيفية

حافظ على اتساق قواعد التعليمات البرمجية الخلفية الكبيرة لـ Scala وقواعد البرمجة الوظيفية وسهولة مراجعتها.

  • توحيد النمط عبر مشاريع Akka أو ZIO أو Cats Effect أو Play.
  • تنظيف التعليمات البرمجية قبل فتح طلبات السحب أو مشاركة الأمثلة.
  • تطبيع التنسيق بعد إعادة الهيكلة الكبيرة أو هجرات المكتبات.
object A{def main(args:Array[String]){println("hi")}}
object A {
  def main(args: Array[String]): Unit = {
    println("hi")
  }
}

تعليم وتدريس Scala

ركز على المفاهيم الوظيفية والأنواع بدلاً من حروب المسافات.

  • التنسيق التلقائي لتسليمات الطلاب قبل مراجعة المنطق والأنماط.
  • عرض أمثلة قبل/بعد التنسيق عند تدريس نمط Scala.
  • إعداد مقاطع تعليمات برمجية نظيفة للشرائح والمستندات والمدونات.

نصوص البناء والأدوات

حافظ على نظافة ملفات بناء `.sbt` ونصوص Scala الصغيرة.

  • نسق إعدادات sbt وكتل التبعيات لتسهيل الصيانة.
  • نظف النصوص المساعدة المستخدمة للهجرات أو الأدوات الداخلية.

❓ Frequently Asked Questions

ما هو scalafmt وكيف يرتبط هذا الأداة به؟

Scalafmt هو مُنسق الكود القياسي لـ Scala. يهدف هذا المُنسق الإلكتروني إلى اتباع سلوك نمط scalafmt بحيث يكون التخطيط الذي تراه هنا قريبًا مما تحصل عليه عند تشغيل scalafmt أو sbt-scalafmt في مشروعك الخاص.

🔧هل يمكنني تخصيص جميع قواعد scalafmt هنا؟

يركز هذا الأداء على ملف شخصي معقول وذو رأي بدلاً من كشف كل خيارات scalafmt. للتحكم الكامل، أنشئ ملف `.scalafmt.conf` في مشروعك وشغّل scalafmt عبر sbt أو بيئة التطوير المتكاملة الخاصة بك.

🌐هل يدعم تركيب Scala 3؟

نعم. تم تصميم المُنسق للتعامل مع ميزات Scala 3 الحديثة مثل التعدادات، given/using، طرق التمديد، والمزيد، إلى جانب كود Scala 2 الكلاسيكي.

🔒هل يتم إرسال كود Scala الخاص بي إلى خادم عام؟

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

⚙️هل سيغير التنسيق طريقة عمل برنامج Scala الخاص بي؟

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

Pro Tips

Best Practice

احتفظ بملف `.scalafmt.conf` في مستودعك حتى يستخدم المحرر ونظام التكامل المستمر و`sbt scalafmt` نفس النمط.

Best Practice

قم بتشغيل commit مخصص "للتنسيق فقط" قبل إعادة الهيكلة حتى تركز الاختلافات اللاحقة على تغييرات الكود الحقيقية، وليس المسافات البيضاء.

Best Practice

استخدم عرض سطر أقصى ثابت عبر فريقك لتجنب الاختلافات المزعجة والأنماط المتضاربة.

Best Practice

عند التدريس، اعرض Scala غير المرتب أولاً، ثم النسخة المنسقة لتسليط الضوء على كيفية تحسين التخطيط للقراءة.

Additional Resources

Other Tools