GitHub Project Powering Gistlyn.com - AC# Gist IDE สำหรับการสร้างการทำงานและการแบ่งปันตัวอย่าง C# แบบสแตนด์อโลน
Gistlyn เป็นเครื่องมือการทำงานร่วมกันที่ดีที่สุดสำหรับการลองและสำรวจไลบรารี C# และ. NET บน NuGet จากการติดตั้งศูนย์ - เบราว์เซอร์ที่ทันสมัย เหมาะอย่างยิ่งสำหรับการใช้เป็นเครื่องมือในการทดลองใช้ห้องสมุดในระหว่างการพัฒนาหรือระหว่างการเดินทางจากความสะดวกสบายของ iPad ของคุณโดยไปที่ gistlyn.com
การสาธิตสด: gistlyn.com
Gistlyn เป็น แพลตฟอร์มแบบเปิด ที่ตัวอย่างและเอกสารทั้งหมดของ C# ถูกโฮสต์ทั้งหมดใน GitHub Gists ที่ให้ทุกคนสร้าง C# Gists ใหม่หรือส้อมอัปเดตหรือเปลี่ยนชื่อและเพิ่มไฟล์ใหม่ให้กับไฟล์ที่มีอยู่ - มอบประสบการณ์การเขียน UI ที่สมบูรณ์สำหรับตัวอย่าง C# ของคุณ คุณสามารถสร้างหรือแยกสำเนาของ GIST ใด ๆ ได้อย่างง่ายดายโดยกด Ctrl+S ซึ่งจะบันทึกการเปลี่ยนแปลงใด ๆ ของคุณในสำเนาที่แก้ไขของคุณ
The Hello World Gist แสดงตัวอย่าง C# น้อยที่สุดของสิ่งที่ใช้ในการทำงานใน 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 กับเทมเพลต NET Gistlyn มีให้เลือกหลากหลายรสชาติ:
ปรับใช้เป็นแอปพลิเคชันเว็บ ASP.NET บนทั้ง Windows / .NET และ Linux / Mono Servers ที่:
การมีทั้ง Windows และ Linux เวอร์ชันของ Gistlyn นั้นมีประโยชน์เมื่อคุณต้องการทดสอบว่าคุณสมบัติมีพฤติกรรมเดียวกันทั้งใน. NET และ Mono หรือไม่ ที่หลังจากบันทึกแล้วคุณสามารถเพิ่ม/ลบโดเมนย่อย mono เพื่อเรียกใช้สคริปต์ของคุณในระบบปฏิบัติการที่แตกต่างกัน
นอกเหนือจากการรันเป็นแอป ASP.NET Web App แล้ว Gistlyn ยังมีให้บริการในฐานะเดสก์ท็อป Winforms ที่โฮสต์ด้วยตนเองหรือแอพคอนโซล OSX/Linux/Windows Cross-Platform
การใช้งาน Gistlyn บนเดสก์ท็อปของคุณช่วยให้คุณใช้ประโยชน์จากทรัพยากรเต็มรูปแบบของ CPU ของคุณสำหรับการสร้างและเวลาตอบสนองที่เร็วขึ้นและในขณะที่พวกเขาทำงานในพื้นที่พวกเขาจะสามารถเข้าถึง 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 จะนำคุณกลับไปยังสถานะเดียวกันกับที่คุณทิ้งไว้ ร่างของ GIST ทุกอย่างที่คุณเยี่ยมชมจะได้รับการบันทึกไว้ด้วยดังนั้นคุณจึงสามารถทำงานกับ GISTs หลาย ๆ อย่างได้อย่างมีความสุขโดยไม่สูญเสียการเปลี่ยนแปลงใด ๆ
คุณสมบัติอีกอย่างของ Gistlyn ได้รับประโยชน์จากคือสแน็ปช็อต ...
สแน็ปช็อตช่วยให้คุณบันทึก สถานะไคลเอนต์ทั้งหมด ของพื้นที่ทำงานปัจจุบันของคุณ (ไม่รวมข้อมูลการเข้าสู่ระบบของคุณ) ลงใน URL ที่สร้างขึ้นซึ่งคุณสามารถใช้เพื่อย้อนกลับย้อนเวลากลับไปเมื่อสแน็ปช็อตถูกนำหรือส่งไปยังคนอื่นที่สามารถเห็นและเรียกใช้สิ่งที่คุณกำลังทำงานอยู่
เช่นเดียวกับทุกสิ่งทุกอย่างใน Gistlyn ภาพรวมเป็นเพียงเอกสาร snapshot.json ของสถานะอนุกรมของคุณที่บันทึกไว้ในบัญชีผู้ใช้ของคุณในส่วนสำคัญของ GitHub
เนื่องจากสแน็ปช็อตถูกบันทึกไว้ในส่วนต่างๆของคุณคุณจะต้องลงชื่อเข้าใช้ก่อนเพื่อให้สามารถถ่ายภาพรวมได้ หลังจากคุณได้รับการรับรองความถูกต้องด้วย GitHub คุณสามารถคลิกที่ไอคอนกล้องที่ปรากฏในส่วนท้ายเพื่อถ่ายภาพรวม:
สิ่งนี้จะเปิดกล่องโต้ตอบ Snapshot ซึ่งคุณสามารถป้อนชื่อของสแน็ปช็อตซึ่งโดยค่าเริ่มต้นจะถูกเติมโดยอัตโนมัติด้วยการประทับเวลาของเมื่อถ่ายภาพสแน็ปช็อต:
การคลิก บันทึกสแน็ปช็อต ทำให้สแน็ปช็อตที่จับได้ของคุณเป็นอนุกรมของคุณและบันทึกเป็นเอกสาร snapshot.json ในส่วนสำคัญส่วนตัวใหม่ จากนั้น Gistlyn ก็ต่อท้าย ID ของ GIST ที่สร้างขึ้นใหม่เข้ากับ ?snapshot QueryString เพื่อสร้าง URL สำหรับสแนปชอตใหม่ของคุณ:
มี 2 วิธีในการโหลดสแน็ปช็อตไม่ว่าจะโดยคลิกที่ URL ที่สร้างขึ้นเพื่อเปิดใช้งานในเบราว์เซอร์:
ซึ่งจะโหลดเซสชัน Gistlyn ใหม่ที่เริ่มต้นด้วยสแน็ปช็อตพร้อมเนื้อหาของไฟล์ที่ทำงานทั้งหมดสถานะของหน้าต่างแสดงตัวอย่างบันทึกคอนโซลใด ๆ ฯลฯ :
ทางเลือกคือการวาง รหัส ของส่วนสำคัญลงใน URL ของ Gistlyn:
อนึ่งคุณสามารถวาง รหัส ของ c# gist คอลเลกชันหรือสแน็ปช็อตใด ๆ ในแถบ URL
ในภารกิจของเราที่จะทำให้ Gistlyn เป็นเครื่องมือการเรียนรู้ที่มีประโยชน์และทำงานร่วมกันอย่างมากสำหรับการสำรวจห้องสมุด. NET ใด ๆ Gistlyn รวม UX ที่มีความคล่องตัวสำหรับการแก้ไขคอลเลกชันทำให้ง่ายขึ้นกว่าที่เคยสร้าง "เอกสารสด" ซึ่งเราเชื่อว่าเป็นวิธีที่ดีที่สุด
Gistlyn ทำให้ง่ายต่อการแบ่งปันตัวอย่าง C# กับเพื่อนร่วมงานหรือรายงานปัญหาให้กับผู้ดูแลห้องสมุดด้วย URL หรือ ID GIST ที่บันทึกไว้ซึ่งทุกคนสามารถดูได้ในเบราว์เซอร์ที่ Gistlyn.com หรือบน Gistlyn เวอร์ชันเดสก์ท็อป
นี่คือตัวอย่างของคุณสมบัติการเขียนคอลเลกชันใหม่ที่ดำเนินการ:
สิ่งที่ดีที่สุดเกี่ยวกับคอลเล็กชั่น Gistlyn คือพวกเขาเป็นเพียงแค่ GitHub GIST ของ GITHUB ที่มีเอกสาร MARKDOWN index.md เดียว ดังนั้นหากคุณเคยสร้างเอกสารใน GitHub หรือถามคำถามใน StackoverFlow คุณรู้วิธีสร้างคอลเลกชัน GitHub แล้ว
เอกสารทั้งหมดภายใน Gistlyn รวมถึงสิ่งนี้และหน้าแรกเป็นคอลเลกชัน Gistlyn ซึ่งสามารถดูได้โดยคลิกที่ไอคอนส่วนหัว คอลเลกชัน :
ไอคอนคอ ลเลกชัน เปิดคอลเลกชันบ้านโดยการเพิ่ม ID GIST ลงในสตริงคิวรีคอลเลก ?collection :
เมื่อเพิ่มลิงก์ในคอลเลกชันของคุณคุณควรรวมเฉพาะส่วน ?querystring และไม่ใช่ URL สัมบูรณ์เช่น http://gistlyn.com?collection=... ดังนั้นลิงก์ของคุณจึงทำงานใน Gistlyn เวอร์ชันเดสก์ท็อปซึ่งวิ่งจาก localhost:4000
การสร้างคอลเลกชันสามารถทำได้ตลอดเวลาจากเมนูหลักของ Gistlyn:
สิ่งนี้จะเปิดเอกสาร Markdown ที่ว่างเปล่าลงใน ตัวแก้ไข Markdown กด Ctrl+S เพื่อบันทึกสำเนาที่แก้ไขของคุณไปยัง GitHub Gists ของคุณ หลังจากบันทึกแถบด้านบนจะเปลี่ยนเป็น สีเขียว เพื่อระบุว่าคุณกำลังดูหรือแก้ไขหนึ่งใน GISTS หรือคอลเลกชันของคุณเอง:
เมื่อแก้ไขเอกสารแล้วคุณสามารถใช้ แถบเครื่องมือ Markdown เพื่อเข้าถึงคุณสมบัติการจัดรูปแบบ markdown อย่างรวดเร็วเช่นไอคอน ลิงก์แทรก :
ซึ่งเปิดกล่องโต้ตอบแทรกลิงค์และสร้างและเชื่อมโยงไปยัง GIST หรือคอลเลกชันใหม่ได้อย่างรวดเร็วโดยเลือก GIST หรือคอลเลกชันที่มีอยู่ที่คุณต้องการใช้เป็นเทมเพลต:
สิ่งนี้จะช่วยให้คุณสร้าง Gists C# หลายตัวได้อย่างรวดเร็วโดยใช้สำเนาของ packages.config GISTS ที่มีอยู่ config และสนับสนุนไฟล์ต้นฉบับ .cs ซึ่งช่วยลดความพยายามในการสร้างตัวอย่าง C# หลายตัว
คุณสามารถเพิ่มรูปภาพลงในเอกสารของคุณได้โดยคลิกที่ไอคอน INSERT Image ด้านล่าง:
สิ่งนี้จะเปิดกล่องโต้ตอบ INSERT IMAGE ซึ่งคุณสามารถลากหลายภาพเพื่ออัปโหลดไปยัง Imgur และฝังไว้ในเอกสารของคุณ:
หลังจากที่ภาพแต่ละภาพอัปโหลดไปยัง IMGUR เสร็จแล้วมันจะถูกฝังอยู่ในเอกสารของคุณจากตำแหน่งเคอร์เซอร์ของคุณโดยใช้รูปแบบภาพ Markdown ด้านล่าง:

