Какой лучший способ узнать о том, как разрабатывать макросы (синтаксис, системные библиотеки) в Visual Studio? - PullRequest
0 голосов
/ 24 сентября 2010

Я работаю над проектом C # с командной строкой события после сборки, которая выглядит следующим образом:

for /R "$(ProjectDir)TestData\GoldFiles" %%f in ("*.csv") DO 
    @xcopy "%%f" "R:\Root\$(TargetName)\1.0\TestData\GoldFiles\" /Y

Это мое первое знакомство с макросами Visual Studio.Я могу понять это достаточно хорошо, чтобы понять, что он делает.Теперь я хочу расширить макрос для копирования подкаталогов и их файлов.Довольно простые вещи.Я должен быть в состоянии понять это для себя.Я думал, что просто найду и раскрою онлайн Guil Development Macro Development, или что-то в этом роде, но я не могу найти руководство нигде.Студия

1 Ответ

0 голосов
/ 24 сентября 2010

Ну, в этом примере есть две части того, что вы делаете здесь.

Первая - это $(MacroVariable) переменные, которые использует Visual Studio. Все, что он делает с ними, это подставляет соответствующие значения из своих собственных настроек и из настроек проекта. Лучший способ использовать эти IMO - войти в что-то вроде редактора событий после сборки в диалоге настроек проекта и развернуть список макросов - это показывает, что они для этого проекта. Это все, что вы действительно делаете с ними.

Вторая часть заключается в том, что после того, как Visual Studio выполнит свои замены, у вас останется стандартный пакетный скрипт, который затем будет выполнен. Синтаксис пакетного сценария DOS можно найти в любой форме, и вы можете разработать и протестировать его, используя cmd.exe и редактор. Прежде чем запускать пакетный скрипт, выясните, какие переменные Visual Studio вам нужны, и задайте их как переменные среды в cmd.

Наконец, настоящий макрос Visual Studio - это подпрограмма VB.NET, которая использует API VIsual Studio для выполнения задач в среде. Вы можете получить доступ к этому из Инструменты -> Макросы -> MacrosIDE в Visual Studio.

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