Перейти к содержимому

Где в visual studio окно управление расширениями

  • автор:

Поиск, установка и управление расширениями для Visual Studio

Область применения:yesVisual Studio Visual Studio для Mac noVisual Studio Code no

Расширения — это пакеты кода, которые выполняются в Visual Studio и предоставляют новые или улучшенные функции. Расширения могут быть элементами управления, примерами, шаблонами, инструментами или другими компонентами, которые добавляют функциональные возможности в Visual Studio, например Live Share или GitHub Copilot.

Сведения о создании расширений Visual Studio см. в разделе Visual Studio SDK. Сведения об использовании расширений см. на страницах отдельных расширений в Visual Studio Marketplace. Дополнительные сведения о поиске расширений см. в записи блога Где мои избранные расширения в Visual Studio 2022?.

Дополнительные сведения о новой модели расширяемости в настоящее время в предварительной версии см. в записи блога Build Better Extensions with VisualStudio.Extensibility (preview 3).

Расширения — это пакеты кода, которые выполняются в Visual Studio и предоставляют новые или улучшенные функции. Расширения могут быть элементами управления, примерами, шаблонами, инструментами или другими компонентами, которые добавляют функциональные возможности в Visual Studio, например Live Share или GitHub Copilot.

Сведения о создании расширений Visual Studio см. в разделе Visual Studio SDK. Сведения об использовании расширений см. на страницах отдельных расширений в Visual Studio Marketplace.

Диалоговое окно «Управление расширениями»

В интегрированной среде разработки Visual Studio диалоговое окно «Управление расширениями » — это средство, используемое для поиска, установки и управления расширениями Visual Studio. Чтобы открыть диалоговое окно Управление расширениями, выберите Расширения>Управление расширениями. Или введите расширения в поле поиска и выберите «Управление расширениями«.

Screenshot of the Manage Extensions window in Visual Studio

Левая панель классифицирует расширения по установленным, доступным в Visual Studio Marketplace (Online) и доступными обновлениями. Диспетчер перемещаемых расширений хранит список всех расширений Visual Studio, которые вы установили на любом компьютере или экземпляре Visual Studio. С его помощью вы легко сможете находить нужные вам расширения.

Поиск и установка расширений

Расширения можно установить в Visual Studio Marketplace или в диалоговом окне «Управление расширениями » в Visual Studio.

Чтобы установить расширения из Visual Studio, выполните указанные ниже действия.

  1. В диалоговом окне Расширения>Управление расширениями найдите расширение, которое вы намерены установить. (Если известно имя или часть имени расширения, можно выполнить поиск в окне Поиск.)
  2. Щелкните Скачать. Запланирована установка расширения. Расширение будет установлено после закрытия всех экземпляров Visual Studio.

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

Установка без использования диалогового окна «Управление расширениями»

Расширения, которые были упакованы в VSIX-файлах , могут быть доступны в расположениях, отличных от Visual Studio Marketplace. Несмотря на то что VSIX-файлы не обнаруживаются в диалоговом окне Расширения>Управление расширениями, такой файл можно установить, дважды щелкнув его или выбрав файл и нажав клавишу ВВОД. После этого следуйте инструкциям. После установки такое расширение можно будет включить, отключить или удалить в диалоговом окне Управление расширениями.

  • Visual Studio Marketplace содержит расширения VSIX и MSI. Диалоговое окно «Управление расширениями» не может включать или отключать расширения на основе MSI.
  • Если расширение MSI содержит файл extension.vsixmanifest, оно появляется в диалоговом окне Управление расширениями.

Удаление или отключение расширения

Если требуется прекратить использование расширения, его можно отключить или удалить. Отключенное расширение сохранится, но не будет загружаться. Найдите расширение и выберите «Удалить » или «Отключить«. Перезапустите Visual Studio, чтобы выгрузить отключенное расширение.

