Введение
Настроив репозиторий шаблонов, вы можете помочь пользователям приступить к работе с платформой, библиотекой или другим проектом в GitHub Codespaces. Пользователи смогут сразу же работать с файлами шаблонов в облачной среде разработки, не беспокоясь о клонирование репозитория или установке средств или других зависимостей. При некоторой конфигурации вы сможете настроить пользователей в пространстве кода с важными файлами, уже открытыми для редактирования, а приложение уже запущено на вкладке предварительного просмотра в веб-редакторе VS Code.
Любой пользователь с доступом на чтение к репозиторию шаблонов может создать пространство кода на странице репозитория на GitHub. Вы можете превратить любой существующий репозиторий в шаблон, и вам не нужно изменять параметры, чтобы пользователи могли создавать пространство кода из репозитория шаблонов. Дополнительные сведения о включении репозитория в шаблон см. в разделе Создание репозитория шаблонов.
Чтобы помочь пользователям быстро найти шаблон и начать работу, вы можете поделиться ссылкой на страницу создания пространства кода для шаблона. Например, эту ссылку можно указать в руководстве по началу работы с платформой. Вы можете использовать параметр "Общий доступ к глубокой ссылке" и выбрать быстрый запуск, чтобы создать ссылку, которая позволяет пользователям перейти на страницу, где они могут быстро создать новое пространство кода или возобновить последнее. Дополнительные сведения см. в разделе Упрощение быстрого создания и возобновления пространства кода.
Когда кто-то создает пространство кода из шаблона, содержимое репозитория шаблонов будет клонировано в их пространство кода. Когда пользователь готов, он сможет опубликовать свою работу в новом репозитории на GitHub, принадлежащих их личная учетная запись. Дополнительные сведения см. в разделе Создание пространства кода на основе шаблона.
Организации могут платить за членов организации и внешний участник совместной работы использовать GitHub Codespaces за счет организации. Сюда входят пространства кода, созданные из репозиториев шаблонов, принадлежащих организации. Однако если пользователь публикует пространство кода, созданное из шаблона в их личная учетная запись, владение и выставление счетов пространства кода передается пользователю, создавшему пространство кода. Дополнительные сведения см. в разделе Биллинг GitHub Codespaces.
Описание шаблона
Если у вас его нет, создайте readME для репозитория шаблонов, чтобы описать назначение шаблона и как приступить к работе с ним. Дополнительные сведения см. в разделе Сведения о файле README репозитория.
Вы также можете предоставить краткое описание проекта, перейдя на страницу репозитория и щелкнув рядом с разделом About справа от страницы.

Добавление начальных файлов
Репозитории шаблонов обычно содержат начальные файлы с стандартным кодом, чтобы пользователи могли быстро приступить к работе с библиотекой, платформой или другой технологией.
Чтобы получить рекомендации о типах файлов, которые необходимо включить, можно просмотреть начальные файлы, включенные в официальные шаблоны GitHub для GitHub Codespaces, как показано ниже.
-
В левом верхнем углу GitHubвыберите , а затем щелкните Codespaces , чтобы перейти на страницу "Ваши пространства кода" на github.com/codespaces.
-
Чтобы просмотреть полный список шаблонов, в разделе "Обзор шаблонов быстрого запуска" нажмите кнопку " Просмотреть все".

-
Чтобы просмотреть репозиторий шаблонов, содержащий файлы шаблона, щелкните имя шаблона.

Настройка контейнера разработки
Файлы конфигурации контейнера разработки можно добавить в репозиторий шаблонов, чтобы настроить среду разработки для пользователей с помощью шаблона GitHub Codespaces. Вы можете выбрать из списка предопределенных параметров конфигурации в Visual Studio Codeили создать настраиваемую конфигурацию, написав собственный devcontainer.json файл. Если вы не добавляете файлы конфигурации, будет использоваться образ контейнера по умолчанию. Дополнительные сведения см. в разделе [AUTOTITLE и Основные сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration).
Примечание.
Когда пользователи создают пространства кода из кнопки "Использовать этот шаблон" в репозитории шаблонов , они не будут выбирать между конфигурациями. Пространство кода будет создано на основе конфигурации по умолчанию, определенной в .devcontainer/devcontainer.json, или в .devcontainer.json корне репозитория.
Вы должны настроить контейнер разработки с помощью средств и настройки, чтобы предоставить пользователям лучший опыт работы с шаблоном. Например, в devcontainer.json файле:
- Свойство можно использовать
openFilesдля определения списка файлов, которые будут автоматически открываться в веб-клиенте VS Code при создании пространства кода из шаблона. - Если пользователям необходимо предоставить личные секреты, такие как ключи API для запуска приложения в шаблоне, вы можете предложить им предоставить эти секреты. Дополнительные сведения см. в разделе Указание рекомендуемых секретов для репозитория.
- Если шаблон содержит файлы для веб-приложения, вы можете автоматически запустить приложение в пространстве кода пользователя. Это можно сделать с помощью
postAttachCommandсвойства для запуска скрипта, запускающего приложение на локальном сервере, как только веб-клиент VS Code подключается к пространству кода, а затем задавonAutoForwardсвойство порта дляopenPreviewотображения приложения, работающего на этом порту, в простом браузере, внедренном в веб-клиент VS Code веб-клиента.
Следующие параметры конфигурации шаблона React открывают app.js файл в редакторе пользователя, запустите npm start (определено в package.json файле) для запуска локального сервера и перенаправит порт 3000 на вкладку браузера предварительной версии в пространстве кода.
{
"postAttachCommand": {
"server": "npm start"
},
"portsAttributes": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"customizations": {
"codespaces": {
"openFiles": ["src/App.js"]
}
}
}
Дополнительные сведения см. в разделе Автоматическое открытие файлов в пространствах кода для репозитория и спецификации контейнеров разработки на веб-сайте "Контейнеры разработки".