The official source of product insight from the Visual Studio Engineering Team
Reseting Your Extensions for the Last Time!
We've heard a great deal of feedback on how each update of the Productivity Power Tools re-enables all of the extensions when it installs. If you are careful about installing the Power Tools via the extension manager or as long as an instance of Visual Studio is running, this version of the Productivity Power Tools will be the last which resets the extensions.
Please note: If you are running Visual Studio 2010 SP1 (Beta) that you will need to uninstall previous versions of the Productivity Power Tools prior to upgrading due to a change in the digital signature for the Power Tools
There are many different ways to find within Visual Studio (Incremental Search, Quick Find, Find in Files, Find Toolbar, etc) and it often isn’t clear which is the best for a given task or worse these options even exist. The find dialog itself also can obstruct code and jump around while users are searching. Our solution to these problems is the new Find extension. In the screenshot below, you will see that we’ve turned the quick find & incremental search experiences into a find pop-up that is available at top right hand corner of the editor. After hitting, Ctrl+I or Ctrl+F, it simply highlights the find results as you type. From this small but powerful pop-up, you have access to most of the Quick Find functionality such as replace, options to match case and added support for matching .NET Regular Expressions!
We’ve been looking into ways that we can improve the experience of navigating through code files. Our solution is the source map which has three modes that will allow you to more easily see the interesting artifacts in your files (edits, breakpoints, bookmarks, errors, warnings etc) and make it easy for you to navigate between them. The default mode is the “scroll bar only mode” which overlays icons onto the standard scrollbar to allow for viewing of these artifacts. In the source map mode, we’ve replaced the default scroll bar allow you to click on any item on the scrollbar to navigate directly to it. This source map mode also provides a preview of the part of the document as you hover. Finally, we have the detailed source map mode, which allows you to get a zoom out view of your entire file. You can switch between any of these modes by right-clicking on the scroll bar or going to Tools Options>Productivity Power Tools>Source Map where we have a host of other options that you can configure.
The ability to do middle click scrolling in Visual Studio 2010 has been a top request from our beta customers that we weren’t quite able to get into the release. With this extension you can press down on your scroll wheel and the move the mouse to quickly scroll through your document!
Organize Imports for Visual Basic
As part of theco-evolution strategy for Visual Basic and C#, we continue to bring the best features from each language experiences to the other. With Organize Imports for Visual Basic we’ve added yet another feature to that list. From the context menu, it allows you to sort the imports logically and remove the ones that aren’t being used.
Add Reference Support for Multi-Targeting
“How come I can’t add a reference to System.Web?” Many users have scratched their heads trying to figure out why certain dlls aren’t showing up in the Add Reference dialog. The confusion has been caused by the logic in the Add Reference dialog which filters out assemblies that are not valid on the .NET Client Profile which many of Visual Studio templates target by default. The Productivity Power Tools solution is to grey out the assemblies which are not available in the current framework profile. When you try to add them, it will automatically prompt you to re-target to a profile of the same framework which does support them.
Options in HTML Cut/Copy
Productivity Power Tool users have asked for the ability to tweak the html format which gets copied to the clipboard and with the release you now have the ability to customize that to suite your needs. Simply go to Tools Options>Productivity Power Tools> HTML Copy
This release of the extension also fixes the commonly reported bug where Cut/Copy occasionally fail which was fixed in VS 2010 SP1 Beta but was present in the October release of the Productivity Power Tools.
Awesome. I love these extensions. Keep them coming. One thing though. Nine times out of ten, the answer to the question "Why can't I add a reference to System.Web" should be "Because you shouldn't be referencing that assembly just so you can HTML-encode a string!"
Loving the new scrollbar (in the detailed map mode). I seriously think you are under-advertising it! A picture in the blog post is a definitive must :)
These are some great productivity enhancements. Especially the new scrollbar, I love it (but really would love to make it a bit/much smaller).
The Code Contract Editor Extensions QuickInfo tooltip location interferes with the Solution Navigator interactive tooltip location. This was mentioned by others on the Visual Studio Gallery page for the Code Contract Editor Extensions visualstudiogallery.msdn.microsoft.com/85f0aa38-a8a8-4811-8b86-e7f0b8d8c71b, but is not yet mentioned on the Visual Studio Gallery page for the Productivity Power Tools. Can the Productivity Power Tools developers confirm they are aware of this and are planning to resolve this with the Code Contract Editor Extensions QuickInfo developers?
Wow, I'm impressed! In every release, I notice it's getting better and better. Very creative indeed. I hope other teams in VS would be this creative as well, and more :).
Thank you for your creative and hard work!
The remove unused imports from the Organize Imports module seems to always delete any import that are being part of the root namespace of the file's project, even if they are being used.
Does the file still compile after you run Organize Imports? It always should; if it doesn't then please e-mail firstname.lastname@example.org with any additional details you might have.
The extension will always remove redundant imports. If I have a project with root namespace "MyCompany.MyProduct", an "Imports MyCompany" will always be removed since that's implicitly in scope, even if there is a type being used from that parent namespace.
.NET regex search are really welcome. Keep on the good work!
It breaks the build.
For example take a project with root namespace MyCompany.MyProduct, and two sub namespaces : MyCompany.MyProduct.DataAccess and MyCompany.MyProduct.Models. If I have a file declaring a class in MyCompany.MyProduct.DataAccess where I need an import from MyCompany.MyProduct.Models, that import will be deleted by the Organize Imports.
I'll send a mail with a complete exemple.
There appears to be an issue with adding a reference to a local assembly if it exists in the GAC as well. We have some vendor assemblies that are installed in the GAC. We copy these assemblies to a vendor folder within the project (local assembly). This vendor folder is checked into version control with the rest of the project. When we add a reference to the local assembly a reference to the GAC assembly is added instead. We are explicitly browsing to the assembly within the vendor folder.
Hello, another bug report: After updating to this version, the utility to sort/remove usings (for C#) project and solution wide breaks. On a large solution (maybe 1000 source code files more or less) eventually (never at the same file) I get a object reference not set, or no error at all, and then VS2010 simply closes immediately (gone from the task list as well).
There does not seems to be any pattern to reproduce, just that it is run on a large enough solution/project.
Opening the solution on another computer with the previous version of the utility processes the solution just fine.
@Remco Blok - We're aware there are other extensions (like Code Contract Editor Extensions QuickInfo) that use the same space as the Solution Navigator Quick Info popup. Unfortuantely, we can't put extensibility points into the Solution Navigator extension for third parties to plug into, and we can't prevent them from using the same space. For now, you can always disable the Solution Navigator's Quick Info and only use the Code Contract one by changing the Tools\Options\Productivity Power Tools\Solution Navigator\Enable Interactive Tooltips option.
@BarfieldMV - You can change the size of the new scrollbar by editing the regsitry under HKEY_CURRENT_USER/Software/Microsoft/VisualStudio/10.0/Text Editor
Add a new string value "SourceImageMargin/MarginWidth" and set its value the desired width of the "source" part of the margin in pixels (default is 100).
Hi Matthew, thanks for your response on the issue with the Code Contract Editor Extensions. I can understand that you may not be able to currently cater for every other third party (Resharper conflicts as well I've read), but I did not expect you would consider Code Contract Editor Extensions third party. The Code Contract Editor Extensions and Productivity Power Tools are built by the same company. Rather than allowing Code Contract Editor Extensions to extend the Productivity Power Tools, I thought they may be integrated perhaps. Thanks anyway.
Great tools but when i press F12 to go to the source (metadata) of some standad control the VS2010 start to consume 100% CPU and never stops.
I don't know if it helps but i have a RedGate's Reflector integrated in VS too.
Without Power Tools the F12 works fine.