TemplateFREE⏱️ 15 minutes
IDE Extension Specification Template
A structured template for specifying IDE extension features, commands, UI panels, and integration points.
Updated 2026-03-05
IDE Extension Specification
| # | Item | Category | Priority | Owner | Status | Notes | |
|---|---|---|---|---|---|---|---|
| 1 | |||||||
| 2 | |||||||
| 3 | |||||||
| 4 | |||||||
| 5 |
#1
#2
#3
#4
#5
Edit the values above to try it with your own data. Your changes are saved locally.
Get this template
Choose your preferred format. Google Sheets and Notion are free, no account needed.
Frequently Asked Questions
Should I build for VS Code only or support multiple IDEs?+
Start with VS Code. It has the largest developer market share and the most mature extension API. Once the VS Code extension is stable and has users, evaluate JetBrains (second largest market) based on user requests. Do not build for multiple IDEs simultaneously in v1 since the APIs differ significantly and you will ship slower on all platforms. The [Technical PM Handbook](/technical-pm-guide) covers how to sequence platform decisions.
How do I handle authentication in an IDE extension?+
Use the IDE's built-in authentication API when available (VS Code has `authentication.getSession`). For custom auth, open the browser for the OAuth flow and capture the callback via a local redirect URI. Store tokens in the IDE's secret storage (VS Code `SecretStorage`), never in plaintext settings. Support environment variable overrides for CI/CD environments.
What is the right balance between inline UI and separate panels?+
Use inline UI (decorations, code lenses, hover providers) for contextual information that relates to specific lines of code. Use panels for workflows that require browsing, searching, or interacting with multiple items. The rule of thumb: if the developer needs to see the information while reading code, it belongs inline. If they need to take action on a list of items, it belongs in a panel.
How do I test IDE extensions?+
Use the extension testing framework provided by the IDE (VS Code has `@vscode/test-electron`). Write unit tests for business logic that does not depend on the IDE API. Write integration tests that launch a test IDE instance with sample workspaces for UI interactions. Test with large workspaces (10K+ files) to catch performance regressions. The [testing framework template](/templates) covers test strategy design.
How do I distribute and update the extension?+
Publish to the IDE marketplace (VS Code Marketplace, JetBrains Marketplace). Use semantic versioning. Publish pre-release versions for beta testing. For enterprise customers, support VSIX sideloading and private marketplace registries. Set up CI to publish automatically on tagged releases. Include a changelog in the extension manifest so users can see what changed before updating. ---
Explore More Templates
Browse our full library of PM templates, or generate a custom version with AI.