Темы визуального кода без хлопот: публикация расширения

Темы визуального кода без хлопот: публикация расширения


Создание темы — самое интересное. После того, как вы закончите, следующим шагом будет публикация вашей темы, чтобы вы и другие могли наслаждаться своим творением!

Вы могли бы подумать, что публикация расширения VS Code будет простым процессом, но это не так. (Возможно, я привык легко публиковать пакеты npm и воспринимать реестры как нечто само собой разумеющееся.)

В любом случае вам нужно опубликовать свою тему в двух местах:

  1. Visual Studio Marketplace для пользователей VS Code
  2. Откройте VSX в других текстовых редакторах

Возможно, вы захотите опубликовать в npm, чтобы другие могли легко использовать вашу тему для других контекстов, например для подсветки синтаксиса через Shiki.

Ваша тема готовится

Когда вы называете свою тему, вы не можете поместить ее в такую ​​область видимости. @scope/theme-name. Это предотвратит публикацию в Open VSX.

Итак, убедитесь, что имя вашей темы не ограничено. ( theme Это слово необязательно):

{
  "name": "twilight-cosmos-theme",
}

Чтобы включить значок в вашу тему, вам понадобится 128px Квадратный файл изображения, доступный в вашем проекте. положи это icon Свойство, указывающее на файл:

{
  "icon": "path/to/icon.png",
}

Далее вам нужно убедиться, что у вас есть contributes ключ внутри тебя package.json файл. VS Code и другие текстовые редакторы ищут по нему темы.

{
  "contributes": {
    "themes": [
      {
        "label": "",
        "uiTheme": "vs-dark",
        "path": "./.json"
      }
    ]
  },
}

Наконец, вам нужно будет включить несколько ключевых слов, чтобы ваша тема была доступна для поиска как на VS Marketplace, так и на Open VSX.

Если у вас с этим возникли проблемы, дайте ИИ файл вашей темы и попросите его сгенерировать для вас ключевые слова 😉

{
  "keywords": [
    "theme",
    "dark theme",
    "twilight",
    "cosmos",
    "color-theme",
    "dark",
    "purple",
    "blue",
    "vscode-theme"
  ],
}

Публикация в Visual Studio Marketplace

Microsoft позволяет публиковать в Visual Studio Marketplace vsce Если у вас есть личный токен доступа из учетной записи Azure DevOps.

К сожалению, при написании этой статьи я столкнулся с несколькими проблемами при настройке учетной записи Azure Devops, поэтому мне пришлось опубликовать свое расширение вручную.

Здесь я расскажу об обоих маршрутах.

Перед публикацией вам необходимо иметь учетную запись Visual Studio Marketplace. Итак, подпишитесь на него, если у вас его еще нет.

Затем сделайте следующее:

  • нажмите на опубликовать расширение.
  • Создайте учетную запись издателя.

Этот шаг необходим для публикации через оба vsce И ручной маршрут.

Публикация через VSCE

Чтобы это работало, вам понадобится учетная запись Azure DevOps. Когда он у вас есть, вы можете создать токен личного доступа, выполнив следующие действия.

Примечание. Немного раздражает тот факт, что вы не можете получить пожизненный токен доступа с помощью Azure DevOps. Максимальный срок годности наступает примерно через год.

Также обратите внимание: когда я попробовал это сделать, у меня возникли огромные проблемы с созданием учетной записи Azure DevOps — последняя часть продолжала зависать, и я не мог перейти на нужную страницу, даже когда скопировал URL-адрес! В любом случае, если это произойдет с вами, не паникуйте. Возможно, вам придется подождать 1–2 дня, прежде чем повторить попытку. В конце концов это сработает.

Если у вас есть личный токен доступа, остальные шаги довольно просты.

Сначала войдите в VSCE, используя свой идентификатор издателя, который вы создали в Visual Studio Marketplace. (Введите идентификатор издателя, а не идентификатор пользователя!).

npx vsce login 

Когда он попросит вас ввести токен доступа. Затем выполните следующую команду для публикации на рынке:

