GitHub Project Powering Gistlyn.com - AC# GIST IDE لإنشاء وتشغيل ومشاركة مقتطفات C# القابلة للتنفيذ.
Gistlyn هي الأداة التعاونية النهائية لمحاولة الخروج واستكشاف مكتبات C# و .NET على Nuget من التثبيت الصفر - المتصفح الحديث. إنه مثالي للاستخدام كأداة مصاحبة لتجربة المكتبات أثناء التطوير أو أثناء التنقل من راحة iPad عن طريق الذهاب إلى Gistlyn.com.
العرض التجريبي المباشر: gistlyn.com
Gistlyn عبارة عن منصة مفتوحة حيث يتم استضافة جميع قصاصات C# والوثائق بالكامل في Github Gists التي تتيح لأي شخص إنشاء جبلات جديدة أو شوكة أو تحديث أو إعادة تسمية وإضافة ملفات جديدة إلى ملفات حالية - مما يوفر تجربة تأليف واجهة المستخدم الكاملة لمخاريط C# التي يتم حفظها مباشرةً إلى GISTS على Github. يمكنك بسهولة إنشاء نسخة من أي GIST أو شوكها عن طريق ضرب Ctrl+S والتي من شأنها أن تحفظ أي من التغييرات الخاصة بك على نسختك المعدلة.
يعرض Hello World Gist مثالًا على ما يلزم لتشغيله في Gistlyn ، أي مجرد جزء من رمز المصدر C# صالح في ملف main.cs :
//Variables in top scope can be inspected in preview inspector
var name = "World" ;
var greeting = $ "Hello, { name } !" ; سيقوم ضرب Ctrl+Enter (أو النقر فوق التشغيل) بتنفيذ التعليمات البرمجية الخاصة بك على خادم Gistlyn ، مما يعمل في سياق معزول حيث يمكن تفتيش كل من المتغيرات المحددة في نطاق المستوى الأعلى. يتضمن مفتش المعاينة أيضًا مُقيِّم تعبير يمكن استخدامه لتقييم تعبيرات C# مقابل جلسة الخادم المباشر:
بفضل تطبيقات سطح المكتب React Vs.Net ، تتوفر Gistlyn في مجموعة متنوعة من النكهات المختلفة:
تم نشره كطرف ويب ASP.NET على كل من Windows / .NET و Linux / Mono على:
يعد وجود إصدارات Windows و Linux من Gistlyn مفيدة عندما تريد اختبار ما إذا كانت الميزة لها نفس السلوك في كل من .NET و Mono. حيث يمكنك بعد الادخار إضافة/إزالة نطاق mono Sublain لتشغيل البرامج النصية الخاصة بك على أنظمة تشغيل مختلفة.
بالإضافة إلى تشغيل تطبيق ASP.NET على الويب ، يتوفر Gistlyn أيضًا كطرف مكتب Winforms الذي يستضيف ذاتيًا أو تطبيق Console OSX/Linux/Windows.
يتيح لك تشغيل Gistlyn على سطح المكتب الاستفادة من الموارد الكاملة لوحدة المعالجة المركزية الخاصة بك لأوقات البناء والاستجابة بشكل أسرع ، ومع تشغيلها محليًا ، ستكون قادرة على الوصول إلى RDBMs أو الخوادم والخدمات الأخرى المتوفرة من الشبكات المحلية.
يضيء Gistlyn في القدرة على التنقل بسرعة وتشغيل الكود ومعاينة النتائج بنظرة حيث يمكنك معاينة أنواع معقدة مع مجموعات معقدة متداخلة بتنسيق صديق للإنسان للتغذية المرتدة الفورية.
لإعطائك مثالًا ، إليك ما يعرضه مفتش المعاينة بعد تشغيل رمز بيانات اختبار Ormlite المرجعية C# أدناه:
//SELECT all artists including their Track references
var allArtists = db . LoadSelect < Artist > ( ) ;
allArtists . PrintDump ( ) ; // Dump to Console بعد تنفيذها ، يتم عرض جميع المتغيرات في مفتش المعاينة. ثم ينفذ النقر على allArtists في مُقيِّم التعبير ويعرض النتائج أدناه:
تعتبر طرق التمديد
T.PrintDump()وT.Dump()مثالية لإلقاء ورؤية نتائج أي متغير إلى وحدة التحكم بسرعة.
تحصل Gistlyn على الكثير من الفوائد الطبيعية من كونها IDE القائمة على الويب ، من الارتباط العميق إلى القدرة على التنقل بسرعة/إلى الأمام من خلال تاريخ المتصفح. كما أنه يوفر كل تغيير إلى localStorage الذي يعيد على الفور ، حتى تتمكن من إغلاق متصفحك في أي وقت وسيعيدك إعادة النظر في Gistlyn.com إلى نفس الحالة التي تركتها فيها. كما يتم حفظ مسودات كل جوهر تزورها أيضًا ، بحيث يمكنك أن تعمل بسعادة على العديد من المتغيرات دون أن تفقد أي تغييرات.
ميزة أخرى تستفيد من Gistlyn بشكل طبيعي من لقطات ...
تتيح لك Snapshots حفظ حالة العميل بأكملها لمساحة العمل الحالية (باستثناء معلومات تسجيل الدخول الخاصة بك) في عنوان URL الذي تم إنشاؤه يمكنك استخدامه للرجوع إلى الوراء في الوقت المناسب من عندما تم نقل اللقطة أو إرسالها إلى شخص آخر يمكنه رؤية ما تعمل عليه على الفور ، والذين سيكونون قادرين على مواصلة العمل من نفس المكان الذي يمكنك فيه.
مثل كل شيء آخر في Gistlyn ، فإن اللقطة هي مجرد مستند snapshot.json json من حالتك المسلسل المحفوظة لحساب المستخدم الخاص بك في github gist.
نظرًا لأن اللقطات يتم حفظها في GIST ، ستحتاج إلى تسجيل الدخول أولاً لتتمكن من أخذ لقطة. بعد مصادقةك باستخدام Github ، يمكنك النقر على أيقونة الكاميرا التي تظهر في تذييل لالتقاط لقطة:
سيؤدي ذلك إلى فتح مربع حوار Snapshot حيث يمكنك إدخال اسم اللقطة التي يتم ملؤها بشكل افتراضي تلقائيًا مع الطابع الزمني لموعد أخذ اللقطة:
النقر فوق حفظ Snapshot تسلسل لقطة تم التقاطها وحفظها snapshot.json . json في جوهر خاص جديد. Gistlyn ثم فقط إلحاق معرف GIST الذي تم إنشاؤه حديثًا إلى QueryString ?snapshot لقطاع عنوان URL الخاص بك: لقطة جديدة:
هناك طريقتان لتحميل لقطة ، إما عن طريق النقر على عنوان URL الذي تم إنشاؤه لبدء تشغيله في متصفح:
التي ستحمل جلسة gistlyn جديدة تم تهيئتها باستخدام اللقطة ، مع محتويات جميع ملفات العمل ، وحالة نافذة المعاينة ، وأي سجلات وحدة تحكم ، وما إلى ذلك:
البديل هو لصق معرف Gist في شريط URL الخاص بـ Gistlyn:
بالمناسبة ، يمكنك لصق معرف أي جوهر أو مجموعة أو لقطة في شريط عنوان URL
في مهمتنا لجعل Gistlyn أداة تعليمية مفيدة وتعاونية للغاية لاستكشاف أي مكتبة .NET ، تتضمن Gistlyn UX مبسطة لتحرير مجموعات مما يجعل من الأسهل من أي وقت مضى إنشاء "وثائق حية" والتي نعتقد أنها أفضل طريقة للتعرف على الكود من خلال التبديل عن طريق التبديل عن طريق التبديل عن طريق التبديل والتعبير عن البيئة في التطوير والتعبئة. عينة.
تجعل Gistlyn من السهل مشاركة مقتطفات C# مع الزملاء أو الإبلاغ عن مشكلة لمحامو المكتبات بعنوان URL أو معرف GIST المحفوظ الذي يمكن لأي شخص عرضه في متصفح في Gistlyn.com أو على إصدار سطح المكتب الخاص بهم من Gistlyn.
إليك مثال على ميزات تأليف المجموعة الجديدة في العمل:
أفضل شيء في مجموعات Gistlyn هو أنها مجرد github gist's مع وثيقة index.md . لذا ، إذا كنت قد قمت سابقًا بإنشاء وثائق في Github أو طرحت أسئلة في StackOverflow ، فأنت تعرف بالفعل كيفية إنشاء مجموعات GitHub.
جميع الوثائق داخل Gistlyn بما في ذلك هذا والصفحة الرئيسية هي مجموعات Gistlyn التي يمكن عرضها من خلال النقر على أيقونة رأس المجموعات :
يفتح رمز المجموعات مجموعة المنزل عن طريق إضافة معرف GIST الخاص به إلى سلسلة استعلام ?collection :
عند إضافة روابط في مجموعتك ?querystring وليس عنوان URL المطلق ، على سبيل المثال http://gistlyn.com?collection=... لذلك تعمل روابطك أيضًا في إصدارات سطح المكتب من Gistlyn والتي يتم تشغيلها بدلاً من ذلك من localhost:4000 .
يمكن إنشاء مجموعة في أي وقت من القائمة الرئيسية لـ Gistlyn:
سيؤدي ذلك إلى فتح مستند تخفيضات فارغ في محرر Markdown . اضغط على Ctrl+S لحفظ نسختك المعدلة إلى Github Gists. بعد الادخار ، سيتحول الشريط العلوي إلى اللون الأخضر للإشارة إلى أنك تشاهد أو تعديل أحد متذمراتك أو مجموعاتك:
بمجرد تحرير المستند ، يمكنك استخدام شريط أدوات Markdown للوصول بسرعة إلى ميزات تنسيق محددة مثل INSERT Link Icon:
الذي يفتح مربع حوار ارتباط إدراج وإنشاء وربط بسرعة إلى GIST أو مجموعة جديدة عن طريق تحديد GIST أو المجموعة الموجودة التي ترغب في استخدامها كقالب:
يتيح لك ذلك إنشاء العديد من gists متعددة c .cs باستخدام نسخة من packages.config GISTs الحالية.
يمكنك إضافة صور إلى المستند الخاص بك بالنقر فوق أيقونة إدراج صورة أدناه:
سيؤدي هذا إلى فتح مربع حوار إدراج صورة حيث يمكنك سحب صور متعددة لتحميلها على Imgur وتضمينها في المستند الخاص بك:
بعد انتهاء كل صورة من التحميل إلى Imgur ، سيتم تضمينها في المستند الخاص بك من موضع المؤشرات باستخدام تنسيق صورة Markdown أدناه:

