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


Создание VSCT-файла

Существует несколько способов создания XML-файла конфигурации командной таблицы Visual Studio (VSCT).

  • Вы можете создать файл VSPackage в шаблоне пакета Visual Studio.

  • Вы можете использовать компилятор конфигурации таблицы команд на основе XML, Vsct.exe, чтобы создать файл из существующего CTC-файла .

  • Vsct.exe можно использовать для создания VSCT-файла из существующего CTO-файла.

  • Вы можете создать файл VSCT вручную.

    В этой статье объясняется, как вручную создать vsct-файл.

Создание vsct-файла вручную

  1. Запустите среду Visual Studio.

  2. В меню Файл укажите пункт Создать, а затем выберите пункт Файл.

  3. В области "Шаблоны" щелкните XML-файл и нажмите кнопку "Открыть".

  4. В меню "Вид" щелкните "Свойства", чтобы отобразить свойства XML-файла.

  5. В окне "Свойства" нажмите кнопку "Обзор" в свойстве Schemas.

  6. В списке схем XSD выберите схему vsct.xsd . Если он отсутствует в списке, нажмите кнопку "Добавить " и найдите файл на локальном диске. После завершения щелкните ОК.

  7. В XML-файле введите <CommandTable и нажмите клавишу TAB. Закройте тег, введя >текст.

    Это действие создает базовый VSCT-файл .

  8. Заполните элементы XML-файла, который требуется добавить, в соответствии со ссылкой на схему VSCT XML. Дополнительные сведения см. в разделе "Создание VSCT-файлов".

Создание VSCT-файла из существующего CTC-файла

Файл VSCT на основе XML можно создать из существующей исходной таблицы команд CTC. Благодаря этому вы можете воспользоваться новым форматом компилятора visual Studio на основе XML.

Создание файла VSCT на основе файла CTC

  1. Получите копию языка Perl.

  2. Получите копию скрипта Perl ConvertCTCToVSCT.pl, как правило, расположенную <в папке> установки пакета SDK Visual Studio\VisualStudioIntegration\Tools\bin.

  3. Получите копию исходного файла CTC , который требуется преобразовать.

  4. Поместите файлы в один каталог.

  5. В окне командной строки Visual Studio перейдите в каталог.

  6. Тип

    perl.exe ConvertCTCtoVSCT.pl PkgCmd.ctc PkgCmd.vsct
    

    Где PkgCmd.ctc — это имя CTC-файла и PkgCmd.vsct — это имя vsct-файла , который требуется создать.

    Это действие создает новый исходный файл таблицы команд VSCT XML. Файл можно скомпилировать с помощью Vsct.exe, компилятор VSCT, как и любой другой VSCT-файл .

    Примечание.

    Вы можете улучшить удобочитаемость VSCT-файла , переформатируя XML-комментарии.

Создание VSCT-файла из существующего CTO-файла

Вы можете создать XML-vsct-файл из существующего двоичного CTO-файла. Это позволяет воспользоваться преимуществами нового формата компилятора таблицы команд. Этот процесс работает, даже если CTO-файл был скомпилирован из CTC-файла . Вы можете изменить и скомпилировать VSCT-файл в другой CTO-файл.

Создание файла VSCT на основе файла CTO

  1. Получите копии CTO-файла и соответствующего CTSYM-файла .

  2. Поместите файлы в тот же каталог, что и компилятор vsct.exe .

  3. В командной строке Visual Studio перейдите в каталог, содержащий файлы CTO и CTSYM .

  4. Тип

    vsct.exe <ctofilename>.cto <vsctfilename>.vsct -S<symfilename>.ctsym
    

    где <ctofilename> — это имя CTO-файла , <vsctfilename> — это имя файла VSCT , который требуется создать, и <symfilename> — имя ctsym-файла .

    Этот процесс создает файл компилятора таблицы команд VSCT XML. Файл можно изменить и скомпилировать с помощью vsct.exe, компилятор vsct, как и любой другой VSCT-файл .

Компиляция кода

Простое добавление VSCT-файла в проект не приводит к компиляции. Его необходимо включить в процесс сборки.

Добавление VSCT-файла в компиляцию проекта

  1. Откройте файл проекта в редакторе. Если проект загружен, сначала его необходимо выгрузить.

  2. Добавьте элемент ItemGroup, содержащий VSCTCompile элемент, как показано в следующем примере.

    <ItemGroup>
      <VSCTCompile Include="TopLevelMenu.vsct">
        <ResourceName>Menus.ctmenu</ResourceName>
      </VSCTCompile>
    </ItemGroup>
    
    

    Элемент ResourceName всегда должен иметь значение Menus.ctmenu.

  3. Если проект содержит RESX-файл , добавьте EmbeddedResource элемент, содержащий MergeWithCTO элемент, как показано в следующем примере:

    <EmbeddedResource Include="VSPackage.resx">
      <MergeWithCTO>true</MergeWithCTO>
      <ManifestResourceName>VSPackage</ManifestResourceName>
    </EmbeddedResource>
    
    

    Эта разметка должна находиться внутри ItemGroup элемента, содержащего внедренные ресурсы.

  4. Откройте файл пакета с именем <ProjectName>Package.cs или< ProjectName>Package.vb в редакторе.

  5. Добавьте атрибут в ProvideMenuResource класс пакета, как показано в следующем примере.

    [ProvideMenuResource("Menus.ctmenu", 1)]
    

    Первое значение параметра должно соответствовать значению атрибута, ResourceName определенного в файле проекта.