【问题标题】:What's the best way to learn about how to develop macros (syntax, system libraries) in Visual Studio?了解如何在 Visual Studio 中开发宏(语法、系统库)的最佳方式是什么?
【发布时间】:2024-01-17 03:08:01
【问题描述】:

我正在开发一个 C# 项目,该项目具有如下所示的构建后事件命令行:

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

这是我第一次接触 Visual Studio 宏。我可以很好地理解这一点,知道它在做什么。现在我想扩展宏来复制子目录及其文件。很基本的东西。我应该能够自己弄清楚。我以为我会找到并打开在线宏开发指南或类似的东西,但我在任何地方都找不到指南。

学习 Visual Studio 宏的语法和开发的最佳方法是什么?

【问题讨论】:

    标签: visual-studio macros


    【解决方案1】:

    嗯,在这个例子中,你在这里做的事情有两个部分。

    第一个是 Visual Studio 使用的 $(MacroVariable) 变量。它所做的只是从它自己的设置和项目的设置中替换适当的值。使用这些 IMO 的最佳方法是进入项目设置对话框中的构建后事件编辑器之类的内容,然后展开宏列表 - 这显示了它们对于该项目的用途。这就是你真正使用这些所做的一切。

    第二部分是在 Visual Studio 执行替换后,您会得到一个标准批处理脚本,然后执行该脚本。 DOS 批处理脚本语法的在线帮助有很多,您可以使用 cmd.exe 和编辑器来开发和测试这些帮助。在运行批处理脚本之前,找出您想要的 Visual Studio 变量并将它们设置为 cmd 中的环境变量。

    最后,一个实际的 Visual Studio 宏是一个 VB.NET 子例程,它使用 VIsual Studio API 在环境中执行任务。您可以从 Visual Studio 中的 Tools -> Macros -> MacrosIDE 访问它。

    【讨论】:

    • 谢谢。术语“宏”在整个 microsoft 文档中被广泛使用。大多数时候,我认为“宏”是最笼统的术语。
    • 不客气。我知道你的意思 - 宏 在很多地方都被大量使用。