الميزات الرئيسية لمنسق Swift
- **تنظيف بنقرة واحدة** للمسافة البادئة والتباعد والأقواس في كود Swift
- **حجم مسافة بادئة قابل للتعديل** عبر شريط تمرير *حجم المسافة البادئة* (1–8 مسافات)
- **تحكم في التفاف الأسعار / طول السطر** للحفاظ على التعبيرات الطويلة ضمن عرض العمود المفضل لديك
- يدعم ملفات المصدر القياسية `.swift` ومقتطفات الكود المنسوخة
- رائع لمشاريع **iOS وmacOS وwatchOS وtvOS وSwift جانب الخادم**
- يستخدم محركًا على نمط SwiftFormat خلف الكواليس لإخراج سويفت سليم
- تنسيق ثابت – تشغيله عدة مرات يحافظ على نفس الناتج
- لا يلزم حساب – فقط الصق، وقم بالتنسيق وانسخ النتيجة النظيفة
🛠️ كيفية استخدام منسق سويفت for swift-formatter
1. الصق أو ارفع كود السويفت الخاص بك
📥 الصق كود السويفت مباشرة في المحرر، أو اسحب وأفلت ملف `.swift`. الأداة مُحسنة لمصادر سويفت نمط Xcode المعتادة.
2. اضبط المسافة البادئة وطول السطر
📏 استخدم شريط **حجم المسافة البادئة** لاختيار عدد المسافات لكل مستوى مسافة بادئة، وضبط **الالتفاف / طول السطر** للتحكم في مكان لف الأسطر الطويلة (أو اضبطه على `0` لتعطيل التنسيق القائم على الالتفاف).
3. انقر على "تنسيق"
⚡ اضغط على زر **تنسيق** لتطبيق قواعد نمط SwiftFormat. يقوم المنسق بتوحيد المسافة البادئة، والمسافات حول `:` والعوامل، ويلف الأسطر الطويلة وفقًا لإعداداتك.
4. راجع وانسخ النتيجة
🔍 قارن بين النسخة الأصلية والمنسقة. عندما تكون راضيًا عن النتيجة، انسخ السويفت المنسق مرة أخرى إلى Xcode، أو ملعب سويفت، أو commit Git الخاص بك.
المواصفات الفنية
محرك التنسيق والأسلوب
تعكس الأداة اتفاقيات SwiftFormat الشائعة للحفاظ على قاعدة الكود متسقة عبر الملفات والمساهمين.
| الجانب | السلوك | ملاحظات |
|---|---|---|
| اللغة | سويفت | يعمل بشكل أفضل مع ملفات مصدر سويفت 5+. |
| المسافة البادئة | مسافات قابلة للتكوين لكل مستوى | يتم التحكم بها عبر خيار **حجم المسافة البادئة** (1–8). |
| لف الأسطر | عمود لف اختياري | يتم التحكم به عبر **الالتفاف / طول السطر** (0–120؛ `0` = لا لف). |
| المسافات البيضاء | موحدة حول `:` والعوامل | يحسن قابلية القراءة والاتساق عبر مراجعات الكود. |
| ناتج ثابت | نفس المدخل → نفس المخرج | آمن للتشغيل عدة مرات دون انحراف في التنسيق. |
المدخلات المدعومة والحدود
يركز على ملفات مصدر سويفت المستخدمة في مشاريع منصة Apple وسويفت من جانب الخادم.
| المعامل | القيمة / السلوك | ملاحظات |
|---|---|---|
| امتدادات الملفات | .swift | ملفات مصدر Swift قياسية. |
| أنواع MIME | text/x-swift | تُستخدم داخليًا للكشف في المحرر ومنطقة الإسقاط. |
| الحد الأقصى لحجم الإدخال | ≈ 2 ميجابايت من المصدر | من الأفضل تنسيق الملفات الكبيرة جدًا عبر SwiftFormat محليًا في CI. |
| امتداد الإخراج | .swift | يُفضل حفظ المحتوى المنسق كملف مصدر Swift. |
التحقق من الصحة والأخطاء
يتوقع المُنسق Swift صحيحًا نحويًا. إذا كان الإدخال غير مكتمل أو يحتوي على أخطاء نحوية كبيرة، فقد يفشل أو يعيد رسالة خطأ بدلاً من الإخراج المنسق.
بدائل سطر الأوامر مع SwiftFormat
هل تريد نفس النمط في Xcode أو CI أو خطافات pre-commit؟ استخدم SwiftFormat مباشرة:
macOS (Homebrew)
تثبيت SwiftFormat عبر Homebrew
brew install swiftformatيضيف واجهة سطر الأوامر `swiftformat` إلى نظامك.
تنسيق ملف Swift واحد
swiftformat MyViewController.swiftيعيد كتابة الملف في مكانه باستخدام قواعد SwiftFormat الافتراضية.
تنسيق مشروع Xcode بالكامل
swiftformat .يُنسق جميع ملفات `.swift` في الدليل الحالي بشكل متكرر.
التكوين على مستوى المشروع
استخدام تكوين مخصص
swiftformat . --config .swiftformatتطبيق قواعد محددة للفريق المخزنة في ملف تكوين `.swiftformat`.
التكامل مع Git pre-commit
swiftformat . && git commitتشغيل SwiftFormat قبل كل commit للحفاظ على نظافة الفرع الرئيسي.
حالات الاستخدام العملية لمُنسق Swift
تطوير تطبيقات iOS و macOS
احتفظ بكود UIKit وSwiftUI وCombine سهل القراءة ومتناسق عبر فروع الميزات.
- توحيد تنسيق وحدات التحكم في العرض ونماذج العرض والخدمات قبل مراجعة الكود.
- تنظيف كود Swift التجريبي أو النموذجي قبل نسخه إلى أهداف الإنتاج.
- محاذاة المسافات البادئة والتفاف التسلسلات الهرمية المعقدة لعرض SwiftUI.
struct ContentView: View {
var body: some View {
VStack {
Text("Hello")
Button("Tap me") {
print("Tapped")
}
}
}
}
Swift من جانب الخادم (Vapor، Hummingbird، إلخ)
اجعل معالجات API وكود التوجيه أسهل في المسح الضوئي والمراجعة.
- إعادة تنسيق المسارات وتصريحات الوسيط بحيث يسهل متابعة السلاسل المعقدة.
- تنظيف هياكل ترميز/فك ترميز JSON ذات قوائم الخصائص الطويلة.
- ضمان التفاف متناسق للمكالمات الطويلة لـ SQL أو عميل HTTP داخل كود Swift.
app.get("hello") { req async throws -> String in
"Hello, world!"
}
تعليم وتعلم Swift
أظهر للطلاب كيف يبدو Swift الاصطلاحي وقلل "ضغط النمط" في التمارين.
- توحيد كود Swift قبل مشاركة الأمثلة في الشرائح أو الوثائق.
- تنظيف تسليمات الطلاب للتركيز على المنطق بدلاً من المسافات والمسافات البادئة.
- إظهار كيف يحسن التنسيق الجيد إمكانية القراءة دون تغيير السلوك.
func fibonacci(_ n: Int) -> Int {
if n < 2 { return n }
return fibonacci(n - 1) + fibonacci(n - 2)
}
❓ Frequently Asked Questions
❓ماذا يغير منسق Swift هذا فعليًا؟
📏ماذا يجب أن أختار للتفاف الأسطر / طول السطر؟
🧹هل هذا بديل لـ SwiftLint؟
🔒هل من الآمن لصق كود Swift للإنتاج هنا؟
⚡هل يمكنني تشغيل هذا المنسق تلقائيًا في كل commit؟
Pro Tips
اتفق مع فريقك على **حجم المسافة البادئة** و**طول السطر/التفاف** الواحد، ثم عكس تلك القيم في هذه الأداة وفي إعدادات `.swiftformat` الخاصة بك.
شغّل المُنسِّق عند طلبات السحب للحفاظ على مراجعات الكود مركزة على المنطق والهندسة المعمارية بدلاً من النقاشات حول المسافات.
استخدم المُنسِّق على الكود المُولَّد بلغة Swift (مثل الأدوات المُولِّدة للكود) ليبدو نظيفًا مثل الكود المكتوب يدويًا.
اجمع هذا المُنسِّق مع خاصية "إعادة المسافة البادئة" في Xcode فقط للتعديلات المحلية السريعة؛ استخدم SwiftFormat في التكامل المستمر للحفاظ على نمط متسق حقًا.
Additional Resources
Other Tools
- محسن CSS
- محسن HTML
- محسن Javascript
- محسن PHP
- منتقي الألوان
- مستخرج Sprite
- فك تشفير Base64
- تشفير Base64
- منسق Csharp
- منسق CSV
- Dockerfile Formatter
- منسق Elm
- منسق ENV
- منسق Go
- منسق Graphql
- منسق Hcl
- منسق INI
- منسق JSON
- منسق Latex
- منسق Markdown
- منسق Objectivec
- Php Formatter
- منسق Proto
- منسق Python
- منسق Ruby
- منسق Rust
- منسق Scala
- منسق سكريبت Shell
- منسق SQL
- منسق SVG
- منسق TOML
- Typescript Formatter
- منسق XML
- منسق YAML
- منسق Yarn
- مختصر CSS
- Html Minifier
- Javascript Minifier
- مختصر JSON
- مصغر XML
- عارض رؤوس HTTP
- PDF إلى نص
- مختبر Regex
- مدقق ترتيب SERP
- بحث Whois