Visual Studio 2010 Pro Power Tools Released Today


One of the great aspects of the Visual Studio 2010 release is the extensibility support. The VS 2010 Editor is re-written in WPF, providing rich IDE experiences in the box, as well as new extensibility APIs that enable the creation of more powerful extensions out of the box. To support these extensions, the Visual Studio Gallery website was launched, as well as the Tools->Extension Manager feature which allows you to search for extensions from right within Visual Studio 2010.

Today at TechEd North America, Jason Zander announced the release of the Visual Studio 2010 Productivity Power Tools. This is a Microsoft-supported release, shipping on the Visual Studio Gallery. It is a package of extremely powerful Code Editor extensions, including a number of very commonly requested features. You can download the Pro Power Tools for Visual Studio 2010 here:

http://visualstudiogallery.msdn.microsoft.com/en-us/d0d33361-18e2-46c0-8ff2-4adea1e34fef

Below is a list of the features included in this release.

Add Reference Dialog
The Add Reference dialog now includes a Search textbox in the top-right corner, which provides a great way to quickly find the reference you’re looking for. Furthermore, the Add Reference dialog now loads more quickly.

clip_image002

Document Tab Well
You can now configure dozens of different options for your Document Tabs, including the ability to sort and color Tabs by project, as well as modify the position of the close button. To display these options, go to Tools -> Options -> Environment -> Document Tab Well to configure it as you prefer. Or as a shortcut, right click in the Document Tab Well and select Customize to display the same options dialog.

image

Extension Update
Extension Update provides a bubble tip when there are updated versions of the Pro Power Tools or any other extensions available on the Visual Studio Gallery. 

HTML Copy
This extension provides support for the HTML Clipboard format when copying code from the editor.  This means that you’ll no longer have to go fix up the formatting of your code when you paste it into a TFS bug form or a blog post or any other HTML based control. 

Triple Click
Rather than hitting Home, Shift, End or some other combination to select a line, just triple-click.

Fix Mixed Tabs
Some developers prefer tabs, others prefer spaces, but nobody likes mixing tabs & spaces.  This extension promotes developer harmony by warning as they are open or save a file that has a mixture of tabs & spaces.  The information bar also provides an easy way to fix the file to suit your preference. 

Highlight Current Line
The Highlight Current Line extension makes it easy to find the caret by highlighting the line that the caret is on in the editor.  You can even configure the default color by changing the setting for “Current Line (Extension)” and “Current Line Inactive (Extension)” in Tools Options Fonts & Colors. I really enjoy this customization option, since I like to use a lighter color to highlight the current line.

Ctrl + Click Go To Definition
This extension gives the editor a web browser by adding clickable hyperlinks to symbols in your code as you hold down the Ctrl key. This is one extension that I had installed on its own in the past, and am happy to see in the Pro Power Tools! Symbols become hyperlinks that you can click to Go To Definition. You can still use F12 to Go To Definition from the keyboard, but Ctrl+Click also provides a neat way to do this from the mouse.

Align Assignments
This extension is useful for making your code a little more readable by aligning the assignments when you type Ctrl+Alt+] such that it takes this:
clip_image004

And turns it into this:

clip_image006

Please 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"

Move Line Up/Down Commands
This extension maps the Alt+Up Arrow & Alt+Down Arrow keys such that they will move the current line of code or the selected lines up and down through the editor. This is an editing command that I use all the time in Office, and am happy to have available now as an extension within Visual Studio! (To invoke the related command in Word, Outlook, OneNote, or PowerPoint, use Alt+Shift+Up & Down Arrow.)

Column Guides
This extension allows you to draw a vertical line in the code editor, and includes UI to configure it.  This is very useful to remind developers that their full line of code or comments may not fit one a single screen. To invoke this command, right-click in the Code Editor and select Add Guideline.

Colorized Parameter Help
Read tooltips more quickly and easily by seeing them formatted as you would in the Code Editor. This extension applies syntax highlighting to the contents of the Parameter Help window for C# & VB.

image

