加载项和宏有什么区别?

发布于 2024-08-01 19:32:02 字数 40 浏览 4 评论 0原文

他们有什么区别? 有什么是你能对一个人做而你不能对另一个人做的?

What are their differences? What can you do with one that you cannot with another?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

韶华倾负 2024-08-08 19:32:02

在较高级别上,

  • 插件必须安装并且必须以 DLL 的形式提供。 它可以用任何编译为兼容 DLL 格式的语言(任何支持 COM 互操作的 .Net 语言)编写。
  • 宏不需要安装,只能在VB.Net中编写。 此限制仅适用于直接在宏中的代码。 仍然可以免费调用以任何语言编写的 .Net 库中的代码。

就原始功率而言,两者之间没有太大差异。 您几乎可以使用宏执行任何可以使用加载项执行的操作(启动逻辑除外)。 使用宏可能会更具挑战性,但一般来说这是可能的。

宏也是探索 Visual Studio API 的一种有趣方式。 可以使用宏记录器来记录用户操作并吐出与这些操作等效的代码。 您可以分析生成的代码以更好地处理 Visual Studio 对象模型。

At a high level

  • Addins must be installed and must be delivered in the form of a DLL. It can be written in any language which compiles to a compatible DLL format (any .Net language which supports COM interop).
  • Macros do not need to be installed but can only be written in VB.Net. This limitation only applies to the code directly in the Macro. It is still free to call code from .Net libraries written in any language.

In terms of raw power, there is not a whole lot of difference between the two. You can do practically anything with a macro that you can with an add-in (other than startup logic). It can be a bit more challenging with a macro but it's generally speaking possible.

Macros are also an interesting way to explore the API of Visual Studio. It is possible to use the Macro recorder to record user actions and spit out code which is close to the equivalent of those actions. You can analyze the resulting code to get a better handle on the Visual Studio object model.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文