Vi — Project Management for Visual StudioYour tasks, your timer, and your commits — in the IDE, not in a browser tab. Vi is Git-aware project management for software teams — tasks, custom workflows, approvals, time tracking and project boards. This extension puts that work queue inside Visual Studio 2022 and 2026 and adds Commit & Close: marking a task Done commits the files you pick with the task id, pushes them, and moves the task to the next step of its workflow — in one action. Commit & CloseThis is the part you will notice on day one. When you mark a task Done:
If the push fails, the task stays on its step as Awaiting push and choosing Done again retries — so a task never reaches the next person (QA, say) without its code on the remote. If there are no changes at all, the extension asks before finishing with nothing committed. If a merge is still unresolved, it refuses outright — a half-finished merge is not something to discover afterwards. Commits are also linked back to the task in Vi, so a task's history shows what actually shipped. Only commit metadata is sent — never your source code. Your task list, in a tool window
One project per solutionPick the Vi project once and it is remembered in a small Notifications, as they happenAssigned a task, a task moved to you, a rejection, a new comment — a small popup appears in the corner of the screen the moment it happens (it never takes the focus from the editor); click it to open the task, and the task list refreshes itself. A chat message for a conversation you don't have open shows up the same way. This works whether or not the Vi tool windows are open. A timer that runs itselfSet a task to In Progress and the timer starts. Switch tasks, pause, or finish, and it stops. The elapsed time shows in the panel while you work, and it is the same timer the web app sees — no double entry, no forgotten stopwatch. Start clean, shelve and restoreStarting a task while the working tree already has changes, the extension asks what to do with them first — keep them, commit them, or stash them — so another task's edits don't end up in this task's commit. Moving a task from In Progress to Queued or Blocked offers to stash its changes, and picking the task back up offers to restore them. Your half-finished work stays with the task it belongs to. Subtasks that close cleanlyClosing a subtask commits your work but does not push — the push belongs to the real task. When you close the last open subtask, the extension asks whether to finish the parent too, and if you say yes it closes it and pushes everything at once. Team chat
Direct messages and group rooms with unread counts, delivered over a live connection rather than polling — so a quick "is this ready to merge?" does not cost you a context switch. Getting started
There is nothing to configure: the tenant is the one you sign in to. Work for several
organizations? Each keeps its own login, and a solution linked to another organization
(its Requirements
Good to know
Links |