在为 Visual Studio 编写插件或者扩展的时候,开发者通常必须在 EnvDTE 和 IVs 接口之间选择。前者虽然易于使用但是有些限制,后者暴露了 Visual Studio 的所有内容但是包含了“很多 COM 包袱”。在尝试创建既易于使用又非常强大的类库的过程中,Clarius Labs 提供了 Clide ,他们称之为一个“令人愉快的 Visual Studio 自动化 API”。
Clide 使用了时髦的.NET API 代码风格,例如使用了 LINQ 和扩展方法。下面是 Daniel Cazzulino 提供的一段代码示例,该代码可以查询一个解决方案中的所有项目的名称。
var projects = DevEnv.Get(serviceProvider) .SolutionExplorer() .Solution .Traverse() .OfType<IProjectNode>() .Select(project => project.DisplayName) .ToList();
Clide 是一个基于自定义协议发布的开源项目。文档可以从NuDoq 上获取。
查看英文原文: Introducing Clide, an “Enjoyable Visual Studio Automation API”
评论