Proyek GitHub Powering Gistlyn.com - AC# GIST IDE untuk membuat, menjalankan, dan berbagi stand -alone, cuplikan C# yang dapat dieksekusi.
Gistlyn adalah alat kolaboratif utama untuk mencoba dan menjelajahi perpustakaan C# dan .NET di Nuget dari nol instalasi - browser modern. Ini sangat ideal untuk digunakan sebagai alat pendamping untuk mencoba perpustakaan selama pengembangan atau saat bepergian dari kenyamanan iPad Anda dengan pergi ke gistlyn.com.
Demo Langsung: Gistlyn.com
Gistlyn adalah platform terbuka di mana semua cuplikan dan dokumentasi C# di -host sepenuhnya di Gistub Gists yang memungkinkan siapa pun membuat C# GIST baru atau garpu, memperbarui atau mengganti nama dan menambahkan file baru ke yang sudah ada - memberikan pengalaman penulisan UI lengkap untuk cuplikan C# Anda yang disimpan langsung ke inti Anda di github. Anda dapat dengan mudah membuat atau membayar salinan GIST apa pun dengan memukul Ctrl+S yang akan menyimpan salah satu perubahan Anda pada salinan yang dimodifikasi.
Hello World Gist menunjukkan contoh C# minimal dari apa yang diperlukan untuk dijalankan di Gistlyn, yaitu hanya fragmen kode C# Sumber yang valid dalam file main.cs :
//Variables in top scope can be inspected in preview inspector
var name = "World" ;
var greeting = $ "Hello, { name } !" ; Memukul Ctrl+Enter (atau mengklik Play) akan menjalankan kode Anda di server Gistlyn, berjalan dalam konteks yang terisolasi di mana masing-masing variabel yang ditentukan dalam ruang lingkup tingkat atas dapat diperiksa lebih lanjut. Inspektur Pratinjau juga menyertakan evaluator ekspresi yang dapat digunakan untuk mengevaluasi ekspresi C# terhadap sesi server langsung:
Berkat Aplikasi Desktop React Vs.Net Template Gistlyn tersedia dalam berbagai rasa yang berbeda:
Disarankan sebagai aplikasi web ASP.NET di server Windows / .net dan Linux / Mono di:
Memiliki versi Windows dan Linux dari Gistlyn berguna ketika Anda ingin menguji apakah suatu fitur memiliki perilaku yang sama di .NET dan Mono. Di mana setelah menyimpan Anda dapat menambahkan/menghapus subdomain mono untuk menjalankan skrip Anda pada sistem operasi yang berbeda.
Selain menjalankan sebagai aplikasi web ASP.NET, Gistlyn juga tersedia sebagai desktop WinForms yang menjadi tuan rumah atau aplikasi konsol OSX/Linux/Windows cross-platform.
Menjalankan Gistlyn di desktop Anda memungkinkan Anda memanfaatkan sumber daya penuh CPU Anda untuk waktu pembangunan dan respons yang lebih cepat dan karena mereka dijalankan secara lokal mereka akan dapat mengakses RDBM Anda atau server dan layanan jaringan lainnya yang tersedia dari intranet lokal Anda.
Gistlyn bersinar untuk dapat menavigasi dengan cepat, menjalankan kode dan pratinjau hasil sekilas di mana Anda dapat melihat pratinjau jenis kompleks dengan koleksi kompleks bersarang dalam format ramah manusia untuk umpan balik instan.
Untuk memberi Anda contoh, inilah yang ditunjukkan oleh pratinjau inspektur setelah menjalankan sampel data uji ormlite C# kode di bawah ini:
//SELECT all artists including their Track references
var allArtists = db . LoadSelect < Artist > ( ) ;
allArtists . PrintDump ( ) ; // Dump to Console Setelah dieksekusi, semua variabel ditampilkan di Pratinjau Inspektur. Kemudian mengklik allArtists mengeksekusinya di evaluator ekspresi dan menampilkan hasil di bawah ini:
Metode ekstensi
T.PrintDump()danT.Dump()sangat ideal untuk dumping dan dengan cepat melihat hasil variabel apa pun ke konsol.
Gistlyn mendapatkan banyak manfaat alami dari menjadi IDE berbasis web yang bereaksi, dari tautan mendalam hingga dapat dengan cepat menavigasi/maju kembali melalui riwayat browser Anda. Ini juga menghemat setiap perubahan pada localStorage Anda yang memulihkan secara instan, sehingga Anda dapat menutup browser kapan saja dan meninjau kembali Gistlyn.com akan membawa Anda kembali ke keadaan yang sama di mana Anda meninggalkannya. Draf dari setiap inti yang Anda kunjungi juga disimpan, sehingga Anda dapat dengan senang hati bekerja pada beberapa GIST tanpa kehilangan perubahan apa pun.
Fitur lain Gistlyn secara alami mendapat manfaat dari adalah snapshots ...
Snapshots memungkinkan Anda menyimpan seluruh keadaan klien ruang kerja Anda saat ini (tidak termasuk info login Anda) ke dalam URL yang dihasilkan yang dapat Anda gunakan untuk kembali ke masa lalu ketika snapshot diambil atau dikirim ke orang lain yang dapat langsung melihat dan menjalankan apa yang sedang Anda kerjakan, siapa yang akan dapat terus bekerja dari tempat yang sama seperti Anda.
Seperti yang lainnya di Gistlyn, snapshot hanyalah sebuah dokumen snapshot.json dari keadaan serial Anda yang disimpan ke akun pengguna Anda dalam inti gitub pribadi.
Saat snapshot disimpan ke GIST Anda, Anda harus masuk terlebih dahulu untuk dapat mengambil snapshot. Setelah Anda diautentikasi dengan GitHub, Anda dapat mengklik ikon kamera yang muncul di footer untuk mengambil snapshot:
Ini akan membuka dialog snapshot di mana Anda dapat memasukkan nama snapshot yang secara default secara otomatis diisi dengan cap waktu kapan snapshot diambil:
Mengklik Simpan Snapshot Serialisasi Snapshot yang Anda Tangkap dan simpan sebagai dokumen snapshot.json dalam inti pribadi baru. Gistlyn kemudian hanya menambahkan ID dari inti yang baru dibuat ke ?snapshot QueryString untuk membentuk URL untuk snapshot baru Anda:
Ada 2 cara untuk memuat snapshot, baik dengan mengklik URL yang dihasilkan untuk meluncurkannya di browser:
Yang akan memuat sesi Gistlyn baru yang diinisialisasi dengan snapshot, lengkap dengan konten semua file yang berfungsi, keadaan jendela pratinjau, log konsol apa pun, dll:
Alternatifnya adalah menempelkan ID dari intisari ke bilah url Gistlyn:
Kebetulan Anda dapat menempelkan ID dari c# inti, koleksi, atau snapshot di bar URL
Dalam misi kami untuk menjadikan Gistlyn sebagai alat pembelajaran yang sangat berguna dan kolaboratif untuk mengeksplorasi setiap perpustakaan .NET, Gistlyn mencakup UX yang ramping untuk mengedit koleksi yang membuatnya lebih mudah dari sebelumnya untuk membuat "dokumentasi langsung" yang kami yakini sebagai cara yang baru untuk belajar tentang perpustakaan, memadukan dokumentasi dan memberikan pengalaman pengembangan yang baru untuk mengulangi.
Gistlyn memudahkan untuk berbagi cuplikan C# dengan kolega atau melaporkan masalah kepada pemelihara perpustakaan hanya dengan URL atau ID GIST yang disimpan yang dapat dilihat siapa pun di browser di Gistlyn.com atau pada versi desktop mereka Gistlyn.
Berikut adalah contoh fitur penulis koleksi baru yang sedang beraksi:
Hal terbaik tentang koleksi Gistlyn adalah mereka hanya GIST GISTRUB dengan satu dokumen Markdown index.md . Jadi, jika Anda sebelumnya telah membuat dokumentasi di GitHub atau mengajukan pertanyaan di StackOverflow, Anda sudah tahu cara membuat koleksi GitHub.
Semua dokumentasi di Gistlyn termasuk ini dan beranda adalah koleksi Gistlyn yang dapat dilihat dengan mengklik ikon header koleksi :
Ikon Koleksi Membuka Koleksi Rumah Dengan Menambahkan ID ID -nya ke ?collection Kueri String:
Saat menambahkan tautan dalam koleksi Anda, Anda hanya harus memasukkan ?querystring porsi dan bukan URL absolut, misalnya http://gistlyn.com?collection=... jadi tautan Anda juga berfungsi dalam versi desktop Gistlyn yang sebaliknya dijalankan dari localhost:4000 .
Membuat koleksi dapat dilakukan kapan saja dari menu utama Gistlyn:
Ini akan membuka dokumen Markdown kosong ke editor Markdown . Tekan Ctrl+S untuk menyimpan salinan yang dimodifikasi ke Gistub Gists Anda. Setelah menabung, bilah atas akan berubah hijau untuk menunjukkan Anda melihat atau memodifikasi salah satu inti atau koleksi Anda sendiri:
Setelah mengedit dokumen, Anda dapat menggunakan Markdown Toolbar untuk dengan cepat mengakses fitur pemformatan spesifik markdown seperti ikon tautan insert :
Yang membuka dialog tautan insert dan dengan cepat membuat dan menautkan ke inti atau koleksi baru dengan memilih inti atau koleksi yang ingin Anda gunakan sebagai templat:
Ini memungkinkan Anda dengan cepat membuat beberapa C# GIST menggunakan salinan packages.config GIST yang ada. Config dan mendukung file sumber .cs , secara signifikan mengurangi upaya untuk membuat beberapa sampel C#.
Anda dapat menambahkan gambar ke dokumen Anda dengan mengklik ikon Sisipkan Gambar Di Bawah:
Ini akan membuka dialog Insert Image di mana Anda dapat menyeret beberapa gambar untuk mengunggahnya ke Imgur dan menyematkannya di dokumen Anda:
Setelah setiap gambar selesai mengunggah ke Imgur, itu akan tertanam dalam dokumen Anda dari posisi kursor Anda menggunakan format gambar Markdown di bawah ini:

