如果你必须创建像ReSharper这样的东西,你会从哪里开始?

时间:2009-05-26 12:45:41

标签: .net visual-studio plugins resharper

如果你必须为Visual Studio创建一个像ReSharper这样的插件,你会从哪里开始?
(不是谈论每一个功能,但我试图让它成为一个骨架)。

6 个答案:

答案 0 :(得分:5)

截至2007年初,JetBrains的家伙估计ReSharper约为30 man-years(这是俄罗斯论坛上的一篇文章的谷歌翻译版本)。他们还说精通构建编译器是不够的:他们认为最复杂的部分是缓存,AST事务,AST上下文等.Visual Studio集成并不是技术上最复杂的东西:它只是一个阅读问题大量的文档。

所以基本上就是这样:Visual Studio集成和AST管理将是实现ReSharper骨架的最复杂部分。

答案 1 :(得分:4)

我当然不会尝试使用Reflector对Resharper进行逆向工程。不,先生,不是我。从不。

答案 2 :(得分:2)

我首先要挖掘其中一个开源替代方案,例如TytanNET。显然,如果您对Resharper的特定功能感兴趣,那么可能会有更直接的选择。

答案 3 :(得分:2)

我有幸为ReSharper编写了一些插件,以对代码布局和样式进行其他更改(根据我工作的公司的编码指南)。这不是很容易,但API相当丰富,虽然记录很少,因此使用Reflector是强制性的。

我建议查看优质现有插件的源代码,例如Agent JohnsonStyleCop for ReSharper。您也可以尝试在JetBrains的ReSharper Open API论坛上获得帮助。

编辑:显然我看不懂。我以为你的意思是插件 for ReSharper。在这种情况下,我将首先从Visual Studio SDK开始,学习如何与代码交互,构建AST等.SDK中提供了许多示例。

答案 4 :(得分:2)

档案 - >新 - >项目

其他项目类型 - >可扩展性 - > Visual Studio加载项

答案 5 :(得分:1)

我可能首先要确保了解我的工具支持哪些特定的重构。从技术的角度来看,“像resharper这样的东西”是一个小将军,知道“从哪里开始”。

所以,正如我所说,我首先要确保了解业务需求。从那里开始,将项目分解为更小,更易于管理的子问题变得更容易。

相关问题