Поделиться через


Создание расширения

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

Создание расширения

Форма будет запрашивать следующие сведения:

  • ExtensionName: имя расширения. Это будет использоваться в качестве имени проекта и имени класса, реализующего команды. Убедитесь, что это допустимое имя класса C# — оно не должно иметь пробелов или специальных символов, и должно начинаться с прописной буквы. Ссылка в документации как <ExtensionName>.
  • Отображаемое имя расширения: имя расширения, которое будет отображаться в палитре команд. Это может быть более удобочитаемое имя.
  • Путь к выходным данным: папка, в которой будет создан проект.
    • Проект будет создан в подкаталоге указанного вами пути.
    • Если этот путь не существует, он будет создан для вас.

Страница

После отправки формы палитра команд автоматически создаст проект. На этом этапе структура проектов должна выглядеть следующим образом:

<ExtensionName>/
│   Directory.Build.props
│   Directory.Packages.props
│   nuget.config
│   <ExtensionName>.sln
└───<ExtensionName>
    │   app.manifest
    │   Package.appxmanifest
    │   Program.cs
    │   <ExtensionName>.cs
    │   <ExtensionName>.csproj
    │   <ExtensionName>CommandsProvider.cs
    ├───Assets
    │   <A bunch of placeholder images>
    ├───Pages
    │   <ExtensionName>Page.cs
    └───Properties
        │   launchSettings.json
        └───PublishProfiles
                win-arm64.pubxml
                win-x64.pubxml

с <ExtensionName> заменено на указанное вами имя

Здесь вы можете сразу создать проект и запустить его. После развертывания и запуска пакета палитра команд автоматически обнаруживает расширение и загружает его в палитру.

Подсказка

Убедитесь, что вы развертываете приложение! Просто сборкаприложения не будет обновлять пакет таким же образом, как и при развертывании.

Предупреждение

<Запуск <ExtensionName (Unpackaged) из Visual Studio не развертывает пакет приложения.

Если вы используете git для управления версиями и использовали стандартный .gitignore файл для C#, необходимо удалить следующие две строки из .gitignore файла:

**/Properties/launchSettings.json
*.pubxml

Эти файлы используются WinAppSdk для развертывания приложения в виде пакета. Без него любой, кто клонирует репозиторий, не сможет развернуть расширение.

Вы должны увидеть расширение в палитре команд в конце списка команд. Введите эту команду, чтобы открыть страницу, связанную с вашей командой, и вы увидите одну команду, которая отображается как TODO: Implement your extension here.

Снимок экрана: пустой шаблон расширения, запущенный в палитре команд

Поздравляю! Вы сделали свое первое расширение! Теперь давайте приступим и действительно добавим в него несколько команд.

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

Снимок экрана: перезагрузка

Далее: добавление команд в расширение