[IntelliJ IDEA Plugin Dev] Plugin capabilities vs. modifiying IntelliJ IDEA CE


Hi, everyone.

I am currently scoping out some development work for my thesis work as a graduate student at UBC. My research area is in software engineering/developer productivity

I want to develop functionality that enables developers to see a custom cluster of search results when they use the "Find All" or "Search Everywhere" tools in IntelliJ.

Does the IntelliJ IDEA Plugin have APIs that enable programmatic access to search results returned by the "Find All" or "Search Everywhere" tools? I was looking at the open-source edition of IntelliJ (CE), and was wondering if writing a plugin instead would be better for re-use.

Comment actions Permalink

In general, I"d advise to build a custom plugin as it will be much less work.

WDYM with "Find All" - Find in Files? Reference Search?

Could you please share some more details of what you want to achieve exactly, so we can try and give more specific advice/feasibility. Thanks.

Comment actions Permalink

Hi, Yann

Thanks for the reply. I apologize for not including sufficient detail:

What I would like is if it is possible for a plugin to have access to the results that are returned from a search that is executed with the SearchEverywhere service (class name from IntelliJ IDEA CE), and the Find in Files functionality.

The research idea is still in its infancy, but the idea is for this plugin/new feature to be able to:

  • Group/categorize search results from "Find in Files"/"Reference Search" with a custom filter (maybe by location in source, reachability metrics, etc...).
  • Create a new dialogue window (maybe integrated with the Find in Files/Reference Search UI popup) that asks questions about search results to developers and uses it to guide future searches.

I hope this is enough information, I'd be happy to provide more if needed!

Comment actions Permalink

I've pinged my colleagues about this, AFAIU there exists no such extensibility for these specific features. Update: indeed there is no such mechanism for Search Everywhere. You could "emulate" it eventually by providing a "fake" duplicate of existing functionality, gather results from existing SE item providers, and sort them according to your wishes.

Custom dialogs in general can be built as documented here https://plugins.jetbrains.com/docs/intellij/dialog-wrapper.html


Please sign in to leave a comment.