2017-07-27 83 views
0

我正在创建一个IntelliJ插件,并且正在使用JavaParser作为我的一个功能。我的插件将允许用户单击方法旁边的阴影图标并自动导航到与该方法相关的测试。Intellij - 查找src目录的路径

要做到这一点,temporerily我已经使用了线:

typeSolver.add(new JavaParserTypeSolver(new File("/home/webby/IdeaProjects/project00/src/")));

我的问题是,我需要给定模块的源文件夹传递到这种类型的解算器。有没有什么办法可以通过编程方式找到源文件夹?也许来自actionEvent?

actionEvent.getData(PlatformDataKeys.PROJECT).getBasePath()

这给我:“/家庭/威比/ IdeaProjects/project00 /”,但我挣扎,看我怎么能得到

我已经大致如下的行尝试的事情源文件夹?我觉得应该有一个相当简单的方法来使用IntelliJ的SDK来做这件事,但我还没有在文档或任何其他地方发现任何东西。

欢迎任何解决方案!

非常感谢, 詹姆斯

回答

1

您可以使用

ModuleRootManager.getInstance(module).getSourceRoots() 

到模块的访问源根。详情请参阅IntelliJ SDK Docs

BTW IntelliJ IDEA为Java文件的语法树提供了特殊的API,它比其他IDE功能与外部JavaParser更高效地集成。

最好在a special forum上提问关于IntelliJ IDEA API的问题。