Как можно избежать использования конкретного жестко закодированного макроса в Visual Studio? - PullRequest
0 голосов
/ 09 октября 2009

Фон

У меня есть макрос AttachToRemoteProcess, который я использую для подключения отладчика к запущенному процессу на удаленном компьютере. Макрос использует жестко заданные имена для процесса и компьютера. Я использую макрос из кнопки панели инструментов на пользовательской панели инструментов. Я считаю, что это решение не соответствует требованиям, и мне не очень нравится иметь такой макрос в моей среде Visual Studio, поскольку он работает только для конкретной программы / среды, для которой он был жестко запрограммирован.

Я использую Visual Studio 2008.

Решения

Я могу представить два решения, но я не знаю, возможно ли их реализовать.

Альтернатива 1

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

Альтернатива 2

  • Макрос AttachToRemoteProcess можно использовать повторно, используя параметры процесса и компьютера.
  • Пользовательская панель инструментов, кнопка и макрос всегда доступны в Visual Studio. Это похоже на мое текущее решение, за исключением параметризованного макроса.
  • Когда нажата кнопка, имя компьютера и имя процесса ищутся откуда-то в решении или текущем проекте.

Вопросы

  1. Будет ли какая-нибудь альтернативная работа и как я могу это сделать?
  2. Есть ли другие альтернативные решения для того, чего я хочу достичь?

1 Ответ

1 голос
/ 04 ноября 2009

Второй вариант, похоже, работает. Вместо того, чтобы извлекать параметры из решения (возможно, с использованием VBA и класса EnvDTE.DTE.Solution), вы можете отобразить небольшую форму, чтобы выбрать процесс и компьютер, и использовать этот ввод в качестве параметров для вашего макроса. Кнопка будет постоянно отображаться на личной панели инструментов.

Я не уверен, можно ли "прикрепить" макросы к конкретным решениям. Если это невозможно, у вас не будет возможности реализовать альтернативу 1.

...