Saat Anda menulis dokumen Markdown Anda, Anda dapat dengan bebas melompat antara GIST atau koleksi yang berbeda karena Gistlyn secara otomatis menghemat jenis-Anda sehingga Anda dapat menggunakan tombol Kembali untuk melompat kembali ke koleksi baru Anda saat Anda meninggalkannya tanpa kehilangan ketukan.
Setelah menavigasi dari halaman Anda, ikon panah yang ditunjukkan di bawah ini akan muncul di tengah untuk menunjukkan apa yang Anda edit di sebelah kiri tidak lagi cocok dengan halaman yang sama di sebelah kanan:
Gunakan ikon panah kanan atas untuk memuat halaman yang Anda edit di jendela Pratinjau di sebelah kanan untuk memuat pratinjau waktu nyata dari dokumen penurunan harga Anda.
Gunakan ikon panah kiri bawah untuk memuat koleksi yang Anda lihat di sebelah kanan di editor.
Jika menghubungkan secara manual ke GIST, koleksi dan snapshot lain menggunakan format berikut di bawah ini:
?gist={id}?collection={id}?snapshot={id}Ketika Gistlyn melihat tautan ini memuatnya ke dalam sesi Gistlyn Anda saat ini. Semua tautan lain ditangani oleh browser yang menavigasi ke URL yang ditentukan menyebabkan beban halaman penuh. Jika Anda menautkan ke situs eksternal di luar Gistlyn, kami sarankan membukanya di jendela browser baru dengan menggunakan HTML alih -alih tautan penurunan harga. misalnya:
<a target="_blank" href="http://example.org">name</a>
Koleksi adalah cara yang bagus untuk membuat sumber belajar dan tutorial untuk C# membiarkan Anda membuat walk-through langkah demi langkah menjelaskan bagaimana sesuatu bekerja di sebelah kanan sambil memberikan tautan ke fragmen C# yang dapat dieksekusi yang dapat dicoba dan dijelajahi pengguna secara langsung di editor kode di sebelah kiri.
Anda dapat menemukan semua koleksi Gistlyn sebagai GIST di bawah akun Gistlyn Github. Melihat melalui beberapa koleksi Gistlyn di bawah ini dan sumber penurunan harga mereka harus menyediakan sumber daya yang baik untuk mempelajari cara membuat koleksi di Markdown:
Alih -alih mengirim tautan dengan ID GIST yang tidak dapat diabaikan, Anda juga dapat meminta agar lebih mudah diingat URL untuk tautan ke koleksi Gistlyn apa pun dengan meninggalkan komentar pada GIST Nama yang ramah
Di mana ada tautan dalam inti di atas yang tersedia untuk Gistlyn, jadi alih -alih menerbitkan tautan ke Long ?collection={id} url, Anda dapat menggunakan nama yang lebih pendek dan lebih mudah untuk diingat sebagai gantinya, misalnya:
Itu seperti pemendekan URL, mengalihkan ke URL tertaut: http://gistlyn.com?collection=991DB51E44674AD01D3D318B24CF0934
Dukungan terintegrasi Gistlyn untuk Fitur Referensi Add ServiceStack menghasilkan API yang diketik untuk layanan serviceStack jarak jauh yang dapat digunakan dalam klien layanan C# yang diketik oleh Servicestack untuk memanggil layanan web dan melihat hasilnya - dalam hitungan detik.
Cara termudah untuk menggunakan fitur ini adalah dengan menambahkan baseUrl untuk instance servicestack jarak jauh Anda ke ?AddServiceStackReference
Ini akan membuka dialog Tambah ServiceStack yang secara otomatis memvalidasi jika URL yang ditentukan untuk instance ServiceStack yang valid:
Memukul Enter kemudian:
JsonServiceClient dengan baseurl AndaGet() menggunakan permintaan Get First Get DTO yang dapat ditemukannyaYang untuk hasil techstacks.io di:
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 Jadi tanpa menulis kode apa pun, pengguna dapat menekan Ctrl+Enter untuk mengeksekusi GIST yang dihasilkan yang untuk TechStacks.io mengembalikan detail semua teknologi yang dipertahankan dalam basis data yang ditunjukkannya dalam Inspektur Pratinjau. response.PrintDump(); juga akan membuang isi response layanan web ke konsol.
Satu hal yang mungkin ingin Anda lakukan adalah mengubah permintaan mana yang digunakan DTO dengan menentukannya di ?Request , misalnya:
Anda juga dapat melakukan pra-populasi ekspresi C# dan memilikinya autorun dengan:
Kami kemudian berakhir dengan tautan langsung bahwa siapa pun dengan browser modern di desktop atau iPad mereka dapat mengklik untuk menghubungi API publik TechStacks.io untuk mengetahui apa teknologinya yang paling populer, dalam hitungan detik.
Mirip dengan cara Add ServiceStack Referensi bekerja di sebagian besar IDE utama, Anda juga dapat menambahkan referensi ke GIST yang ada menggunakan menu Konteks Editor :
Kemudian setelah mengklik Tambah Referensi Gistlyn menambahkan layanan jarak jauh Anda yang diketik DTO ke GIST Anda yang ada menggunakan nama file yang ditentukan.
Jika Anda menambahkan referensi layanan ke versi ServiceStack sebelum v4.0.62 Anda perlu secara manual menghapus namesp C# karena mereka tidak didukung dalam skrip Roslyn.
Satu hal yang mengejutkan tentang Gistlyn adalah bahwa itu sepenuhnya tanpa kewarganegaraan di mana ia berjalan tanpa segala jenis ketekunan DB backend. Semua negara bagian tetap ada pada Gistub Gists atau di localStorage browser Anda. Sesi GitHub yang Andautentikasi Anda tidak disimpan di server karena segera dikonversi menjadi cookie JWT terenkripsi yang dikirim dengan setiap permintaan AJAX, jadi redeployments (atau bahkan pembangunan kembali server yang bersih) tidak akan kehilangan pekerjaan Anda atau memaksa Anda untuk masuk lagi sampai token JWT mengeluarkan waktu.
Repo GitHub ini memberikan contoh yang baik dari aplikasi servicestack berukuran sedang modern, React + TypeScript yang memanfaatkan sejumlah fitur servicestack yang berbeda: