JetBrains IDE extension
Created by: anna-mmikhova
Problem to solve
Sourcegraph is not easily accessible from IDEs, we are not embedded in user workflows therefore are not top of mind for our users. We require users to come to Sourcegraph to search open source as well as their private repositories while they code. We are not a daily use product for most of our users, we're not close enough to their day to day work.
Measure of success
Having Sourcegraph available from IDEs reduces the friction and drives usage. Increased OSS usage also drives cloud users and increases PQLs. Brand recognition goes up, measured in amount of social activity around extension Per user search frequency from IDE extension surpasses .com
Solution summary
Have quality IDE extensions for JetBrains, providing an easy to use access point to Sourcegraph
What specific customers are we iterating on the problem and solution with?
We will target large enterprises with high level of JetBrains users including:
- sourcegraph/accounts#250
- sourcegraph/accounts#574
- sourcegraph/accounts#548
- sourcegraph/accounts#564
Impact on use cases
Delivery plan
The hashtags are the iteration indexes:
-
Earlier: create PD for JetBrains Extension -
#6—March–April: De-risk. Figure out the unknowns marked “small” and “medium” in this list. -
#7—April: De-risk. Figure out the two unknowns marked “large” in the same list: virtual files in editor tabs and styling the web search component -
#8—April–May: A higher fidelity prototype. A bare minimum list of search results and opening the file in an editor -
#9—May: Search result display. Build a web-based search result display component that works with Sourcegraph but resembles the IDE look and feel. -
#10—May–June: Settings and auth. Ensure that users can work with their private Sourcegraph instance and authenticate. -
#11—June: Theming. Refine the look and feel of the plugin to blend in well with the IDE. - Note: TJ pointed out their solution for Monaco: Hacky VS Code Monaco theming
-
#12—till July 3: Testing. Manual and automated testing, possibly an internal release. -
We have another scope called “Robust Infrastructure,” but we didn’t dedicate an iteration to this. Instead, we'll spread out this effort during the project.) It includes stuff like -
bundling -
moving the project to the monorepo -
setting up automated testing, and -
other background work
-
The end of Q2 is July 31, so we have a four-week gap there, but we didn't account for vacations, plus better be safe than slip.