Comments (44)

  1. CodeDigger says:

    CTRL+ALT+] doesn't work (prints ']') on German OS(W7)/keyboard…

  2. CodeDigger, thanks for reporting this issue. We'll look into it.

  3. Borys86 says:

    Thanks. good stuff!

  4. Cyrus K. says:

    Where is Javascript outlining???  This is one of the most useful features one can ask for.  For Javascript VS 2010 really isn't much better than VS 2005.  Why is that so difficult to implement?

  5. Lothar says:

    @Cyrus K.

    D'ont cry, just implement it. Should be not to difficult.

  6. Lothar says:

    @Cyrus K.

    D'ont cry, just implement it. Should be not to difficult.

  7. johnnyxp64 says:

    Cool tools althought i would love those to be integrated into the RTM of visual studio 2010 from day 1!

    anyway i am glad i visited this page today, thank you team.

  8. mmastro says:

    I agree with Cyrus K… Javascript outlining is a must nowadays. The fact that it's still not in VS2010 is sad.

  9. javascriptnone says:

    M$ is still upset about javascript beating out vbscript in popularity

  10. . says:

    An options to enable/disable each feature is needed.

    I like the old version close tab option and one or two others but won't use this addon due to the behavoir of the rest of the 'features'

  11. Erik says:

    The shortcut Ctrl+Alt+] does not work on a German keyboard, because the key "]" is reached by pressing Alt-Gr+9 (i.e. a combination of keys) , so as a result it will simply print a "]" on the screen.

    How can I generally change the keyboard shortcut for Powertools? I have searched in Visual Studio Options -> environment -> keyboard, but was unably to find anything related to Powertoys.

    Thanks alot.

  12. Tom says:

    Please add 'Simplify Code' refactorings

     – remove unused 'using' statemetns

     – move constants declaration to innermost scope where they are used

     – comment out unused variables

     – comment out unused methods, properties

     – move local variable declaration  to innermost scope where it is used

     – remove unnecessary qualifications such as when a .net api is fully named system.data.ZZZ when there is a using system.data

     – identify parameters not used in a method

    – identify methods that use no class variables and could be made static

    – identify unused methods

    – identify unused classes

    – identify metthods used only within the same class that could be made private

    – identify duplicate code in a single statment such as repeatedly calling array_var[10].field1.abc = 2 then calling array_var[10].field1.def, … over and over.

    – identify statements constant to a loop or if then else block that can be factored out to the top or bottom of the loop/if then else

    Please add a way to identify cross-source code file references to help us move clases/functions around to reduce the number of files within a solution.

    Please add a way to identify a subproject that is only used within another subproject in a solution.  This would allow us to merge them into a single subproject.

    The above all seek to

     – reduce the number of identifiers in the solution

     – reduce the number of source code files where appropriate

     – reduce the number of subprojects within a solution

     – reduce code complexity

     – limit the visiblity of each variable, method, class to the minimum

     – set a starting point for further code simplification

     – allow the code optimizer to do its job with whole program optimization by removing the artifical separation  of code into subprojects, source files, classes, etc.

  13. Joe says:

    Please offer the Add Reference Dialog as a separate exstension as I don't want or need the rest.

  14. Chris128 says:

    Is there really no way to enable/disable individual add ons in this pack? Like many others, I would love to use some of these add ons but I'm not going to if I'm forced to use others that I dont want to use.

    Chris

  15. Thanks for all the feedback on enabling/disabling particular features. We don't have the ability to do this in the tools today, but are looking into it for a future release.

  16. Lee says:

    @Lisa: I'm another would who would like to see the enabling/disabling of individual features. Good set of extras, though. Thanks!

  17. Kim Andersen says:

    Great work on the pro power tools.

    Is there any way to disable the "Ctrl + Click Go To Definition" feature?

  18. Jones says:

    And how many of these features work for c++ projects ?

    Are microsoft _yet again_ deliberately only developing tools for their beloved-crappy-low-performance dotNET language ?

    Microsoft come on, get it into your head playing favorite with your own poorly made language wont get you any love for real developers, lazy and bad developers use dotNET.

  19. Lissy says:

    I somewhat agree with previous poster (jones), C++ needs more love.

  20. Dave Hurst says:

    Thanks for the features.  They are great, but I haven't been able to figure out how to do a Remove Guideline.  It is greyed out, and I now have three Guidelines that I can't figure out how to remove.  Any help?

    It would also be helpful to be able to drag the guidelines to their intended position.

  21. Andreas Kroll says:

    I hope "jones" is not the Jones I know… otherwise there will be severe spanking for the comment on .NET developers. That would immediately set the kebap counter to zero…

    It's always somehow unfair… VB.NET gets other features than C# and both get a lot more features than C++. But I am really glad MS has done the big step to VS2010 at all. It "feels" very good so far.

  22. Andreas Kroll says:

    Ctrl-Alt-] function for aligning assignments is reached via Ctrl-Alt-´ (the key left of backspace and right of ß) on a german keyboard.

    Try searching for assign in the keyboard commands.

  23. John says:

    Can we have the source code for reference when developing our own extensions?

  24. Jim says:

    @Lisa,

    I too would would like to see the enabling/disabling of individual features. Even if (in the short term) it means a registry or config file hack. For example, I would _love_ to get rid of the Control+Click because after years of doing a Control+Click to drag-COPY text, I can't get used to Click+Drag+Control 😉 (Something about old dogs and new tricks…)

    Thanks!

  25. madhu says:

    where do i get VS2010 ultimate ,free

  26. madhu says:

    where do i get VS2010 ultimate ,free

  27. mitchman says:

    The "You have mixed tabs and spaces. Fix this?" toolbar that always appears and where the "Don't show again" doesn't actually work is very annoying.  Please add an option to get rid of it completely.

  28. I like quite a few of these tools, some are very useful such as line highlighting and the extended tab options, but I would also like the ability to turn off CTRL+ click, and Ctrl+Alt+]  doesn't seem to work on an Australian keyboard layout either.

  29. Sean Laberee says:

    Gareth,

    We've seen quite a few pieces of feedback on Ctrl+Alt+] from German users but this is our first on the Australian keyboard.  We strive to find keybindings to make things easy to access but given the constraints of the various international keyboards its difficult to find more bindings that work for most of them. You can always reset any bindings by going to Tools Options Environment Keyboard.  For this one in particular the command is "Edit.AlignAssignments".  I'm curious if there are other keybindings that you find awkward with the Australian keyboard.

  30. Brett says:

    Keymapping on a system with Australian localization enabled should be identical to US keyboard layout, the only exception being that some Australian users for one reason or another have British localization enabled (usually for the pound sign).

  31. Theraot says:

    Anyway to add remove unused references to this extension? It happens that Visual Studio doesn't have that feature, and those who say it has it, they use VB.

  32. Thanks again for all the feedback on the need to enable/disable particular features. This is now possible in a new updated set of tools released last week! Please find more information on the latest release here: blogs.msdn.com/…/updated-productivity-power-tools.aspx

    Regarding the issue of collisions with various keyboard shortcuts, unfortunately this is not something we will be able to solve this for all keyboards in this out-of-band release. Please reset your keybindings to something that will work better for you, in Tools Options Environment Keyboard. I have a blog post on how to do this here: blogs.msdn.com/…/working-with-shortcut-keys-lisa-feigenbaum.aspx

    Cheers,

    Lisa

  33. Regarding the Javascript requests, please check out the following FREE extension which has been released on the Visual Studio Gallery: blogs.msdn.com/…/visual-studio-2010-pro-power-tools-released-today.aspx

  34. Mitch Bird says:

    Have asked about this before. I wish the automatic flyout of docked panels had an option to require it be clicked to fly out. For us 'mature' programmers who lose an hour a day accidentally mousing over one of them and waiting for the whole 'dramatic slide out' animation.

    It is sort of an accessibility issue… not to put to fine of a point on it.

  35. Justin says:

    MItch….That is one that I find completely annoying…I don't even have tests but when I accitentally run my cursor over the tests tabs it takes 10 minutes sometimes and freezes VS completely.

  36. Marius Berger says:

    The Keystroke "Ctrl+Alt+] " is in german Keybinding "Strg+Alt+9" … so if you press it, of course nothing happens….

    Just change the Command under "Extras" -> "Optionen" -> "Umgebung" -> "Tastatur" so that it works for Strg+Alt+9 (Strg means Ctrl)

    (Tip Search for "Bearbeiten.AlignAssignments")

    Then put in under "Strg + Alt + 9" and everything works fine.

  37. Sean says:

    I really like the align assignments functionality.  Ctrl+Alt+]

    Is it possible to do the same with "Automatic Properties".  Or can the code formatting template be modified to add this functionality?

    Example:

    public string firstName        { get; set; }

    public string lastName        { get; set; }

    public string middleName  { get; set; }

    public string description      { get; set; }

  38. firefoxe says:

    Why always changing Visuual Studio?Is it inovation or inperfection?

  39. tansola says:

    Lisa;

    I seen there is a tools for Visual Studio to provide vertical line to connecting the script block (if..else..end if, while..end while. What is the name of it and how to down load it.

  40. Ryan says:

    Just had to laugh at @Jones ironic comment that "lazy and bad developers use dotNET."  That's sure a funny way to say "fast and efficient."  While @Jones is twiddling bits, the rest of us are solving real-world problems.  It's hilarious that he's complaining about not having time-saving tools from MS while he insists on using a Jurrasic approach for every problem.  Why doesn't @Jones write his own tools, since he likes doing things the hard way –or upgrade from the 386 he's using that needs super high-performance code for every task?  I use C++ when I really need it; the rest of the time I just get the job done.

  41. Tishun says:

    AZERTY keyboard : Align Assignments ->  Ctrl + Alt + ^

    Or change the shortcut on Tools/ Option/ Environment/ Keyboard/

    and type "edit.ali" on textbox "Show commands containing"

  42. arhoads76 says:

    Assignment Alignment is such a great feature.  Code formatting is becomming a lost art.  It is admittedly hard to fight the IDE so practices of 15-20 years ago which aided readability, like aligning assignments, had begun to fall away.  I hope this is a sign of their return!

    Thanks for the great feature add!

  43. Clifford Nelson says:

    What I hate most is the find tool. Definately have some good things, but maybe need to change the icon for the scope so can tell by looking at it. Also having the Whole Words, Case, etc on the find combo box is awkward, and no visual indication of state. Also think that should be a single button click for advanced options. Since most people know the key codes for the Find vs. replace, maybe is eliminating anything, get rid of the moving between find and replace icon. Another idea would be to enable right click menu on the find/replace.

  44. Clifford Nelson says:

    Also, maybe should enable the up/down arrow keys for finding next and previous.