Отключать можно только расширения VSIX, но не расширения, которые были установлены с помощью MSI. Расширения, установленные с помощью MSI, можно только удалить.

Управление расширениями

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

Расширения на уровне пользователя и администратора

Большинство расширений являются на пользователя и устанавливаются в папку %LocalAppData%\Microsoft\VisualStudio<\Visual Studio version>\Extensions\ . Несколько расширений являются административными расширениями и устанавливаются в папку <>установки Visual Studio\Common7\IDE\Extensions\.

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

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

  1. Откройте страницу параметров расширений (Сервис>Параметры>Среда>Расширения).
  2. Снимите флажок Загружать расширения пользователей при выполнении от имени администратора.
  3. Перезапустите Visual Studio.

Автоматическое обновление расширений

Расширения обновляются автоматически при появлении новой версии в Visual Studio Marketplace. Новая версия расширения обнаруживается и устанавливается в фоновом режиме. При следующем открытии Visual Studio будет запущена новая версия расширения.

Функцию автоматического обновления можно отключить для всех или только определенных расширений.

  • Чтобы отключить автоматическое обновление для всех расширений, щелкните ссылку Измените параметры расширений в диалоговом окне Расширения>Управление расширениями. В диалоговом окне Параметры снимите флажок Автоматически обновлять расширения.
  • Чтобы отключить автоматическое обновление для конкретного расширения, снимите флажок Автоматически обновлять это расширение в области сведений о расширении в правой части диалогового окна Управление расширениями.

Уведомления об аварийном завершении работы или зависаниях

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

