GitHub menggunakan Visual Studio Code online

Dalam keynote-nya di acara Satellite GitHub baru-baru ini, CEO Nat Friedman berkata, "Di era social distancing, orang beralih ke kode sosial." Kami bekerja dari rumah, menggunakan alat yang terpasang di GitHub untuk menggantikan celah dalam alur kerja kami yang biasanya diisi dengan interaksi dengan kolega. Alat seperti GitHub telah menjadi lebih dari sekadar tempat kami menyimpan dan berbagi kode. Mereka sekarang adalah tempat kerja virtual kami, yang mencakup lebih banyak alur kerja pengembangan kami.

Hubungan antara GitHub dan Microsoft adalah hubungan yang menarik. Microsoft memiliki GitHub, tetapi dijalankan sebagai entitas terpisah dengan sangat sedikit kontak antara kedua organisasi. Ini adalah divisi yang masuk akal, karena peran GitHub sebagai gudang global untuk perangkat lunak berpemilik dan sumber terbuka mengharuskannya menjadi hub netral — perangkat lunak Perserikatan Bangsa-Bangsa. Itu memungkinkan GitHub untuk terus berjalan di infrastrukturnya sendiri, yang dibangun di atas alat dan teknologinya sendiri. Sementara itu, Microsoft telah meningkatkan ketergantungannya pada GitHub, membangun alatnya sendiri pada kerangka kerja Electron GitHub dan menggunakan GitHub dalam proses pengembangannya sendiri.

Bangun di GitHub Codespaces

Menarik untuk melihat GitHub membangun salah satu fitur terbarunya di atas teknologi Microsoft (meskipun dengan fondasi open source yang kuat). Microsoft baru-baru ini mengubah nama lingkungan pengembangan yang dihosting di cloud Visual Studio Online menjadi Visual Studio Codespaces, dan Satellite melihat GitHub meluncurkan produk serupa dengan menggunakan nama yang sama.

Penting untuk dicatat bahwa meskipun Visual Studio Codespaces dan GitHub Codespaces dibangun di atas editor Visual Studio Code Microsoft, keduanya adalah produk yang sangat berbeda. Karena Visual Studio Code menggunakan GitHub's Electron, itu adalah aplikasi TypeScript. Itu membuatnya mudah untuk porting ke Web dan browser Web modern, dengan open source editor kode Monaco. Microsoft menggunakan Codespaces sebagai cara untuk memperluas lingkungan pengembangan desktop Anda ke cloud, dan membagikannya dengan kolaborator ad hoc. GitHub memperlakukan Codespaces dengan sangat berbeda, memberi Anda lingkungan pengeditan yang dihosting browser sebagai bagian dari repositori kode.

Ide di balik GitHub Codespaces adalah memberi kolaborator akses ke kode saat kode berubah, di mana pun mereka berada: meninjau kode, menangani masalah yang telah diangkat, atau meninjau kode yang telah dikirimkan dengan permintaan penarikan. Ini adalah cara cepat masuk ke repositori untuk mengedit kode jika Anda punya waktu luang dan browser Web modern. Jika Anda lebih suka menggunakan editor, ekstensi Visual Studio Codespaces untuk VS Code juga akan bekerja dengan GitHub Codespaces.

Membangun lingkungan pengembangan cloud di GitHub Codespaces memberi Anda opsi untuk menentukan sumber daya default yang digunakan editor sebagai bagian dari repositori, menggunakan dotfiles yang sudah dikenal. Pengguna dapat memiliki konfigurasi mereka sendiri, yang dimuat dari profil mereka. Ada dukungan untuk model ekstensi yang ada VS Code dan Visual Studio Code Marketplace, sehingga Anda dapat menginstal ekstensi yang Anda perlukan untuk bekerja dengan proyek tertentu. Jika Anda bekerja dengan aplikasi Go, Anda dapat memasang ekstensi Go yang sesuai. Hal yang sama untuk Rust, C #, dan Flutter; lingkungan GitHub Codespaces sefleksibel Kode itu sendiri.

Untuk mempercepat, GitHub menawarkan repositori versi wadah Codespaces yang telah dikonfigurasi, dengan instance untuk Node, Go, .NET Core, C ++, dan lainnya. Ini termasuk alat untuk membuat dan men-debug kode, berjalan di penampung Codespaces. Dengan mengirimkan seluruh toolchain dalam sebuah wadah, Anda dapat melakukan lebih dari sekedar mengedit kode, misalnya menguji dan memverifikasi perubahan sebelum menggabungkan permintaan tarik.

