Terminal: وضع العبور ConPTY

تم إنشاؤها على ١٦ يوليو ٢٠١٩  ·  3تعليقات  ·  مصدر: microsoft/terminal

لقد ناقشت هذا عدة مرات في مواضيع مختلفة من قبل ، لكنني أعتقد أنني لم أقم أبدًا بمشكلة حقيقية لها.

تتمثل فكرة وضع العبور الفارغ في أن تطبيق عميل سطر الأوامر الذي _ يعرف _ سيستخدم فقط تسلسلات VT (و __ لا__ API) لتعديل وحدة التحكم يمكنه تعيين وضع خاص ، ENABLE_PASSTHROUGH_MODE . إذا كان فارغًا نشطًا ، فستقوم وحدة التحكم عندئذٍ _ بإيقاف_ تقديم نفسها على أنها فارغة ، وأي شيء تمت كتابته إلى وحدة التحكم سينتقل مباشرةً إلى الجهاز الطرفي.

  • سيعمل هذا بشكل جيد بشكل خاص لشيء مثل wsl ، حيث سيتحدث VT فقط.
  • لن يعمل مع cmd.exe ، بسبب اعتماد cmd.exe الثقيل على API.
  • يحتاج Windows Powershell مرة أخرى إلى واجهة برمجة التطبيقات بشكل كبير جدًا ، ولكن ربما يمكن لـ Powershell Core ، وهو نظام متعدد المنصات ، الاستفادة منه.

هذا له بعض الحواف الخشنة التي تحتاج إلى الفرز.

  • [] ماذا يحدث عند خروج التطبيق وإيقاف وضع العبور؟ لن تكون المخازن المؤقتة الطرفية و Conpty متكافئة بعد الآن!

    • لقد كنت أتلاعب بفكرة إفراغ كلٍّ من التسلسل ، ومعالجتهما بنفسه أيضًا ، بحيث يظل الطرفان والفارغان متزامنين.

  • [] ماذا يحدث عندما يحاول شخص ما الاتصال بواجهة برمجة تطبيقات وحدة التحكم في وضع العبور؟

    • أنا أفكر في أننا نتسبب فقط في فشلهم. كل ذلك يحفظ مقابل Get/SetConsoleMode وقراءة الإدخال / الإخراج الكتابي.

    • ربما نحتاج أيضًا إلى التمكن من قراءة أحداث تغيير الحجم.

هذا يحتاج إلى مواصفات حقيقية مكتوبة ، ولكن ربما يحتاج إلى عمل نماذج أولية قبل ذلك.

Area-Server Issue-Feature Needs-Triage Product-Conpty Resolution-Duplicate

التعليق الأكثر فائدة

_ يا إلهي ، لقد قدمت خدعة ، يمكنك المضي قدمًا والرسم والرباع عني الآن_

ال 3 كومينتر

قد يكون هذا في الواقع # 1173؟

_ يا إلهي ، لقد قدمت خدعة ، يمكنك المضي قدمًا والرسم والرباع عني الآن_

mfw "ارسم وربعني الآن": 🤔😱

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات