use intellij idea code processing engine outside IDE programmatically


I want to use only the java code processing engine from IntelliJ idea community.

I don't need the whole IDE, the UI, and other parts. I even don't want to write a plugin for the IDE.

what I want is to have IntelliJ java code processing engine in my project to perform project analysis. that's all.

Can you help me with that? e.g. tell me which parts of the intellij-community source code I need to extract and place in my project …; or any other approches …




Hi! That sounds like our Qodana project is for you. Take a look at our community linter.


Oh, thanks!

I looked at that but it doesn't seem to have everything I need.

For example I need to access PSI, or find usages …


But how do you want to obtain PSI without a custom plugin?


I want the intellij idea core (no UI, just lexer, parser, psi, analyzers and …, also not all the components, for now I just want java, and no more languages, but for future I may want to support a few more)

then I would be able to use it's openAPI to parse and analyze projects and individual files… wouldn't I?!


That's not really possible to extract and run parts mentioned by you separately. I would recommend Qodana+custom plugin. It's also possible to take control of execution from the beginning by implementing custom ApplicationStarter but that's quite a difficult way.


Oh, ok.

Thanks for your help!


Please sign in to leave a comment.