Setiap editor Codespaces akan memiliki versi ekstensi VS Code GitHub untuk membantu mengelola masalah dan menarik permintaan, serta bekerja dengan banyak cabang kode Anda. Anda dapat mengkloning repositori, bekerja dengan alur kerja Git yang sudah dikenal. Ada ruang untuk Codespaces untuk bekerja dengan repositori pribadi, tetapi versi beta hanya akan mendukung repositori pribadi dan publik. Jika Anda menggunakan GitHub Enterprise, Anda dapat menggunakan alat lain untuk bekerja dengan kode Anda; bahkan mungkin Visual Studio Codespaces.

GitHub Codespaces membutuhkan banyak sumber daya untuk dijalankan, dan meskipun layanan ini gratis selama versi beta, kemungkinan akan menjadi fitur berbayar setelah diluncurkan. Setiap contoh memerlukan wadah untuk menjadi tuan rumah server bahasa kode Visual Studio. UI ada di browser Anda, tetapi sebagian besar pekerjaan berat yang diperlukan untuk menjalankan alat pengembang VS Code harus dijalankan di penampung Codespaces. Dengan jutaan developer yang menggunakan GitHub dan setiap container Codespaces memerlukan dua core dan memori 4 GB, penggunaan dapat bertambah dengan sangat cepat. Namun, GitHub berencana untuk menawarkan harga bayar sesuai pemakaian, yang semestinya meminimalkan biaya.

Diskusikan di Diskusi GitHub 

Mengedit di cloud hanyalah sebagian dari kisah pengkodean sosial GitHub yang diperluas. Banyak pekerjaan terbaru GitHub telah mempermudah pengelola proyek untuk bekerja dengan komunitas yang telah menggabungkan kode mereka. Meskipun Slack atau platform kolaborasi lain mungkin sebagai bagian dari alur kerja gabungan, proyek open source seringkali tidak dapat membayar paket yang memungkinkan mereka untuk mengarsipkan diskusi. Memisahkan percakapan dan kode menyulitkan untuk menyediakan tautan langsung antara keduanya, dan meskipun komentar dan masalah di dalam GitHub menawarkan satu cara untuk menautkannya, mereka masih jauh lebih formal daripada kebanyakan media sosial.

Satelit melihat peluncuran Diskusi GitHub, cara untuk menyematkan percakapan berulir di dalam repositori. Agak mengingatkan pada newsgroup Usenet sekolah lama, mereka adalah cara yang berguna untuk membangun dokumentasi kolaboratif seputar sebuah proyek. Stack Overflow menggunakan struktur seperti itu, tetapi bentuk percakapan lebih bebas dengan opsi pemungutan suara untuk konten, serta tautan langsung ke setiap elemen diskusi. Pengelola dapat menggunakan tautan untuk membawa konten dari Diskusi ke dalam dokumen lain, sehingga elemen Diskusi dapat ditautkan ke suatu masalah untuk memungkinkan percakapan lebih lanjut.

Manajemen percakapan itu penting, dan pengelola memiliki opsi untuk mengunci Diskusi ketika percakapan yang berguna selesai. Akses berbasis peran dapat mengontrol percakapan, misalnya, menyediakan diskusi yang dapat dibaca semua orang tetapi hanya kolaborator yang disetujui yang dapat memposting. Jika Diskusi dapat memenuhi janjinya sebagai ruang terfokus dan relevan untuk berkolaborasi seputar kode dan dokumentasi, hal itu akan sangat membantu pengembang bekerja di GitHub tanpa mengalihkan konteks antara aplikasi dan kehilangan fokus, serta menghindari percakapan panjang yang tidak stabil. , tautan video tidak aman.

Kolaborasi jarak jauh tidaklah mudah, jadi penting bagi situs berorientasi komunitas seperti GitHub untuk menawarkan sebanyak mungkin alat dan layanan yang berbeda, dengan tujuan memudahkan untuk bekerja sama, di mana pun atau bagaimana Anda bekerja. GitHub Codespaces dan GitHub Discussion tampaknya menjadi langkah penting dalam perjalanan itu, dan akan menarik untuk melihat bagaimana keduanya digunakan.