【问题标题】:C# for writing macros in Visual Studio?C# 用于在 Visual Studio 中编写宏?
【发布时间】:2011-06-08 11:17:12
【问题描述】:

我不久前开始使用 C#,非常喜欢它。

我使用 VS 2008 并且非常喜欢它。

我尝试了 Resharper 并喜欢它。

现在我开始使用 VS2008 中的宏来提高我的编码速度。并偶然发现了 visual basic。而且我不喜欢这样

有没有办法在 C# 中编写宏。或者一种解决方法,为 VS 编写一个插件以达到相同的目标。让我强调一下,这是一个生产力问题。我只想自动化一些我经常使用的功能(创建宏、分配快捷方式、告诉我的触摸屏应用发送此快捷方式)...

所以从专家的角度来看,是否有一种简单的方法可以例如“折叠解决方案资源管理器中的所有项目,但展开所有以字母 A 开头的项目”(只是一个愚蠢的例子)而不使用 Visual Basic?

感谢您的任何提示, 克里斯

PS:我对录制和播放几乎很满意。但是,事实证明,一些“外部” resharper 命令(如全部折叠)不能很好地与宏配合使用(出现奇怪的 com 错误)。所以我想,嘿,一个折叠所有项目的循环,我可以做到这一点。但不幸的是,在 VB 中并不是很快 :-)

【问题讨论】:

    标签: visual-studio-2008 macros


    【解决方案1】:

    尝试用 C# 编写 DLL 并在 VB 宏中引用它。

    这样,您需要编写的唯一 VB 就是将 DLL 连接到 IDE 的代码。

    【讨论】:

    • 谢谢,我刚刚尝试了 AddIn 项目,到目前为止“我喜欢它”。我认为值得研究,似乎支持相同的基本内容,如宏。稍微复杂一点,但是,嘿,也可能更强大。宏仍然可以很好地“看到” VB 解决方案,并将其复制到 AddIn 代码中...
    【解决方案2】:

    很遗憾,Visual Studio 仅支持 VB.NET 的宏。

    我不会过分强调没有 C# 用于宏(许多 C# 开发人员似乎对 VB.NET 代码会像卫生纸一样粘在他们的鞋子上感到羞愧)。而是为您能够使用多种语言高效工作而感到自豪!

    【讨论】:

    • 真可惜 :-) 好的,现在我必须拿起我的计算器并检查“每个宏节省的时间 > 学习 VB 的时间”... VS 2010 也只有 VB?
    • 另辟蹊径 :-) 认为我将开始编写插件而不是宏。可以在 C# 中做同样的事情,如果不是更多的话。 (这确实是一种“习惯”——PHP 和 C# 必须足够了。顺便说一句,我是一名具有编程技能的工程师,所以我尝试使用尽可能少的语言,但这些语言足够体面以提高生产力)
    【解决方案3】:

    Visual Commander(由我开发)让您可以在 C# 中编写 Visual Studio 2010+(宏)命令。

    【讨论】:

      【解决方案4】:

      片段是我遇到的最接近的。 Snippet Editor 2.1 在设置它们方面做得非常好,没有太多麻烦。

      【讨论】:

      • 而且由于您拥有 ReSharper,因此您可以使用 ReSharper 的实时模板。这些比 VS sn-ps 强大得多。
      • 是的,但整个 sn-p 是一个不同的问题。我想在解决方案资源管理器中折叠项目、自动化单元测试或从设计视图更改为代码视图。所有东西都超出了 sn-ps(至少我是如何理解它们的)......
      • @Christian:很公平,但是运行单元测试可以使用 ReSharper 完成,并且从设计视图更改为代码视图是 Visual Studio 中的一个热键。解决方案资源管理器中的折叠位于 ReSharper 或插件之一(Agent Smith 或 Johnson)中。我想我在去年编写了一个宏,之后 ReSharper 推出了一项使其过时的新功能。 ;)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多