npx vsce publish

и все готово!

публикация вручную

Если у вас есть проблемы с токенами личного доступа, как у меня, вам придется пойти по этому пути. К счастью, это тоже довольно просто. Вы можете зайти на Visual Studio Marketplace и сделать следующее:

  • нажмите на опубликовать расширение.
  • Нажмите новое расширение.
  • Использовать vsce package Закажите расширения в упаковке visx файл.
  • перетащить упакованный visx Файл для загрузки вашего расширения.
Темы визуального кода без хлопот: публикация расширения

Вот и все!

Проверка кода Visual Studio

Если это ваше первое расширение, вы можете пройти «проверку» на Visual Studio Marketplace только в том случае, если вашему расширению исполнилось не менее шести месяцев. Итак, если вы хотите пройти проверку, установите напоминание через шесть месяцев и посетите эту страницу для получения более подробной информации.

Публикация в Open VSX

Благодаря облаку я понял, что VS Code использует Visual Studio Marketplace, но другие текстовые редакторы, например Cursor, используют Open VSX.

Публикация в Open VSX немного сложнее. Вы должны:

  • Войдите, чтобы открыть VSX через GitHub.
  • Создать учетную запись Eclipse Foundation
  • Свяжите свой репозиторий GitHub со своей учетной записью Eclipse Foundation.
  • Подпишите их соглашение.
  • Создайте пространство имен издателя и добавьте его как publisher в твоем package.json файл.
  • Создайте токен доступа.
  • Затем, наконец, бегите npx ovsx publish Чтобы опубликовать свой пакет.

таким же образом, ovsx При первой попытке публикации вам будет предложено ввести токен личного доступа. к счастью, ovsx Похоже, у него есть пожизненный токен доступа, поэтому нам не нужно беспокоиться об истечении его срока действия.

заявка на пространство имен издателя

По сути, это «проверка» с помощью OpenVSX, но OpenVSX называет это «заявлением» пространства имен издателя для проверки. Не уделяя слишком много внимания языку: этот процесс требует некоторых усилий, но его можно выполнить сейчас (а не через шесть месяцев).

После создания пространства имен издателя вы увидите четкое предупреждение:

Ярко-оранжевый предупреждающий баннер с надписью: Это пространство имен не проверено. Дополнительную информацию о запросе пространств имен см. в документации.

Чтобы заявить права на пространство имен издателя, вам необходимо создать задачу GitHub с Eclipse Foundation и указать, что вы хотите заявить права на пространство имен.

В этом выпуске:

  • Включите свой репозиторий GitHub (если вы сделаете его общедоступным).
  • Предложите предоставить временный доступ к вашему репозиторию GitHub (если он частный).

А обо всем остальном кто-то позаботится.

Команда Eclipse Foundation, кажется, очень отзывчива, поэтому я бы не беспокоился о сбое связи.

Изображения включены в вашу тему

Имеет смысл включать изображения, чтобы продемонстрировать вашу тему. Readme.md файл. Это позволит пользователям понять цвета вашей темы, прежде чем решить, хотят ли они ее загружать или нет.

К сожалению, как VS Marketplace, так и Open VSX не позволяют использовать относительные URL-адреса — изображения будут повреждены, если вы используете относительные ссылки из своего репозитория, — поэтому вместо этого вам придется ссылаться на абсолютный URL-адрес.

Лучшее место для ссылки — репозиторий GitHub, если он открыт для общего доступа.

URL-адрес будет примерно таким:

![Alt Text](https://raw.githubusercontent.com///master/)

подведение итогов

Публикация вашей первой темы редактора VS Code может оказаться сложной задачей. Но не позволяйте этому процессу помешать вам – и другим – наслаждаться вашей темой!

Если вам интересно, моя первая тема называется «Сумеречный космос». Более подробную информацию о процессе изготовления вы можете найти в моей предыдущей статье.

Наслаждайтесь (несколько разочаровывающим) процессом! Ты преодолеешь это прежде, чем узнаешь об этом.

Leave a Reply

Your email address will not be published. Required fields are marked *