GitHub използва Visual Studio Code онлайн

В основната си бележка на неотдавнашното сателитно събитие на GitHub, главният изпълнителен директор Нат Фридман каза: „В ерата на социалното дистанциране хората се обръщат към социалното кодиране“. Работим от вкъщи, използвайки инструментите, вградени в GitHub, за да заменим пропуските в работния ни процес, които преди бяха запълнени с взаимодействия с колеги. Инструменти като GitHub се превърнаха в нещо повече от мястото, което съхраняваме и споделяме код. Сега те са нашите виртуални работни места, обхващащи повече от работните ни процеси в разработката.

Връзката между GitHub и Microsoft е интересна. Microsoft притежава GitHub, но се управлява като отделен обект с много малко контакти между двете организации. Това е подразделение, което има смисъл, тъй като ролята на GitHub като глобално хранилище за патентован софтуер и софтуер с отворен код изисква той да бъде неутрален център - обединени нации софтуер. Това позволи на GitHub да продължи да работи със собствена инфраструктура, изградена върху собствени инструменти и технологии. Междувременно Microsoft увеличи зависимостите си от GitHub, изграждайки свои собствени инструменти върху рамката на GitHub Electron и използвайки GitHub в собствените си процеси на разработка.

Изградете го в GitHub Codespaces

Интересно е да видим как GitHub изгражда една от най-новите си функции върху технология на Microsoft (макар и със силна основа с отворен код). Microsoft наскоро промени името на своята среда за разработка, хоствана в облак на Visual Studio Online, на Visual Studio Codespaces, а Satellite видя, че GitHub пуска подобен продукт, използвайки същото име.

Важно е да се отбележи, че въпреки че Visual Studio Codespaces и GitHub Codespaces са изградени върху редактора на Visual Studio Code на Microsoft, те са много различни продукти. Тъй като Visual Studio Code използва Electron на GitHub, това е приложение на TypeScript. Това улеснява прехвърлянето към мрежата и съвременните уеб браузъри, с редактора на кода на Монако с отворен код. Microsoft използва Codespaces като начин да разшири средата за разработка на вашия работен плот в облака и да я сподели с ad hoc сътрудници. GitHub третира кодовите пространства съвсем различно, като ви предоставя среда за редактиране, хоствана от браузър, като част от хранилището на кодове.

Идеята на GitHub Codespaces е да даде на сътрудниците достъп до кода, когато той се променя, където и да се намират: преглед на код, работа с повдигнати проблеми или преглед на код, изпратен с искане за изтегляне. Това е начин за бързо влизане в хранилище за редактиране на код, ако имате безплатна минута и модерен уеб браузър. Ако предпочитате да използвате редактор, разширението Visual Studio Codespaces за VS Code също ще работи с GitHub Codespaces.

Изграждането на среди за разработка в облак в GitHub Codespaces ви дава възможност да дефинирате ресурсите по подразбиране, които редакторът използва като част от хранилище, използвайки познати точки. Потребителите могат да имат свои собствени конфигурации, които се зареждат от техния профил. Има поддръжка за съществуващия модел на VS Code и Visual Studio Code Marketplace, така че можете да инсталирате разширенията, необходими за работа с конкретен проект. Ако работите с приложение Go, можете да инсталирате подходящите разширения Go. Същото за Rust, C # и Flutter; средата на GitHub Codespaces е толкова гъвкава, колкото самия код.

За да ускори нещата, GitHub предлага хранилище на предварително конфигурирани версии на контейнери на Codespaces, с екземпляри за Node, Go, .NET Core, C ++ и др. Те включват инструменти за изграждане и отстраняване на грешки в код, работещи в контейнера Codespaces. Доставяйки цяла верига от инструменти в контейнер, можете да направите много повече от редактиране на код, например тестване и проверка на промените преди обединяване на заявка за изтегляне.

Всеки редактор на Codespaces ще има версия на разширението VS Code GitHub, за да помогне за управление на проблеми и изтегляне на заявки, както и за работа с множество клонове на вашия код. Можете да клонирате хранилища, като работите с познатия работен процес на Git. Има възможности за Codespaces да работи с частни хранилища, но бета версията ще поддържа само лични и публични хранилища. Ако използвате GitHub Enterprise, можете да използвате други инструменти за работа с вашия код; може би дори кодовите пространства на Visual Studio.

GitHub Codespaces се нуждае от много ресурси, за да работи, и въпреки че услугата е безплатна по време на бета-версията, вероятно ще бъде функция за заплащане, след като стартира. Всеки екземпляр изисква контейнер за хостване на езиковите сървъри на Visual Studio Code. Потребителският интерфейс е във вашия браузър, но голяма част от тежката работа, необходима за стартиране на инструментите за разработчици на VS Code, трябва да се изпълнява в контейнера Codespaces. С много милиони разработчици, използващи GitHub и всеки контейнер на Codespaces, изискващи две ядра и 4 GB памет, използването може да се увеличи много бързо. GitHub обаче планира да предложи ценообразуване, което трябва да сведе до минимум.

Обсъдете го в GitHub Discussions 

Редактирането в облака е само част от разширената история на GitHub за социално кодиране. Голяма част от скорошната работа на GitHub улеснява поддръжниците на проекти да работят с общността, обединена около техния код. Въпреки че е възможно Slack или други платформи за сътрудничество да бъдат част от комбиниран работен процес, проектите с отворен код често не могат да плащат за планове, които им позволяват да архивират дискусии. Разделянето на разговора и кода затруднява осигуряването на директни връзки между тях и въпреки че коментарите и проблемите в GitHub предлагат един начин за свързването им, те все още са много по-официални от повечето социални медии.

Satellite видя стартирането на GitHub Discussions, начин за вграждане на резбовани разговори в хранилището. Донякъде напомнящи на дискусионните групи на Usenet от старата школа, те са полезен начин за изграждане на съвместна документация около проект. Stack Overflow използва подобна структура, но разговорите са по-свободна форма с възможност за гласуване за съдържание, както и директни връзки към всеки елемент на дискусия. Поддържащите могат да използват връзки, за да внасят съдържание от дискусии в други документи, така че елементът на дискусията може да бъде свързан с проблем, за да позволи по-нататъшен разговор.

Управлението на разговорите е важно и поддържащите имат възможност да заключат дискусиите, когато полезният разговор приключи. Ролевият достъп може да контролира разговорите, например, осигурявайки дискусия, която всеки може да прочете, но само одобрени сътрудници могат да публикуват. Ако Дискусиите могат да изпълнят обещанието си като фокусирано, подходящо пространство за сътрудничество около код и документация, то би трябвало да измине дълъг път, за да помогне на разработчиците да работят върху GitHub, без да превключват контекста между приложенията и да губят фокус, както и да избягват дългите разговори над разклатените , несигурни видео връзки.

Дистанционното сътрудничество не е лесно, затова е важно сайтовете, ориентирани към общността, като GitHub, да предлагат възможно най-много различни инструменти и услуги, с цел да улеснят съвместната работа, независимо къде и как работите. Кодовите пространства на GitHub и дискусиите на GitHub изглеждат важни стъпки по това пътуване и ще бъде интересно да се види как се използват.