Visual Studio оповещает еще и о тех расширениях, которые могут приводить к недоступности интерфейса.

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

  • Выберите Отключить это расширение. Visual Studio отключает расширение и сообщает, нужно ли перезагрузить компьютер, чтобы отключение вступило в силу. Если потребуется, вы можете снова включить расширение в диалоговом окне Расширения>Управление расширениями.
  • Выберите Больше не показывать это сообщение.
    • Если уведомление относилось к аварийному завершению в предыдущем сеансе, в Visual Studio больше не будет отображаться уведомление при аварийном завершении работы этого расширения. Этот выбор не влияет на уведомления Visual Studio о зависаниях, связанных с этим расширением, а также об аварийных завершениях и зависаниях, связанных с другими расширениями.
    • Если же уведомление относилось к зависанию, в интегрированной среде разработки (IDE) больше не будут появляться уведомления о том, что это расширение связано с зависаниями. В Visual Studio по-прежнему будут отображаться уведомления об аварийном завершении работы этого расширения, а также об аварийном завершении работы и зависаниях других расширений.

    Уведомление о зависании или аварийном завершении пользовательского интерфейса означает только то, что один из модулей конкретного расширения находился в стеке в тот момент, когда произошло аварийное завершение. Это не обязательно означает, что само расширение было виновником. Возможно, расширение вызвало внутренний код Visual Studio, который привел к аварийному завершению или зависанию пользовательского интерфейса. Однако уведомление может по-прежнему быть полезным, если расширение, которое привело к неответственности пользовательского интерфейса или аварийному сбою, не важно для вас. Отключив такое расширение, вы сможете избежать аналогичных проблем в будущем без ущерба для производительности.

    Примеры

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

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

    С помощью диалогового окна Расширения>Управление расширениями можно выполнить следующие задачи, связанные с примерами.

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

    Следующие шаги

    Сведения о создании и публикации расширения с помощью пакета SDK Для Visual Studio см. на странице расширяемости Visual Studio.

    См. также

    • Visual Studio Marketplace
    • Поддержка пакета SDK для Visual Studio

    Повысьте свою продуктивность с помощью расширений Productivity Power Tools в Visual Studio 2022

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

    Пакет Productivity Power Tools (PPT), разработанный командой VS, представляет собой набор расширений, которые повышают вашу общую продуктивность и эффективность в Visual Studio. Этот пакет расширений бустит вашу продуктивность с самого начала, позволяя установить весь пакет сразу, а не по отдельности. Не уверены, подходят ли вам расширения PPT? Давайте посмотрим на некоторые расширения пакета, которые могут сэкономить ваше время и снизить утомление при работе в VS.

    Match Margin

    Расширение Match Margin позволяет выделять текст в коде и просматривать все места, где этот текст используется в редакторе и в пределах поля редактора. Существует несколько внутренних и внешних инструментов, позволяющих выполнять аналогичные действия с помощью параметров контекстного меню или выбора всего слова. Однако Match Margin позволяет вам сделать это, просто переместив курсор на желаемый текст.

    Пример Match Margin

    Скопировать как HTML

    На первый взгляд, простой частью разработки спецификации, рабочего элемента или документации должно быть копирование/вставка фрагментов кода. К сожалению, эта «простая» задача быстро становится утомительной, когда исходное форматирование кода теряется при вставке в документ, давая вам возможность исправить все вручную. Расширение «Копировать как HTML» решает эту проблему, сохраняя форматирование кода при вставке его в текстовый документ.

    Пример Copy as HTML

    Визуализатор ошибок решения

    Изучение окна списка ошибок на наличие проблем в вашем коде может быть не идеальным решением для вашей персонализированной среды разработки. В качестве альтернативы расширение Solution Error Visualizer добавляет волнистые линии в обозреватель решений VS и позволяет просматривать сообщения об ошибках, которые вы обычно видели в окне «Список ошибок», просто наведя курсор на соответствующее решение, проект или файл кода. Если вы сосредоточены исключительно на исправлении ошибок, вы даже можете использовать это расширение, чтобы отфильтровать любые расширения, в которых они в настоящее время отсутствуют!

    Пример Solution Error Visualizer

    Peek Help

    В Visual Studio вы можете установить курсор на ключевые слова языка или фреймворка и нажать F1 для перенаправления в окно браузера, содержащее соответствующую справочную информацию о них. Однако переключение между браузером и VS IDE может показаться неэффективным. Расширение Peek Help решает эту проблему, встраивая ту же справочную информацию в окно редактора, когда вы используете ALT + F1, поэтому вам никогда не придется отвлекаться от работы.

    Пример Peek Help

    Потеряли какие-то расширения PPT? Проверьте в Visual Studio!

    Если вы давно пользуетесь расширениями PPT, то, возможно, заметили, что некоторые старые расширения, такие как Go To Definition, Quick Launch Tasks и Power Commands, больше не включены в пакет расширений PPT. Это потому, что все эти прежние расширения стали встроенными функциями VS! Итак, где они сейчас?

    Go To Definition

    Хотите быстро перейти к определениям классов и типов, которые вы используете в своем проекте? CTRL + щелчок по классу или типу, чтобы мгновенно перейти к соответствующему определению с помощью Go To Definition!

    Quick Launch Tasks

    Расширение Quick Launch Tasks стало глобальным инструментом VS Search! Как и в предыдущем расширении, вы можете использовать (CTRL + Q) для поиска меню, параметров и кода IDE.

    Пример VS Search

    Power Commands

    Расширение Power Commands предоставило набор полезных, разных команд и рефакторингов, которые теперь добавляются в Visual Studio по умолчанию. Это включает:

    • Sort usings
    • Копировать путь (щелкните файл правой кнопкой мыши в обозревателе решений и выберите «Копировать полный путь»)
    • Показать все файлы (обозреватель решений)
    • Редактировать файл проекта (.csproj)
    • Закрыть все документы (щелкните вкладку правой кнопкой мыши и выберите «Закрыть все вкладки»)

    Расширения Productivity Power Tool всегда могут стать встроенными функциями VS в будущем. Итак, дайте нам знать, какие расширения PPT вы хотели бы видеть в будущем!

    Скачайте инструменты для повышения производительности прямо сейчас!

    Выделенные выше расширения PPT — это всего лишь несколько вариантов повышения производительности, поэтому загрузите полный пакет расширений, чтобы узнать больше! Эти небольшие, но мощные расширения — идеальный способ дополнить вашу важную среду разработки в Visual Studio 2022. Как всегда, не стесняйтесь делиться своими отзывами о расширениях PPT и дайте нам знать, как мы можем улучшить вашу работу с VS 2022!

    • visual studio
    • visual studio 2022
    • microsoft
    • Блог компании Microsoft
    • Программирование
    • .NET
    • Visual Studio
    • C#

    Первое расширение Visual Studio

    Область применения:yesVisual Studio Visual Studio для Mac noVisual Studio Code no

    В этой статье описаны некоторые простые шаги, чтобы получить первое расширение Visual Studio и запустить его. Расширение Visual Studio записывается с помощью платформа .NET Framework и C#. Если вы уже разработчик .NET, вы обнаружите, что написание расширений аналогично написанию большинства других программ и библиотек .NET.

    Расширение, которое вы будете писать сегодня, добавляет команду, которая вставляет новый guid в текстовый редактор при выполнении. Это простое, полезное и хорошее введение в различные аспекты разработки расширений.

    Если вы являетесь визуальным учеником, проверка из этого короткого видео кого-то из руководства.

    Прежде чем приступить к написанию первого расширения Visual Studio (это легко, я обещаю!), убедитесь, что у вас есть необходимые инструменты.

    Создание проекта

    Существует несколько шаблонов проектов для выбора, поэтому вы хотите сделать правильный выбор. Шаблоны, используемые в этом наборе средств сообщества, имеют моникер (сообщество) в имени.

    Шаблон проекта VSIX w/Command (Community) поставляется с командой, подключенной к ней, что упрощает запуск. Это отличная отправная точка для большинства расширений. Если вы знаете, что требуется окно инструментов, используйте шаблон проекта VSIX w/Tool Window (Community). Она также имеет команду, чтобы открыть окно инструментов.

    Используйте шаблоны пустого проекта VSIX (сообщества) или VSIX Project (Community) для расширений только для MEF или других расширенных сценариев.

    На этот раз вы выберете шаблон проекта VSIX w/Command (Community), как показано на снимке экрана ниже.

    New Project Dialog showing VSIX project templates.

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

    Configure your new project.

    После нажатия кнопки «Создать » вы должны в конечном итоге получить базовый проект VSIX, который выглядит следующим образом:

    New project files and folders.

    Важные файлы

    Давайте рассмотрим самые важные файлы.

    InsertGuidPackage.cs — это то, что называется классом Package. Его InitializeAsync(. ) метод вызывается Visual Studio для инициализации расширения. Здесь вы добавляете прослушиватели событий и регистрируете команды, окна инструментов, параметры и другие вещи.

    source.extension.vsixmanifest — это файл манифеста для расширения. Он содержит метаданные, такие как название и описание, но также сведения о том, что содержит расширение.

    VSCommandTable.vsct — это XML-файл, в котором команды и привязки ключей декларативно определены, поэтому их можно зарегистрировать в Visual Studio.

    Commands/MyCommand.cs — это обработчик команд для команды, определенной в VSCommandTable.vsct-файле . Он управляет тем, что происходит при выполнении команды, нажав кнопку.

    Изменение команды

    Сначала необходимо убедиться, что команда имеет правое имя, значок и позицию в системе меню Visual Studio.

    Откройте VSCommandTable.vsct-файл и найдите файл и объект . Обратите внимание, что кнопка указывает группу как ее родительскую и родительскую группу — это встроенное меню VSMainMenu/Tools .

    Для расширения необходимо , чтобы кнопка «Вставить GUID» должна находиться в главном меню «Изменить «, поэтому вы будете повторно родительскую группу в меню «Изменить». Замените инструменты на «Изменить«, как показано в следующем фрагменте кода:

     Вы получаете полный IntelliSense для размещения, чтобы упростить поиск подходящего места.

    VSCT parent IntelliSense.

    Необходимо также обновить. Вы предоставите ему новый значок, обновив id атрибут элемента на InsertAppend. Обновите текст с хорошим, описательным именем и обновите его с помощью технического имени команды. Это имя, отображаемое пользователям при назначении пользовательских сочетаний клавиш в диалоговом окне «Параметры > среды клавиатуры > инструментов>».

      

    Всегда начинайте с символа точки. Он гарантирует, что другой текст автоматически не задается, и точка не будет отображаться.

    Вы можете использовать тысячи значков, доступных в библиотеке образов Visual Studio, и даже получить предварительную версию в IntelliSense:

    VSCT icon IntelliSense.

    Теперь вы обновили имя, значок и расположение нашей команды, и пришло время написать код, чтобы вставить guid в текстовый редактор.

    Откройте файл /Commands/MyCommand.cs и измените его, чтобы вставить новый guid при выполнении:

    using System; using Community.VisualStudio.Toolkit; using EnvDTE; using Microsoft.VisualStudio.Shell; using Task = System.Threading.Tasks.Task; namespace InsertGuid < [Command(PackageIds.MyCommand)] internal sealed class MyCommand : BaseCommand < protected override async Task ExecuteAsync(OleMenuCmdEventArgs e) < await Package.JoinableTaskFactory.SwitchToMainThreadAsync(); DocumentView docView = await VS.Documents.GetActiveDocumentViewAsync(); if (docView?.TextView == null) return; SnapshotPoint position = docView.TextView.Caret.Position.BufferPosition; docView.TextBuffer?.Insert(position, Guid.NewGuid().ToString()); >> > 

    Объект используется VS для получения активного текстового представления редактора, а затем вставки guid в положение курсора текстового буфера.

    Вы увидите await JoinableTaskFactory.SwitchToMainThreadAsync() и ThreadHelper.ThrowIfNotOnUIThread() во многих местах в этом наборе средств сообщества. Они обрабатывают рекомендации по переключению потоков, и вам не нужно знать, когда и как их использовать на этом этапе — предупреждения компилятора с исправлениями кода (лампочки) делает это супер легко.

    Первый черновик нашего расширения теперь завершен, и пришло время протестировать его.

    Выполнение и отладка

    Запуск расширения выполняется так же просто, как и любой другой проект .NET. Просто нажмите клавишу F5, чтобы запустить с подключенным отладчиком или ctrl+F5 для выполнения без этого.

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

    При запуске экспериментального экземпляра в главном меню «Изменить» должна появиться команда INSERT GUID.

    Insert GUID command located in the Edit main menu.

    Откройте любой текстовый файл и выполните команду, чтобы вставить новый guid. Вот и все!

    Итоги

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

    Код для этого расширения можно найти в репозитории примеров.

    Дополнительные ресурсы

    • Анатомия расширений
    • & Команды меню
    • Рекомендации проверка list

    Создание расширения с помощью команды меню

    Область применения:yesVisual Studio Visual Studio для Mac noVisual Studio Code no

    В этом пошаговом руководстве показано, как создать расширение с помощью команды меню, которая запускает Блокнот.

    Создание команды меню

    1. Создайте проект VSIX с именем FirstMenuCommand. Шаблон проекта VSIX можно найти в диалоговом окне «Новый проект «, выполнив поиск vsix.
    2. Когда проект откроется, добавьте пользовательский шаблон элемента командной строки с именем FirstCommand. Щелкните правой кнопкой мыши узел проекта в Обозревателе решений, а затем выберите Добавить>Новый элемент. В диалоговом окне «Добавление нового элемента» перейдите к расширяемости элементов>C# и выберите команду.В поле «Имя» в нижней части окна измените имя файла команды на FirstCommand.cs.
    3. Выполните сборку решения и запустите отладку. Появится экспериментальный экземпляр Visual Studio. Дополнительные сведения о экспериментальном экземпляре см. в разделе «Экспериментальный экземпляр».
    4. В экспериментальном экземпляре откройте окно «Управление>расширениями «. Здесь должно появиться расширение FirstMenuCommand . (При открытии Управление расширениями в рабочем экземпляре Visual Studio не отображается FirstMenuCommand).

    Теперь перейдите в меню «Сервис» в экспериментальном экземпляре. Вы увидите команду Invoke FirstCommand . На этом этапе команда открывает окно сообщения, которое говорит FirstCommand Inside FirstMenuCommand.FirstCommand.MenuItemCallback(). Мы посмотрим, как на самом деле начать Блокнот из этой команды в следующем разделе.

    Изменение обработчика команд меню

    Теперь обновим обработчик команд, чтобы запустить Блокнот.

      Остановите отладку и вернитесь к рабочему экземпляру Visual Studio. Откройте файл FirstCommand.cs и добавьте следующую инструкцию using:

    using System.Diagnostics; 
    private FirstCommand(AsyncPackage package, OleMenuCommandService commandService) < this.package = package ?? throw new ArgumentNullException(nameof(package)); commandService = commandService ?? throw new ArgumentNullException(nameof(commandService)); CommandID menuCommandID = new CommandID(CommandSet, CommandId); // Change to StartNotepad handler. MenuCommand menuItem = new MenuCommand(this.StartNotepad, menuCommandID); commandService.AddCommand(menuItem); >
    private void StartNotepad(object sender, EventArgs e)

    Очистка экспериментальной среды

    Если вы разрабатываете несколько расширений или просто изучаете результаты с различными версиями кода расширения, экспериментальная среда может перестать работать так, как это должно. В этом случае необходимо запустить скрипт сброса. Он называется сбросом экспериментального экземпляра Visual Studio и поставляется в составе пакета SDK Для Visual Studio. Этот скрипт удаляет все ссылки на расширения из экспериментальной среды, чтобы начать с нуля.

    Этот скрипт можно получить одним из двух способов:

    1. На рабочем столе найдите экспериментальный экземпляр Visual Studio.
    2. Выполните следующую команду в командной строке:

    \VisualStudioIntegration\Tools\Bin\CreateExpInstance.exe /Reset /VSInstance= /RootSuffix=Exp && PAUSE 

    Развертывание расширения

    Теперь, когда у вас есть расширение средства, работающее так, как вы хотите, пришло время подумать о его совместном использовании с друзьями и коллегами. Это легко, если они установлены Visual Studio 2015. Все, что вам нужно сделать, — отправить им созданный VSIX-файл . (Не забудьте создать его в режиме выпуска.)

    Vsix-файл для этого расширения можно найти в каталоге bin FirstMenuCommand. В частности, если вы создали конфигурацию выпуска, она будет находиться в:

    Чтобы установить расширение, ваш друг должен закрыть все открытые экземпляры Visual Studio, а затем дважды щелкните VSIX-файл, который открывает установщик VSIX. Файлы копируются в каталог %LocalAppData%\Microsoft\VisualStudio\Extensions .

    Когда ваш друг снова открывает Visual Studio, он найдет расширение FirstMenuCommand в расширениях инструментов >и Обновления. Они могут перейти к расширениям и Обновления для удаления или отключения расширения.

    Следующие шаги

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

    1. Вы можете выполнить много других действий с помощью простой команды меню:
      1. Добавление собственного значка: добавление значков в команды меню
      2. Изменение текста команды меню: изменение текста команды меню
      3. Добавление сочетания клавиш в команду: привязка сочетаний клавиш к элементам меню

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вывод из запоя в стационаре в Самаре