Visual Studio Code extension to view and manage OpenProject work packages directly from your editor.
- 📋 Projects View: Explore all your projects and their work packages organized in a tree structure.
- ✅ My Tasks: Quick view of all work packages assigned to you.
- 💬 Activities & Comments: Read and write comments on tasks.
- 🔔 Push Notifications: Receive alerts for new comments and status changes.
- 🔄 Status Change: Move tasks between different workflow stages.
- 🧹 Filtering: Toggle "My Tasks" filter in the Projects view to focus on your assignments.
- 📦 Git Integration: Link work packages to commits by automatically inserting formatted references (e.g.,
Refs #123) into your commit message. - 📝 Comment Templates: Insert predefined responses (e.g., "LGTM", "Needs changes") into comments with a single click.
- 📎 File Attachments: Upload files directly to tasks from VS Code.
- 💬 User Mentions: Mention project members in comments (e.g.,
@"John Doe") using the mention button. - 🖼️ Image Support: Images in comments are displayed inline.
- 🌐 Offline Mode: Work without internet. Changes are queued and synced automatically.
- 🔗 Browser Integration: Open work packages directly in OpenProject.
- 🔄 Auto-refresh: Automatic data update (configurable).
- 🌍 Multilingual Support: Fully localized in English, Spanish, Portuguese, French, Italian, and German.
Search for "OpenProject Integration" in the VS Code Marketplace.
- Clone this repository.
- Install dependencies:
npm install
- Compile the project:
npm run compile
- Press
F5in VS Code to open a new window with the extension loaded.
- Upon activating the extension for the first time, you will be prompted to configure it.
- You can also run the command
OpenProject: Authenticatefrom the Command Palette (Cmd+Shift+P/Ctrl+Shift+P).
Configure the extension in your VS Code settings:
{
"openproject.instanceUrl": "https://your-instance.openproject.com",
"openproject.autoRefresh": true,
"openproject.refreshInterval": 300,
"openproject.gitCommitMessageFormat": "Refs #{id}: {subject}",
"openproject.commentTemplates": [
"LGTM",
"Needs changes",
"On it"
]
}- Go to your OpenProject instance.
- Click on your avatar → My account → Access tokens.
- Create a new token (API) with necessary permissions.
- Copy the token and paste it when the extension requests it.
The extension adds two new views to the side bar:
- Shows all your projects.
- Expand a project to view its work packages.
- Click on a work package to view its activities.
- Toggle the Filter icon to show only tasks assigned to you.
- Lists all work packages assigned to you across all projects.
- Quick access without navigating through projects.
- Right-click on any work package in the Projects view.
- Select Copy to Commit Message.
- The configured format (default:
Refs #ID: Subject) will be appended to your Source Control commit input box.
| Command | Description |
|---|---|
OpenProject: Authenticate |
Configure or reconfigure the connection |
OpenProject: Refresh |
Manually refresh data |
OpenProject: View Activities |
View activities of a task |
OpenProject: Add Comment |
Add a quick comment |
OpenProject: Change Status |
Change the status of a task |
OpenProject: Toggle My Tasks Filter |
Toggle filter to show only your tasks |
OpenProject: Copy to Commit Message |
Copy WP reference to Git commit |
OpenProject: Open in Browser |
Open work package in browser |
Clicking on a work package opens a panel with:
- Full History of activities (comments and changes).
- Status Selector to change the task stage.
- Comment Editor with Markdown support.
- Node.js 20+
- VS Code 1.85+
# Compile
npm run compile
# Compile in watch mode
npm run watch
# Lint
npm run lint
# Tests (coming soon)
npm run test- Interactive activity history (only comments are interactive).
- File attachments support
- User mentions
- Git Integration (link commits)
- Comment templates
- Push notifications
- Offline mode with sync queue
Contributions are welcome! Please:
- Fork the repository: https://github.com/nicolasramos/openproject-vscode-extension
- Create a branch for your feature (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT
- OpenProject for their excellent API.
- VS Code Extension API for the documentation.
If you encounter any problems or have suggestions:
- 🐛 Open an issue: https://github.com/nicolasramos/openproject-vscode-extension/issues
- 💬 Contact the maintainer: @nicolasramos
Developed by @nicolasramos
Enjoy managing your projects from VS Code! 🎉