开发简单的C#应用​​程序以理解Resharper Open API

时间:2011-03-23 10:28:45

标签: c# resharper

我想开始使用Open API为Resharper开发插件。

由于可用的文档非常少,对于初学者我想开发一个简单的C#应用​​程序来提取类的详细信息(例如,类名,类中的方法数等),这样我就能理解Resharper的工作了库和它提供的内置函数。

如果我可以提取这些细节并将其打印在控制台上,以便于测试,那将是理想的。

感谢。

2 个答案:

答案 0 :(得分:3)

在文档方面,Developer Wiki提供了一些信息,还有更多信息。您可能还想查看ReSharper Extensibility Guide,这有点oudated但仍然相关。

关于如何检查文件结构的问题 - 猜猜是什么 - 你甚至不需要API!这是你需要做的:

  • 使用/ReSharper.Internal键启动Visual Studio。这将使用内部部分增强 ReSharper 顶级菜单。
  • 选择ReSharper-->Internal-->PSI Viewer。这将弹出一个类似于以下内容的表单:illustration
  • 现在,单击“创建”按钮,这将允许您创建文件,语句,表达式或成员声明。
  • 然后底部窗格将说明已解析的结构,并让您导航它。
祝你好运!

答案 1 :(得分:2)

如果你想自己解析代码,那就有点复杂了。以下是关于如何解析文件的粗略概述。

var buffer = new StringBuffer(sourceCode);
var lexer = LexerFactory.CreateLexer(buffer);
var defines = EmptyArray<PreProcessingDirective>.Instance; // assume there are none
var parser = new CSharpParser(lexer, defines);
var file = parser.ParseFile() as CSharpFile;

现在您可以使用file来导航代码结构。

顺便说一句,我强烈建议使用F#。这是为了这种事情。