Productivity Power Tools 2015 for Visual Studio 2015
is an extension pack that brings powerful tools for improved developer productivity.
What's New - Hot-fix July 2016 [ Release Notes ]
- Change default setting for Custom Document Well - Sort by Most Recently Used to OFF
What's New - July 2016 [ Release Notes ]
- Major performance improvements for Solution Error Visualizer
- Solution Explorer no longer ignores errors in files that have been filtered out by project scope in the Error List
- New feature for Custom Document Well: Sort by Most Recently Used
(Can be turned on in Tools->Options->Productivity Power Tools->Custom Document Well
Setting: Sorting->Most recently used)
If you like Productivity Power Tools, we'd love to hear your views on which parts are most important to you in your day to day work. Please take a few minutes to fill out the survey online athttp://aka.ms/vspptsurvey
You can also Follow us on Facebook!
Also, try out these experimental DevLabs extensions:
Summary of features
- Peek Help
- Solution Error Visualizer
- Structure Visualizer
- Double click to maximize windows
- Timestamp margin
- Quick tasks – Edit Present On
- Ctrl + Click to Peek Definition / Go To Definition
- Recently Closed Documents
- Match Margin
- Power Commands context menu cleanup
- Syntactic Line Compression
- Quick Tasks
- Power Commands
- Middle-Click Scrolling
- Custom Document Well
- Tools Options Support
- HTML Copy
- Fix Mixed Tabs
- Align Assignments
- Column Guides
Changes since Productivity Power Tools 2013
This release contains all the features of the previousProductivity Power Tools 2013 with the following changes to work with Visual Studio 2015 RTM:
1. Solution Error Visualizer has been updated to take advantage of the new Visual Studio 2015 Error List and its advanced filtering capabilities; filters applied in the error list will now apply to the visualizer too.
2. Color Printing, Colorized Parameter Help andOrganize VB Imports are all incorporated into the Visual Studio 2015 core product (so they are no longer needed in Productivity Power Tools)
Build 14.0.24214.0
- Eliminate UI delays caused by Solution Errors Visualizer extension
- Improve Solution Error Visualizer extension integration with Visual Studio Error List
- Custom Doc Well now sorts tabs by most recently used order by default (customizable via Tools/Options)
- Fix an intermittent crash on moving document tab
- Fixed "Open Command Prompt" power command always opening VS2010 prompt if VS2010 is installed
- CopyAsHTML improvements
- Fix crash on editing Persian text
Detailed feature breakdown
Peek Help (Alt + F1)
We have introduced a feature called Peek Help that can be invoked from the context menu or using the keyboard shortcutAlt+F1. This brings up the F1 Help content inline in the editor, below the symbol, using Peek. This is a full browser control, so you can do navigation, find and so forth.
Solution Error Visualizer
This feature adds error, warning, and message squiggles to Solution Explorer. The information is fetched from the Error List and directly displayed in the Solution Explorer tree view. Hovering over the nodes with squiggles brings up a pop-up with the error/warning/message information.
Filtering
You can filter the Solution Explorer to just files with warnings/errors/messages using filter dropdown in the Solution Explorer toolbar. You can create a new Solution Explorer view, filter it down to Errors and use it as a dedicated Error window.
Note: Filtering the Error List by file scope (ie. Open Documents, Current Project, Current Document, etc) will not affect the display in the Solution Explorer.
Options
You can turn off categories of squiggles or the popup in Tools > Options Productivity Power Tools > Solution Error Visualizer.
Structure Visualizer
Structure Visualizer adds visual cues to syntactically signify blocks of code. The blocks allow you to quickly figure out the scope of a class, method and many other code scopes. Hovering over the block visual cues brings up a preview tooltip to help you visualize the scope you’re in
Scrollbar markers
The blocks are also marked on the Scrollbar with previews. As usual, you can turn this on/off through Tools Options > Productivity Power Tools > Other extensions > Show code structure in the margin.
Double-click to maximize windows
A quick, easy and temporary way to maximize any docked window by double-clicking its title bar and restoring/docking by double-clicking again.
Timestamp margin
Adds the timestamp information to the Output Window in Debug mode: (minutes. Seconds. Milliseconds)
You can customize the time format under Tools >Options > Productivity Power Tools > Other Extensions > Timestamp margin options
Quick Tasks - PresentEdit
By popular request, we have added the ability to customize the Font family and the Font size used by the PresentOn Quick task. To customize these settings, simply type “PresentEdit” in the Quick Launch search box to open a simple Xml file where you can specify the exact Font family and size.
Once you finish your customization, simply Save the file and you are done. Don’t worry about getting something wrong or making an error in this file. Any errors are automatically ignored and a new clean version of the file is created.
Ctrl + Click to Peek Definition
This feature enables clickable hyperlinks to symbols in source code in your code by holding down the Ctrl key when hovering with the mouse.
Ctrl + Click on any symbol to invoke Peek Definition on it.
This is the default behavior but if you want Ctrl + Click to Go To Definition, you can get that behavior by unchecking this option in Tools > Options > Productivity Power Tools > Other Extensions > Ctrl Click shows definitions in Peek.
Recently Closed Documents (Ctrl + Shift + Z)
Reopens a closed document, returning the cursor to its last position. Recently closed documents can be reopened through the Edit menu and clicking Undo Close or by using the Ctrl +Shift + Z shortcut.
You can view your recently closed documents by going to File > Recently Closed Documents menu.
Match Margin
This feature highlights all the textual matches of token at the caret location in the Editor.
Power Commands context menu cleanup
We have cleaned up the Solution Explorer context menu by moving some of the Power Command items into their own group. You still have all of the Power Commands intact, but we have just moved them into better locations within the Context Menu.
Syntactic Line Compression
Syntactic line compression enables you to make better use of your screen's vertical real-estate. It shrinks lines that contain neither letters nor numbers by 25% vertically, allowing more lines to be displayed in the editor. Other lines are not affected.
Quick Tasks
The Quick Launch Tasks extension provides easy access to commonly used options (EG: toggling line numbers) as well as popular functionality to VS (EG: collapsing/expanding regions). To activate Quick Tasks, access Quick Launch and write @tasks followed by one of the following options:
Option | Description |
CollapseRegions | Collapses all #region tags in the current document |
ExpandRegion | Expands all #region tags in the current document |
TxtFont- | Decreases the text editor’s font size by 2 (min 6) |
TxtFont0 | Resets the text editor’s font size to the default 10 |
TxtFont+ | Increases the text editor’s font size by 2 (max 60) |
TxtFontReset | Resets all text editor font settings to their default values (based on current theme) |
EnvFont- | Decreases the environment’s font size by 2 (min 5) |
EnvFont0 | Resets the environment’s font size to the default 9 |
EnvFont+ | Increases the environment’s font size by 2 (max 59) |
EnvFontReset | Resets all environment font settings to their default values (based on current theme) |
InsTabsOff | Inserts spaces instead of a tab whenever a tab is inserted (all languages) |
InsTabsOn | Keeps the tab that is inserted instead of inserting spaces (all languages) |
LineNumOff | Turns off line numbers in the text editor (all languages) |
LineNumOn | Turns on line numbers in the text editor (all languages) |
PresentOff | Turns off presenter mode and returns the environment and text editor fonts to their pre-presentation values |
PresentOn | Turns on presenter mode, which increases environment and text editor font sizes, and sets them to certain font families, so that VS is easier to see and read on a projector |
PresentEdit | Allows you to customize the Font family and Font size used by the PresentOn extension |
ResetToBasic | Resets VS to Visual Basic development settings |
ResetToC++ | Resets VS to Visual C++ development settings |
ResetToC# | Resets VS to Visual C# development settings |
ResetToF# | Resets VS to Visual F# development settings |
ResetToGeneral | Resets VS to General development settings |
ResetToJavaScript | Resets VS to JavaScript for Windows 8 Apps development settings |
ResetToLightSwitch | Resets VS to LightSwitch development settings |
ResetToSQL | Resets VS to SQL Server development settings |
ResetToWeb | Resets VS to Web development settings |
ResetToWebCode | Resets VS to Web (Code Only) development settings |
SwitchCode | Switches between designer/code behind or header/source files, opening the file if Necessary |
TabSize- | Decreases the tab and indent size by 2 (all languages) |
TabSize0 | Resets the tab and indent size to the default 4 (all languages) |
TabSize+ | Increases the tab and indent size by 2 (all languages) |
WordWrapOff | Turns off the text editor’s word wrap (all languages) |
WordWrapOn | Turns on the text editor’s word wrap (all languages) |
NOTE: The ResetTo… tasks are added based on the languages installed with Visual Studio
Power Commands
Power Commands is a set of useful extensions for the Visual Studio 2012 adding additional functionality to various areas of the IDE.
Individual power commands can be enabled or disabled from the Power Commands page in Tools -> Options in Visual Studio. It can be found under the Productivity Power Tools category. Most Power Commands are enabled by default. Below is a list of the commands included in Power Commands for Visual Studio 2012.
Format document on save
Enables formatting of tabs, spaces and other characters in a document to be saved. It is equivalent to using Format Document command under the Edit->Advanced menu. Disabled by default.
Remove and Sort Usings on save
Removes unused using statements and sorts the remaining using statements in the C# document being saved. Disabled by default.
Clear All Panes
Adds a button on the toolbar of the Output window that enables the user to clear all output panes at once.
Copy Path
Enables the file path of solutions, projects, folders and projects items to be copied from Solution Explorer via right-click menu.
Email CodeSnippet
Creates an email with the currently selected text. Available via right-click menu in the source code editor.
Insert Guid Attribute
Adds a Guid attribute to the selected class via right-click menu when the current selection is in class scope.
Show All Files
Shows the hidden files in all projects displayed in Solution Explorer when the solution node is selected. It enhances the Show All Files button, which would otherwise show the hidden files in the selected project node.
Collapse Projects
Collapses a project or projects in the Solution Explorer starting from the root selected node. This option resides in three different places on the Solution Explorer: Solution, Solution folders and Project nodes respectively.
Copy/Paste Class
Copies/Pastes a selected class entire content to/from the clipboard. When pasting a class, it is renamed to avoid a compilation error. It can be executed from a single project item or a project item with dependent sub items.
Copy/Paste References
Copies/Pastes one or more references to/from the clipboard. It can be executed from the references node, a single reference node or set of reference nodes.
Copy As Project Reference
Copies a project as a project reference to the clipboard. It can be executed from a project node.
Edit Project File
Opens the MSBuild project file for a selected project inside Visual Studio. It combines the existing Unload Project and Edit Project commands.
Open Containing Folder
Opens a Windows Explorer window pointing to the physical path of a selected item. It can be executed from a project item node.
Open Command Prompt
Opens a Visual Studio command prompt pointing to the physical path of a selected item. It can be executed from four different places: solution, project, folder and project item nodes respectively.
Unload Projects
Unloads all projects in a solution. This can be useful in MSBuild scenarios when multiple projects are being edited. This command can be executed from the solution node.
Reload Projects
Reloads all unloaded projects in a solution. It can be executed from the solution node.
Remove and Sort Usings
Removes and sort using statements for all classes given a project. It is useful, for example, in removing or organizing the using statements generated by a wizard. This command can be executed from a solution node or a single project node.
Extract Constant
Creates a constant definition statement for a selected text. Extracting a constant effectively names a literal value, which can improve readability. This command can be executed from the code editor by right-clicking selected text.
Clear Recent File List
Clears the Visual Studio recent file list. The Clear Recent File List command brings up a dialog that allows any or all recent files to be selected.
Clear Recent Project List
Clears the Visual Studio recent project list. The Clear Recent Project List command brings up a dialog that allows any or all recent projects to be selected.
Transform Templates
Executes a custom tool with associated text templates items. It can be executed from a DSL project node or a DSL folder node.
Close All
Closes all documents. It can be executed from a document tab.
Middle-Click Scrolling
Enables you can press down on your scroll wheel and the move the mouse to quickly scroll through your document!
Custom Document Well
This extension allows users to change the behavior of their document tabs. Users can customize the behavior and look of the tabs via the Tools > Options dialog.
- Scrollable tabs
Maintain spatial consistency of the documents that are included in the document well. - Vertical tabs
Document tabs are shown vertically, allowing you to fit more tabs than are normally visible when shown horizontally. - Show close button in tab well
Show the close document button in the document well that will close the active tab, similar to Visual Studio 2008. - Tab Behavior
- More Commands for Navigation
Using Ctrl+Alt+Page Down and Page Up to navigate between tabs (including pinned) in visual order.
Activate a specific pinned tab by Ctrl+Num Pad 1 through 0
Activate a specific regular tab by Ctrl+Alt+Num Pad 1 through 0 - Sorting
- Sort by most recently used
Whenever a tab becomes active, it is moved to the left - such that all tabs will be sorted in most recently used order. - Sort tabs by project
Tabs will be sorted by the project they belong to, thus keeping them always together in the document tab well. - Sort tabs alphabetically
Tabs will be sorted alphabetically. When Sort By Project is turned on, tabs will be sorted first by project and then alphabetically.
- Tab UI
- Color tabs according to their project or according to regular expressions
This option permits tabs to be colored according to the project they belong to. This is particularly useful when sorting tabs by project, as it allows you to immediately identify different groups of project documents.
You can also configure regular expressions and assign a color to each one. If the name of a tab matches the configured regular expression, it will be colored with the assigned color.
- Miscellenous options that modify the Tab UI
- Show close button in tab
- Modify dirty indicator style
This option allows you to select from a set of different dirty indicators that you might prefer over the asterisk. - Modify minimum and maximum tab size
Allows you to modify minimum and maximum tab size. Try setting minimum and maximum sizes to the same value, and you will have evenly spaced tabs.
Tools Options Support
As much as we try, some experiences in the Productivity Power Tools are not for everyone. If you want to shut off an extension, go to Tools | Options | Productivity Power Tools and find the extension on the right (remember to scroll!). By toggling the slider to Off and restarting Visual Studio, that extension will no longer be loaded and you will revert to the default Visual Studio behavior.
HTML Copy
Provides support for the HTML Clipboard format when cutting for copying code from the editor. This means there is no need to fix up the formatting of code when pasting it into a TFS work item form or another HTML based control. It is possible to modify the html format that gets copied to the clipboard. Users can customize the behavior in Tools > Options > Productivity Power Tools > HTML Copy.
HTML Copy improvements
We have introduced a new command Edit > Copy Html Markup that puts the raw HTML for the selection into the clipboard in plain text format, so that you can paste it into HTML editors that don’t support WYSIWYG or Paste Special.
We added two new options when copying: ReplaceTabsWithSpaces andUnindentToRemoveExtraLeadingWhitespace, which detects a common whitespace prefix and trims it so that the copied code is aligned with left margin wherever you paste it. For example, with all lines indented 12 spaces, this option will detect a common whitespace prefix of 12 spaces and trim that.
Fix Mixed Tabs
Warns users when a file opened or saved that contains a mixture of tabs & spaces. Adds an information bar to provide an easy way to fix the file if desired.
Align Assignments
Aligns assignment statements by typing Ctrl+Alt+]. For example, typing Ctrl-Alt-] when the following is selected:
Transforms it into this:
Note! This may conflict with your formatting settings. E.g. in C# you will need to disable: Tools->Options->Text Editor->C#->Formatting->Spacing->"Ignore spaces in declaration statements"
Column Guides
Draws a vertical line in the code editor to remind developers that their full line of code or comments may not fit one a single screen. Simply place the cursor at the appropriate column and select Add Guideline from the context menu