ในขณะที่คุณกำลังเขียนเอกสาร Markdown ของคุณคุณสามารถกระโดดได้อย่างอิสระระหว่าง Gists หรือ Collections ที่แตกต่างกันเนื่องจาก Gistlyn บันทึกโดยอัตโนมัติเป็นประเภทของคุณเพื่อให้คุณสามารถใช้ปุ่ม ย้อนกลับ เพื่อข้ามไปยังคอลเลกชันใหม่ของคุณเมื่อคุณทิ้งไว้โดยไม่พลาดจังหวะ
หลังจากนำทางออกไปจากหน้าของคุณไอคอนลูกศรที่แสดงด้านล่างจะปรากฏขึ้นตรงกลางเพื่อระบุสิ่งที่คุณแก้ไขทางด้านซ้ายไม่ตรงกับหน้าเดียวกันทางด้านขวาอีกต่อไป:
ใช้ไอคอน ลูกศรขวา บนเพื่อโหลดหน้าเว็บที่คุณแก้ไขในหน้าต่างตัวอย่างทางด้านขวาเพื่อโหลดตัวอย่างแบบเรียลไทม์ของเอกสาร Markdown ของคุณ
ใช้ไอคอน ลูกศรซ้าย ล่างเพื่อโหลดคอลเลกชันที่คุณกำลังดูอยู่ทางด้านขวาในตัวแก้ไข
หากเชื่อมโยงไปยัง GISTs ด้วยตนเองคอลเลกชันและสแน็ปช็อตอื่น ๆ จะใช้รูปแบบต่อไปนี้ด้านล่าง:
?gist={id}?collection={id}?snapshot={id}เมื่อ Gistlyn เห็นลิงก์เหล่านี้จะโหลดเข้าสู่เซสชัน Gistlyn ปัจจุบันของคุณ ลิงก์อื่น ๆ ทั้งหมดได้รับการจัดการโดยเบราว์เซอร์ซึ่งนำทางไปยัง URL ที่ระบุซึ่งทำให้โหลดหน้าเต็ม หากคุณกำลังเชื่อมโยงไปยังไซต์ภายนอกด้านนอกของ Gistlyn เราขอแนะนำให้เปิดในหน้าต่างเบราว์เซอร์ใหม่โดยใช้ HTML แทนลิงก์ Markdown เช่น:
<a target="_blank" href="http://example.org">name</a>
คอลเลกชันเป็นวิธีที่ยอดเยี่ยมในการสร้างทรัพยากรการเรียนรู้และแบบฝึกหัดสำหรับ C# ให้คุณสร้างการเดินผ่านทีละขั้นตอนเพื่ออธิบายว่ามีบางสิ่งที่ทำงานทางด้านขวาในขณะที่ให้ลิงก์ไปยังชิ้นส่วน C# ที่ใช้งานได้ซึ่งผู้ใช้สามารถลองและสำรวจสดในโปรแกรมแก้ไขรหัสทางด้านซ้าย
คุณสามารถค้นหาคอลเลกชันทั้งหมดของ Gistlyn ในฐานะ Gists ภายใต้บัญชี Gistlyn GitHub การดูคอลเล็กชั่น Gistlyn ด้านล่างและแหล่งมาร์เดอร์ของพวกเขาควรให้ทรัพยากรที่ดีสำหรับการเรียนรู้วิธีการสร้างคอลเลกชันใน Markdown:
แทนที่จะส่งลิงค์ด้วยรหัส Gist ที่ไม่น่าจดจำคุณสามารถขอให้จดจำ URL สำหรับลิงค์ไปยังคอลเลกชัน Gistlyn ได้ง่ายขึ้นโดยแสดงความคิดเห็นเกี่ยวกับชื่อที่เป็นมิตร
ลิงค์ใด ๆ ใน Gistlyn ที่มีอยู่ข้างต้นมีอยู่ที่ไหนดังนั้นแทนที่จะเผยแพร่ลิงก์ไปยัง URL ที่ยาว ?collection={id}
เช่นเดียวกับตัวย่อ URL เปลี่ยนเส้นทางไปยัง URL ที่เชื่อมโยง: http://gistlyn.com?collection=991DB51E44674AD01D3D318B24CF0934
การสนับสนุนแบบบูรณาการของ Gistlyn สำหรับการเพิ่มคุณสมบัติการอ้างอิง Servicestack สร้าง API ที่พิมพ์สำหรับบริการระยะไกล Servicestack ซึ่งสามารถใช้ในไคลเอนต์บริการ C# Service ที่พิมพ์ของ Servicestack ใด ๆ เพื่อเรียกบริการเว็บและดูผลลัพธ์ของพวกเขา - ภายในไม่กี่วินาที
วิธีที่ง่ายที่สุดในการใช้คุณสมบัตินี้คือการเพิ่ม baseUrl สำหรับอินสแตนซ์ servicestack ระยะไกลของคุณไปยังสตริง ?AddServiceStackReference query เช่น::
สิ่งนี้จะเปิดกล่องโต้ตอบ 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 บริการเว็บต่อคอนโซล
สิ่งหนึ่งที่คุณอาจต้องการทำคือการเปลี่ยนแปลง คำขอ DTO ที่ใช้โดยระบุในสตริงการค้นหา ?Request เช่น:
นอกจากนี้คุณยังสามารถเติมเต็มการแสดงออกของ C# และให้ อัตโนมัติ ด้วย:
จากนั้นเราก็จบลงด้วยลิงก์ สด ที่ทุกคนที่มีเบราว์เซอร์ที่ทันสมัยบนเดสก์ท็อปหรือ iPad ของพวกเขาสามารถคลิกเพื่อโทรหา API สาธารณะของ TechStacks.io เพื่อค้นหาว่าเทคโนโลยีที่ได้รับความนิยมมากที่สุดคืออะไรในไม่กี่วินาที
เช่นเดียวกับวิธีเพิ่มการอ้างอิง servicestack ในส่วนใหญ่ของ IDE คุณยังสามารถเพิ่มการอ้างอิงไปยัง GIST ที่มีอยู่โดยใช้ เมนูบริบทของตัวแก้ไข :
จากนั้นหลังจากคลิก เพิ่มการอ้างอิง Gistlyn เพิ่มบริการระยะไกลของคุณพิมพ์ DTOs ลงใน GIST ที่มีอยู่ของคุณโดยใช้ ชื่อไฟล์ ที่ระบุ
หากคุณกำลังเพิ่มการอ้างอิงบริการไปยัง ServiceStack รุ่นก่อน v4.0.62 คุณจะต้องลบ Namespaces C# ใด ๆ ด้วยตนเองเนื่องจากไม่ได้รับการสนับสนุนในการเขียนสคริปต์ Roslyn
สิ่งหนึ่งที่น่าประหลาดใจเกี่ยวกับ Gistlyn คือมันไร้สัญชาติที่มันทำงานโดยไม่มีการคงอยู่ของ DB แบ็กเอนด์ใด ๆ ทุกรัฐจะคงอยู่กับ GitHub Gists หรือใน localStorage ของเบราว์เซอร์ของคุณ ไม่แม้แต่เซสชัน GitHub ที่ผ่านการรับรองความถูกต้องของคุณจะถูกเก็บไว้บนเซิร์ฟเวอร์เนื่องจากมันถูกแปลงเป็นคุกกี้ JWT ที่เข้ารหัสทันทีที่ส่งด้วยคำขอ AJAX ทุกครั้งดังนั้นการปรับใช้ใหม่ (หรือแม้แต่การสร้างเซิร์ฟเวอร์ที่สะอาด) จะไม่สูญเสียงานใด ๆ หรือบังคับให้คุณลงชื่อเข้าใช้อีกครั้ง
repo gitHub นี้ให้ตัวอย่างที่ดีของแอพ Servicestack ขนาดกลางที่ทันสมัย, React + TypeScript แอพที่ใช้ประโยชน์จากคุณสมบัติ ServicESTACK ที่แตกต่างกันจำนวนมาก: