Personal workload management for Redmine β log time, track capacity, stay in flow.
Note
This extension is currently in active development. While stable for daily use, expect occasional breaking changes. Please report any issues to help improve the extension.
1. Install extension
2. Ctrl+Shift+P β "Redmyne: Set API Key"
3. Enter URL + API key
Your issues appear in the sidebar. Start logging time.
| Shortcut | Action |
|---|---|
Ctrl+Y Ctrl+Y |
Quick log time |
Ctrl+Y Ctrl+N |
Quick create issue |
Ctrl+Y Ctrl+T |
Toggle timer |
(Mac: use Cmd instead of Ctrl)
Browse your assigned issues grouped by project.
Filters:
- My Open Issues (default)
- All Open Issues
- My Closed Issues
- All Issues
Sorting: By #ID, Subject, or Assignee (click to toggle direction)
View modes: Tree (hierarchy) or List (flat)
Actions (right-click):
- Quick Update (status + assignee + comment in one step)
- Log Time
- Set % Done
- Create Sub-Issue
- Show in Gantt
- Open in Browser
- Copy URL
Colors:
- π΄ Overbooked β not enough hours before due date
- π‘ At risk β tight schedule
- π’ On track β comfortable buffer
See logged time grouped by Today, This Week, This Month.
Filters: My Time, All Users
Sorting: By #ID, Subject, Comment, or User
Actions (right-click):
- Edit Time Entry
- Delete Time Entry
- Open in Browser
Add entries: Right-click any date β Add Time Entry
Copy/paste: Copy single entries, days, or weeks β paste to other dates
Custom fields: Required and optional custom fields prompted when logging time
Interactive timeline for workload visualization.
Editing:
- Drag bar edges β adjust start or due date
- Drag bar body β move both dates together
- Right-click bar β Update issue dialog
Selection:
- Click β select single issue
- Ctrl+click β toggle selection
- Shift+click β select range
- Ctrl+A β select all
- Drag selected β bulk move
Navigation:
- Arrow keys β move focus
- Home/End β first/last issue
- Enter β open issue actions
- Minimap (bottom) β click/drag to navigate
Visualization:
- Zoom: Day / Week / Month / Quarter / Year
- Intensity toggle β daily work distribution on bars
- Critical path toggle β highlight blocking chains
- Capacity ribbon β daily utilization overview
- % Done shown on bars
- Overdue issues β red outline
- Project filter β checkboxes to show/hide
Dependencies:
- Drag from circle β create relation
- Right-click arrow β remove relation
- Relation types: blocks, precedes, follows, relates, duplicates, copied
Other:
- Undo/redo for all edits
- Project bars show aggregate dates
Week-by-week time entry editing in a spreadsheet-style webview.
- Open via table icon in Time Entries pane header
- Cascading dropdowns: Client β Project β Task β Activity
- Daily hours input with dirty tracking and draft mode
- Undo/redo (
Ctrl+Z/Ctrl+Shift+Z) - Sortable columns, searchable issue picker
- Copy/paste rows, duplicate entries
- Custom fields support (required + optional)
Structured work sessions with auto-logging.
Ctrl+Y Ctrl+Tβ choose number of units- Assign issues/activities to each unit
- Work 45min β break 15min β repeat
- Time auto-logged when unit completes
Features:
- Status bar countdown with progress bar
- Sound notification
- State persists across restarts
- Add/remove/reorder units
- Skip break option
Stage tasks before timing them.
- Add standalone tasks or link to Redmine issues
- Priority levels: High / Medium / Low
- Status: Todo β In Progress β Done
- Tasks grouped by client/project hierarchy
- Add to Today's Plan when ready
Queue write operations locally before sending to Redmine.
- Toggle via command palette or status bar
- Review panel to inspect, apply, or discard pending drafts
- Per-draft or bulk apply/discard
- Server identity validation
- Persists across restarts
| Action | How |
|---|---|
| Log time | Ctrl+Y Ctrl+Y β pick issue β enter hours (2h, 1:30, 1.5) |
| Create issue | Ctrl+Y Ctrl+N β project β tracker β subject β done |
| Create sub-issue | Right-click issue β Create Sub-Issue |
| Quick update | Right-click issue β Quick Update (batch changes) |
| View history | Right-click issue β View History |
Timer: Shows countdown, issue number, progress (e.g., 32:15 #1234 [Dev] (3/6))
Workload: Enable to see 25h left, +8h buffer (opt-in)
| Setting | Description | Default |
|---|---|---|
redmyne.serverUrl |
Redmine server URL (HTTPS required) | β |
redmyne.logging.enabled |
Log API requests to output channel for debugging | true |
redmyne.maxConcurrentRequests |
Maximum concurrent API requests | 2 |
API keys stored via Redmyne: Set API Key command (encrypted keychain).
| Setting | Description | Default |
|---|---|---|
redmyne.workingHours.weeklySchedule |
Hours per day for capacity calculations | 8h Mon-Fri |
"redmyne.workingHours.weeklySchedule": {
"Mon": 8, "Tue": 8, "Wed": 8, "Thu": 8, "Fri": 8,
"Sat": 0, "Sun": 0
}Monthly overrides: Redmyne: Edit Monthly Working Hours for varying FTE per month.
| Setting | Description | Default |
|---|---|---|
redmyne.statusBar.showWorkload |
Show workload summary ("25h left, +8h buffer") | false |
| Setting | Description | Default |
|---|---|---|
redmyne.autoUpdateDonePercent |
Auto-update % Done when logging time (caps at 99%) | false |
redmyne.showCalculatedPriority |
Show calculated priority score in Gantt tooltips | false |
redmyne.gantt.visibleRelationTypes |
Relation types shown as dependency arrows in Gantt | ["blocks","precedes"] |
redmyne.gantt.perfDebug |
Enable performance debug logging for Gantt | false |
| Setting | Description | Default |
|---|---|---|
redmyne.showProjectMembers |
Show project members in tooltips (Issues tree + Gantt) | true |
redmyne.hideProjectMembersFor |
Project IDs to exclude from member display | [] |
| Setting | Description | Default |
|---|---|---|
redmyne.autoUpdateIssues |
Issue IDs that auto-update %done when logging time | [] |
redmyne.adHocBudgetIssues |
Issue IDs tagged as ad-hoc budget pools | [] |
redmyne.precedenceIssues |
Issue IDs scheduled before all others in Gantt | [] |
| Setting | Description | Default |
|---|---|---|
redmyne.caFile |
Custom CA certificate file path (PEM/CRT) for TLS validation | β |
- VS Code 1.105+ or Positron 2025.12.0+
- Redmine with REST API enabled (
/settingsβ API tab) - API key from My Account β API access key
- API keys stored in encrypted system keychain (Windows Credential Manager / macOS Keychain / Linux libsecret)
- HTTPS required β HTTP connections rejected
- Sensitive data redacted in API logs
Redmine's web UI is for project managers: "How is the project doing?"
This extension is for developers: "How is MY workload doing?"
- What's assigned to me?
- Am I overbooked?
- How much did I log today?
Stay in your IDE. Stay in flow.
Commands Reference
| Command | Description |
|---|---|
Redmyne: Set API Key |
Configure server URL and API key |
Log Time |
Log time with keyboard (Ctrl+Y Ctrl+Y) |
Create Issue |
Create issue wizard (Ctrl+Y Ctrl+N) |
Toggle Timer |
Start/stop timer (Ctrl+Y Ctrl+T) |
Show Gantt |
Open Gantt chart |
Time Sheet |
Open week-by-week time entry editor |
Redmyne: Edit Monthly Working Hours |
Configure FTE per month |
Redmyne: Show API Output |
View API request/response log |
Redmyne: Toggle API Logging |
Enable/disable request logging |
Redmyne: Review Drafts |
Review pending draft operations |
Redmyne: Apply All Drafts |
Send all queued drafts to Redmine |
Redmyne: Discard All Drafts |
Discard all pending drafts |
Development
npm install # deps + git hooks
npm run compile # build
npm test # tests
npm run ci # lint + typecheck + testSee CONTRIBUTING.md
Attributions
Fork of vscode-redmine by Tomasz DomaΕski (MIT).
Contributors: DoΔan ΓzdoΔan (tree view), Markus Amshove (quick update).
Logo remixed from Redmine Logo Β© 2009 Martin Herr (CC BY-SA 2.5).