GitHub menggunakan Visual Studio Code secara dalam talian

Dalam ucaptamanya di acara Satelit GitHub baru-baru ini, CEO Nat Friedman mengatakan, "Di zaman sosial menjauhkan diri, orang beralih ke pengekodan sosial." Kami bekerja dari rumah, menggunakan alat yang dibina di GitHub untuk menggantikan jurang dalam aliran kerja kami yang dulu dipenuhi dengan interaksi dengan rakan sekerja. Alat seperti GitHub telah menjadi lebih daripada tempat kami menyimpan dan berkongsi kod. Mereka kini menjadi tempat kerja maya kita, merangkumi lebih banyak aliran kerja pembangunan kita.

Hubungan antara GitHub dan Microsoft adalah sesuatu yang menarik. Microsoft memiliki GitHub, tetapi dijalankan sebagai entiti yang terpisah dengan hubungan yang sangat sedikit antara kedua-dua organisasi tersebut. Ini adalah bahagian yang masuk akal, kerana peranan GitHub sebagai repositori global untuk perisian proprietari dan sumber terbuka mengharuskan ia menjadi hab neutral — perisian PBB. Itu membolehkan GitHub terus berjalan dengan infrastrukturnya sendiri, yang dibina berdasarkan alat dan teknologinya sendiri. Sementara itu Microsoft telah meningkatkan kebergantungannya pada GitHub, membangun alatnya sendiri pada kerangka Elektron GitHub dan menggunakan GitHub dalam proses pengembangannya sendiri.

Bangunkan di GitHub Codespaces

Sangat menarik untuk melihat GitHub membangun salah satu ciri terbarunya di atas teknologi Microsoft (walaupun mempunyai asas sumber terbuka yang kuat). Microsoft baru-baru ini mengubah nama persekitaran pengembangan yang dihosting awan Visual Studio Online menjadi Visual Studio Codespaces, dan Satelit melihat GitHub melancarkan produk serupa menggunakan nama yang sama.

Penting untuk diperhatikan bahawa walaupun kedua-dua Visual Studio Codespaces dan GitHub Codespaces dibina di atas editor Visual Studio Code Microsoft, mereka adalah produk yang sangat berbeza. Oleh kerana Visual Studio Code menggunakan GitHub's Electron, itu adalah aplikasi TypeScript. Ini menjadikannya mudah untuk dibawa ke Web dan penyemak imbas Web moden, dengan sumber terbuka editor kod Monaco. Microsoft menggunakan Codespaces sebagai cara untuk memperluas persekitaran pengembangan desktop anda ke awan, dan membaginya dengan kolaborator ad hoc. GitHub memperlakukan Codespaces dengan sangat berbeza, memberikan anda persekitaran penyuntingan yang dihoskan oleh penyemak imbas sebagai sebahagian dari repositori kod.

Idea di sebalik GitHub Codespaces adalah memberi kolaborator akses kepada kod ketika ia berubah, di mana pun mereka berada: mengkaji kod, bekerja dengan masalah yang telah dibangkitkan, atau meninjau kod yang dikirimkan dengan permintaan tarik. Ini adalah cara cepat masuk ke repositori untuk mengedit kod jika anda mempunyai minit percuma dan penyemak imbas Web moden. Sekiranya anda lebih suka menggunakan editor, pelanjutan Visual Studio Codespaces untuk VS Code juga akan berfungsi dengan GitHub Codespaces.

Membangun persekitaran pengembangan awan di GitHub Codespaces memberi anda pilihan untuk menentukan sumber lalai yang digunakan editor sebagai sebahagian dari repositori, menggunakan dotfiles yang sudah biasa. Pengguna boleh mempunyai konfigurasi mereka sendiri, yang dimuat dari profil mereka. Terdapat sokongan untuk model peluasan VS Code yang ada dan Visual Studio Code Marketplace, jadi anda boleh memasang sambungan yang anda perlukan untuk bekerja dengan projek tertentu. Sekiranya anda bekerja dengan aplikasi Go, anda boleh memasang sambungan Go yang sesuai. Perkara yang sama untuk Rust, C #, dan Flutter; persekitaran GitHub Codespaces adalah fleksibel seperti Code itu sendiri.

Untuk mempercepat, GitHub menawarkan repositori versi Codespaces yang telah dikonfigurasikan sebelumnya, dengan contoh untuk Node, Go, .NET Core, C ++, dan banyak lagi. Ini termasuk alat untuk membina dan menyahpepijat kod, berjalan di dalam bekas Codespaces. Dengan menghantar keseluruhan rantai alat dalam bekas, anda dapat melakukan lebih banyak daripada mengedit kod, misalnya menguji dan mengesahkan perubahan sebelum menggabungkan permintaan tarik.

