Task Canvas lets you edit multiple code fragments simultaneously in the one window in Visual Studio 2015/2017/2019. It significantly reduces tab switching and jumping from place to place within a file:
From the Task Canvas submenu in the Visual Studio editor context menu you can add to the Task Canvas window the whole file, the current method, the currently selected text or the definition of the method under the caret:
Adding the method definition works similar to the Peek Definition in Visual Studio, but opens the target method as a code block in the Task Canvas window.
For more convenient and faster access you can assign keyboard shortcuts to these commands:
You can reorder code blocks in a task by dragging the code block tab and dropping on another tab.
You can open the source document (in a standard Visual Studio tab) for the currently selected code block by clicking the corresponding button on the Task Canvas toolbar.
You can rename a code block by clicking the corresponding button on the Task Canvas toolbar:
On a wide screen the Task Canvas window arranges code blocks in multiple columns. For example, when maximized on a 1920 px wide monitor, there are two columns:
You can add notes for free form comments, instructions or temporary text edits. While normal code blocks are based on solution source files, notes are stored in the solution tasks file. The Visual Studio text editor is used to display and modify them:
Task Canvas interface is task-focused to reduce information overload and make multitasking easy. All currently open document tabs and code blocks are automatically saved in the current task context. It is most useful when you have repeatable periodic tasks or work on several tasks in parallel. To start working on a task just select it from the list:
To create a new task click the Add task button. The Close all documents option helps you clean the workspace from the previous task:
Click the Organize Tasks button to rename, reorder or delete tasks:
Task information is stored per-solution in a .TaskCanvasSL file in the same directory with your .sln file.
To share a task with your team members, you can export the current task to a file using the Export task toolbar button. On another computer it can be imported using the Import task button.
You can copy notes, code blocks, tabs and startup projects from the current task to other tasks using the Copy to Other Task dialog, that can be opened from the Task Canvas context menu or with a keyboard shortcut for the EditorContextMenus.CodeWindow.TaskCanvas.CopytoOtherTask command:
The Go to Associated Task context menu command allows you to go from the current position in a document to a task that includes this code fragment. It is opposite of the Go to source document toolbar command.
Window position by default is Floating window to position the Task Canvas window on a separate monitor or alongside the main Visual Studio window:
Selecting Standard document tab keeps the Task Canvas window inside the main Visual Studio window:
To maintain the first position for the Task Canvas tab in the document well, preferred approach is to use Tabs Studio. Activate the PriorityGroup add-in and select "Add to priority group" from Task Canvas tab context menu. After that the Task Canvas tab will always be first for all solutions.
Without Tabs Studio, set "Maintain pin status if document is removed from well" in Visual Studio options, pin the Task Canvas tab and one time manually close the Task Canvas tab.
By default, the Task Canvas window is opened automatically when your solution is fully loaded and closed automatically when you close the solution. You can set Startup mode to Automatic for solutions with tasks to prevent the Task Canvas window from opening for new solutions - only if you open the Task Canvas window manually (and create the .TaskCanvasSL file) then the Task Canvas window will be opened automatically for this solution. Select Manual to prevent all automatic opening of the Task Canvas window.
To open or activate the Task Canvas window manually, assign a keyboard shortcut to the View.TaskCanvas command or select Task Canvas from the View menu:
The Task Canvas window is closed automatically when you close the solution. If you try to close the Task Canvas window manually, the confirmation dialog is displayed. Technically, the Task Canvas window is a document tab and when you, for example, run the Close All Documents command, Visual Studio tries to close the Task Canvas window as well. This dialog prevents such accidental closing. On the other hand, if you frequently open and close the Task Canvas window manually, you may want to disable this confirmation by unchecking the Confirm before closing option.
The Maintain Git branch option makes it easy to switch between tasks in different branches. When enabled, it saves the current branch name for each task and when you switch tasks it automatically switches branches.
Task Canvas options are stored globally in the %AppData%\Vlasov Studio\Task Canvas\1.0\settings.TaskCanvasGS file.