OpenProject VS Code Extension

Visual Studio Code extension to view and manage OpenProject work packages directly from your editor.
✨ Features
- 📋 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](https://github.com/nicolasramos/openproject-vscode-extension/issues/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.
📦 Installation
From Marketplace
Search for "OpenProject Integration" in the VS Code Marketplace.
From Source
- Clone this repository.
- Install dependencies:
npm install
- Compile the project:
npm run compile
- Press
F5 in VS Code to open a new window with the extension loaded.
⚙️ Configuration
Initial Setup
- Upon activating the extension for the first time, you will be prompted to configure it.
- You can also run the command
OpenProject: Authenticate from the Command Palette (Cmd+Shift+P / Ctrl+Shift+P).
Manual Configuration
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"
]
}
Getting your API Token
- 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.
🚀 Usage
Views
The extension adds two new views to the side bar:
📁 Projects
- 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.
✅ My Tasks
- Lists all work packages assigned to you across all projects.
- Quick access without navigating through projects.
Git Integration
- 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.
Available Commands
| 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 |
Activity Panel
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.
🔧 Development
Requirements
- Node.js 20+
- VS Code 1.85+
Available Scripts
# Compile
npm run compile
# Compile in watch mode
npm run watch
# Lint
npm run lint
# Tests (coming soon)
npm run test
🐛 Known Issues
- [ ] Interactive activity history (only comments are interactive).
📝 Roadmap
- [x] File attachments support
- [x] User mentions
- [x] Git Integration (link commits)
- [x] Comment templates
- [x] Push notifications
- [x] Offline mode with sync queue
🤝 Contributing
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
📄 License
MIT
🙏 Acknowledgements
📧 Support
If you encounter any problems or have suggestions:
Developed by @nicolasramos
Enjoy managing your projects from VS Code! 🎉