Setiap editor Codespaces akan mempunyai versi sambungan VS Code GitHub untuk membantu mengurus masalah dan menarik permintaan, serta bekerja dengan beberapa cabang kod anda. Anda boleh mengklon repositori, bekerja dengan aliran kerja Git yang biasa. Terdapat ruang untuk Codespaces bekerja dengan repositori peribadi, tetapi beta hanya akan menyokong repositori peribadi dan awam. Sekiranya anda menggunakan GitHub Enterprise, anda boleh menggunakan alat lain untuk bekerja dengan kod anda; mungkin juga Visual Studio Codespaces.

GitHub Codespaces memerlukan banyak sumber untuk dijalankan, dan walaupun perkhidmatan ini percuma semasa beta, ia mungkin menjadi ciri bayar setelah dilancarkan. Setiap contoh memerlukan wadah untuk menjadi tuan rumah pelayan bahasa Kod Visual Studio. UI ada di penyemak imbas anda, tetapi banyak pengangkatan berat yang diperlukan untuk menjalankan alat pembangun VS Code perlu dijalankan di wadah Codespaces. Dengan berjuta-juta pembangun menggunakan GitHub dan setiap wadah Codespaces memerlukan dua teras dan memori 4GB, penggunaan dapat bertambah dengan cepat. Walau bagaimanapun, GitHub merancang untuk menawarkan harga bayar-semasa-anda-pergi, yang semestinya mengurangkan kos minimum.

Bincangkannya dalam Perbincangan GitHub 

Penyuntingan di awan hanyalah sebahagian daripada kisah pengekodan sosial GitHub yang diperluas. Sebilangan besar karya GitHub baru-baru ini memudahkan penyelenggara projek untuk bekerja dengan komuniti yang telah bergabung dengan kod mereka. Walaupun ada kemungkinan Slack atau platform kolaborasi lain sebagai sebahagian daripada aliran kerja gabungan, projek sumber terbuka sering kali tidak dapat membayar rancangan yang membolehkan mereka mengarkibkan perbincangan. Memisahkan perbualan dan kod menjadikannya sukar untuk memberikan hubungan langsung antara keduanya, dan walaupun komen dan isu di dalam GitHub menawarkan satu cara untuk menghubungkannya, mereka masih jauh lebih formal daripada kebanyakan media sosial.

Satelit menyaksikan pelancaran Perbincangan GitHub, cara untuk membenamkan perbualan berulir di dalam repositori. Agak mengingatkan kumpulan berita Usenet sekolah lama, mereka adalah kaedah yang berguna untuk membina dokumentasi kolaboratif di sekitar projek. Stack Overflow menggunakan struktur seperti itu, tetapi perbualan lebih bebas dengan pilihan untuk memilih kandungan, dan juga pautan langsung ke setiap elemen perbincangan. Penyelenggara dapat menggunakan pautan untuk membawa kandungan dari Perbincangan ke dalam dokumen lain, sehingga elemen Perbincangan dapat dihubungkan dengan masalah untuk memungkinkan perbincangan lebih lanjut.

Pengurusan perbualan adalah penting, dan penyelenggara mempunyai pilihan untuk menutup Perbincangan apabila perbualan berguna selesai. Akses berdasarkan peranan dapat mengawal perbualan, misalnya, menyediakan perbincangan yang dapat dibaca oleh semua orang tetapi hanya kolaborator yang diluluskan yang dapat menghantar. Sekiranya Perbincangan dapat memenuhi janjinya sebagai ruang yang fokus dan relevan untuk berkolaborasi di sekitar kod dan dokumentasi, perlu banyak membantu pembangun bekerja di GitHub tanpa menukar konteks antara aplikasi dan kehilangan fokus, serta mengelakkan perbualan panjang kerana goyah , pautan video yang tidak selamat.

Kerjasama jarak jauh tidak mudah, jadi penting bagi laman web berorientasikan komuniti seperti GitHub untuk menawarkan seberapa banyak alat dan perkhidmatan yang berbeza, dengan tujuan menjadikannya mudah untuk bekerjasama, tidak kira di mana dan bagaimana anda bekerja. Perbincangan Codespaces GitHub dan GitHub merupakan langkah penting sepanjang perjalanan itu, dan akan menarik untuk melihat bagaimana ia digunakan.