有没有一种(相对)简单的方法来为 Visual Studio 创建自定义 C# "block"编辑器?



我正在按照rspec的思路试验.NET测试框架,并希望为此目的在Visual Studio中实现一个自定义编辑器。

对于外行来说,rspec 是 ruby 的测试框架,测试(或规范)如下所示:

describe Bowling, "#score" do
  it "returns 0 for all gutter game" do
    bowling = Bowling.new
    bowling.hit(0)
    bowling.score.should eq(0)
  end
end

在 ruby 中,可以将 rspec 测试编写为块嵌套的匿名函数,而无需任何封闭方法或类 - 这由运行时幕后的框架处理。

我想在Visual Studio 2012和/或2013中做一些事情。完整的 C# 测试文件可能如下所示:

using System;
using BowlingApp;
using Specs;
@spec DefaultSpec 
Describe(typeof(Bowling), "#score", () => {
    It("returns 0 for all gutter game", () => {
        var bowling = new Bowling();
        bowling.Hit(0);
        Expect(bowling.Score).ToEqual(0);
    });
});

。其中,@spec 语句指定将在后台生成的"封闭"类型的基类(在本例中为在设计时)。基类还将提供上面例子中使用的DescribeItExpect方法。

为了使这个测试框架实用,我需要为上述格式定制 VS 编辑器,并带有语法突出显示和智能感知。

是否可以"重新利用"VS 中现有的 C# 编辑器来执行此操作,还是我必须从头开始做所有事情?如果是这样,是否有任何开源工具或框架可以帮助我创建这样的编辑器?

有没有简单的方法可以做到这一点?不。你可以用投影缓冲区做这样的技巧,但真的很难做到正确。

相关内容

  • 没有找到相关文章

最新更新