محرر TypeScript تعاوني
اكتبوا TypeScript معًا في الوقت الفعلي باستخدام مؤشرات كتابة مشتركة، وتحققوا من صحته أو نسّقوه للجميع.
ملف القراءة
ما المقصود بتحرير الشيفرة البرمجية التعاوني؟
يتيح تحرير الشيفرة البرمجية التعاوني لعدة مطورين العمل على الشيفرة نفسها في الوقت ذاته، كلٌّ من متصفحه. وهو مفيد للبرمجة الثنائية، والمقابلات، والتعليم، وتصحيح أخطاء مقطع برمجي معًا، دون الحاجة إلى إعداد بيئة تطوير متكاملة مشتركة أو تبادل الملفات.
لضمان تطابق النسخ لدى الجميع، تُرسل التغييرات على هيئة تعديلات صغيرة بدلًا من إرسال الملفات كاملة، ويتولى خادم واحد تحديد ترتيب تطبيقها. وتُكيَّف التعديلات التي تُجرى في اللحظة نفسها بعضها مع بعض، بحيث تُحفَظ جميعها.
وصف الأداة
هذه الأداة محرر TypeScript مشترك مع تمييز للصياغة. افتحه وأرسل الرابط: سيحرر الجميع الشيفرة نفسها في الوقت الفعلي، ويرون مؤشرات الكتابة لدى بعضهم، ويمكنهم التحقق من الشيفرة أو تنسيقها للجميع بنقرة واحدة.
يتحقق التحقق من الصياغة باستخدام محلّل Babel وإضافة TypeScript الخاصة به، لذا يتعرف على تعليقات الأنواع والواجهات والأنواع العامة والتعدادات. أما التنسيق فيستخدم محلّل TypeScript الخاص بـ Prettier، ولا يستبدل في الشيفرة المنسقة سوى الأسطر التي تغيرت، لتبقى التعديلات التي يُدخلها الآخرون أثناء ذلك في مواضعها.
الميزات
- التحرير في الوقت الفعلي - تظهر تغييرات الجميع فورًا، وتُدمج التعديلات عندما يكتب الأشخاص في اللحظة نفسها
- المؤشرات والتحديدات - اعرف موضع كل شخص من خلال اللون الظاهر بجانب اسمه
- التحقق - يتحقق من صياغة TypeScript ويعرض الخطأ الأول مع رقم السطر والعمود
- التنسيق - يعيد تنسيق الشيفرة باستخدام Prettier لجميع الموجودين في الغرفة
- النسخ والتنزيل - احتفظ بنسخة من الشيفرة في ملف بامتداد .ts
آلية العمل
عند فتح الصفحة، تُنشئ غرفة على خادم المزامنة وتضع رابطها في شريط العناوين. ينضم كل من يفتح الرابط إلى الغرفة نفسها، ويرى المستند ذاته.
يُرسل كل تغيير إلى الخادم على هيئة وصف موجز لما تغير - الأحرف التي أُدرجت أو حُذفت ومواضعها - بدلًا من إرسال النص كاملًا. يرتب الخادم تغييرات الجميع في تسلسل واحد، وينقل التغيير الذي أُجري على نسخة أقدم ليتجاوز التغييرات التي سبقته، ثم يرسل النتيجة إلى الجميع. يظهر ما تكتبه أنت فورًا، وتُدمج التغييرات الواردة من الآخرين حوله، حتى لا يضيع ما يكتبه أحد عندما يعدل شخصان في اللحظة نفسها.
يُحفَظ المستند في ذاكرة الخادم فقط ما دامت الغرفة مفتوحة. إذا أعدت تحميل الصفحة، فستعود إلى الغرفة ويظهر النص كما كان؛ وعندما يغادر الجميع، تُحذف الغرفة ونصها.
القيود
- تستوعب الغرفة ما يصل إلى 20 شخصًا و100,000 حرف.
- لا يُحفَظ أي شيء بعد إغلاق الغرفة. نزّل النص قبل مغادرة آخر شخص.
- تُرفض التغييرات الكبيرة جدًا أو السريعة جدًا، مثل لصق المستند كاملًا مرات عديدة متتالية، ويُعاد تحميل نص الغرفة في المحرر.
- إذا فتحت رابط غرفة في أحد المحررات التعاونية الأخرى (مثل غرفة SQL في محرر JavaScript)، فستظهر رسالة «الغرفة غير موجودة»: فكل غرفة مخصصة للغة واحدة.
- يتحقق التحقق من الصياغة فقط، لا من الأنواع؛ لذا تجتاز الشيفرة التحقق حتى إن كان خطأ في النوع سيمنع تجميعها. ولا يتوفر دعم JSX (.tsx).