نظرًا لأنك تقوم بتأليف وثيقة Markdown الخاصة بك ، يمكنك القفز بحرية بين Gists أو المجموعات المختلفة حيث تقوم Gistlyn تلقائيًا بحفظك من النوع حتى تتمكن من استخدام زر العودة للرجوع إلى مجموعتك الجديدة أثناء تركها دون فقدانه.
بعد التنقل بعيدًا عن صفحتك ، ستظهر أيقونات السهم الموضحة أدناه في الوسط للإشارة إلى ما تحريره على اليسار لم يعد يتطابق مع نفس الصفحة على اليمين:
استخدم رمز السهم العلوي الأيمن لتحميل الصفحة التي تقوم بتحريرها في نافذة المعاينة على اليمين لتحميل المعاينة في الوقت الفعلي لمستند Markdown الخاص بك.
استخدم أيقونة السهم الأيسر السفلي لتحميل المجموعة التي تشاهدها على اليمين في المحرر.
إذا كانت الارتباط يدويًا بالمواد الواضحة ، فإن المجموعات الأخرى واللقطات تستخدم التنسيقات التالية أدناه:
?gist={id}?collection={id}?snapshot={id}عندما ترى Gistlyn هذه الروابط ، فإنها تقوم بتحميلها في جلسة Gistlyn الحالية. تتم معالجة جميع الروابط الأخرى من قبل المتصفح الذي يتنقل إلى عنوان URL المحدد الذي يسبب تحميل صفحة كاملة. إذا كنت تربط موقعًا خارجيًا خارج Gistlyn ، فإننا نوصي بفتحه في نافذة متصفح جديدة باستخدام HTML بدلاً من روابط Markdown. على سبيل المثال:
<a target="_blank" href="http://example.org">name</a>
تعد المجموعات طريقة رائعة لإنشاء موارد تعليمية ودروس تعليمية لـ C# مما يتيح لك إنشاء خطوة خطوة بخطوة لشرح كيفية عمل شيء ما على اليمين مع توفير روابط لشظايا C# القابلة للتنفيذ التي يمكن للمستخدمين تجربتها واستكشافها مباشرة في محرر الرمز على اليسار.
يمكنك العثور على جميع مجموعات Gistlyn كموزعات تحت حساب Gistlyn Github. من خلال النظر في بعض مجموعات Gistlyn أدناه وينبغي أن توفر مصادر تخفيضها موردًا جيدًا لتعلم كيفية إنشاء مجموعات في تخفيض الطلبات:
بدلاً من إرسال روابط مع معرفات GIST التي لا تُنسى ، يمكنك أيضًا طلب أن يكون لديك عناوين URL أسهل للحصول على روابط إلى أي مجموعة Gistlyn من خلال ترك تعليق على الأسماء الودية GIST
حيث يتوفر أي رابط في GIST أعلاه لـ Gistlyn ، لذا بدلاً من نشر روابط إلى عنوان URL طويل ?collection={id}
أن مثل عنوان URL قصير ، يعيد التوجيه إلى عنوان URL المرتبط: http://gistlyn.com؟collection=991DB51E44674AD01D318B24CF0934
يولد دعم Gistlyn المتكامل لـ Add ServicEstack API واجهة برمجة تطبيقات مكتوبة لخدمات ServicEstack عن بُعد والتي يمكن استخدامها في أي من عملاء خدمة C# المكتوبة في Servicestack للاتصال بخدمات الويب وعرض نتائجهم - في غضون ثوان.
أسهل طريقة لاستخدام هذه الميزة هي إضافة BaseUrl لمثيل Servicestack عن بُعد إلى سلسلة استعلام ?AddServiceStackReference ، على سبيل المثال:
سيؤدي ذلك إلى فتح مربع الحوار مرجع ADD ServicEstack الذي يتحقق تلقائيًا إذا كان عنوان URL المحدد هو مثيل ServicEstack صالح:
ضرب Enter ثم:
JsonServiceClient مع baseurl الخاص بكGet() باستخدام طلب GET الأول DTO الذي يمكنه العثور عليهالذي ينتج عن techstacks.io:
using System . Linq ;
using ServiceStack ;
using ServiceStack . Text ;
var client = new JsonServiceClient ( "http://techstacks.io" ) ;
//Call techstacks.io APIs by sending typed Request DTO's
var response = client . Get ( new GetAllTechnologies { } ) ;
//response.PrintDump(); // Uncomment to Print Response to Console لذلك دون كتابة أي رمز ، يمكن للمستخدمين الضغط على Ctrl+Enter لتنفيذ Gist الذي تم إنشاؤه والذي يعيد Techstacks.io تفاصيل جميع التقنيات التي يحتفظ بها في قاعدة بياناتها التي تظهر في مفتش المعاينة. response.PrintDump(); سوف يتخلص أيضًا من محتويات response خدمات الويب إلى وحدة التحكم.
شيء واحد من المحتمل أن ترغب في القيام به هو تغيير الطلب الذي يتم استخدامه من خلال تحديده في سلسلة استعلام ?Request ، على سبيل المثال:
يمكنك أيضًا تعبير C# قبل التعبير وجعله autorun مع:
بعد ذلك ، ينتهي بنا المطاف برابط مباشر يمكن لأي شخص لديه متصفح حديث على سطح المكتب أو iPad النقر على الاتصال بالتقنية API الخاصة بـ Techstacks.io لمعرفة ماهية التكنولوجيا الأكثر شعبية ، في ثوانٍ.
على غرار كيفية إضافة ServiceStack Reference في معظم IDE الرئيسية ، يمكنك أيضًا إضافة الإشارة إلى GISTات الموجودة باستخدام قائمة سياق المحرر :
ثم بعد النقر فوق إضافة مرجع Gistlyn ، يضيف خدماتك عن بُعد المكتوبة إلى GIST الحالية باستخدام اسم الملف المحدد.
إذا كنت تضيف مرجعًا للخدمة إلى إصدار من ServicEstack قبل v4.0.62 ، فستحتاج إلى إزالة أي مساحات أسماء C# يدويًا لأنها غير مدعومة في البرمجة النصية Roslyn.
أحد الأشياء المثيرة للدهشة في Gistlyn هو أنها عديمة الجنسية تمامًا حيث تعمل دون أي نوع من استمرار DB الخلفي. يتم استمرار جميع الولاية على Github Gist أو في localStorage في متصفحك. لا يتم الاحتفاظ حتى جلسة Github المصادقة على الخادم حيث يتم تحويلها على الفور إلى ملف تعريف ارتباط JWT مشفرة يتم إرسالها مع كل طلب AJAX ، لذلك لن تفقد عمليات إعادة البناء (أو حتى إعادة بناء الخادم النظيفة) أيًا من عملك أو يجبرك على تسجيل الدخول مرة أخرى حتى تنتهي مميزات الرمز المميز JWT.
يوفر هذا Github Repo مثالًا جيدًا على تطبيق Servicestack المتوسط الحديث ، React + Typescript الذي يستفيد من عدد من ميزات Servicestack المختلفة: