Visual Studio 2010 addin which makes floating window non-topmost - visual-studio-2010

Motivation: I miss MDI in Visual Studio 2010. In long term the best solution would probably be to have it back by Microsoft. (You can vote for this at Microsoft Connect.) However, even if Microsoft might decide to have it back, it will probably take a few years.
I am therefore exploring the alternative meanwhile. Making the source window floating is a step to MDI, but it has nasty implication of the window being always on top of everything, including tool windows.
Would it be possible to create an extension which would could allow my to make some floating windows not always on top? How should one start in creating such extension?
Or would it be perhaps possible to modify the windows ordering by external application, perhaps something similar to Spy++, but with the ability to modify windows properies or send window messages as well?
This is a bit related to Visual Studio 2010 - Semi-Transparent Floating Windows - any utility which could do that could probably be modified to do this as well.

As mentioned recently on Connect web site, recent Pro Power Tools should have an option for this, called "top-level floating windows".
That said, I already have the version "10.0.20214.15" installed (which is most recent as of writing) and there is no such option available. No such option is also mentioned in Pro Power Tools Revision Notes.
However, this gives me a hope this extension might add this option later.

Related

Is there a bundle that includes the old Visual Studio Tools like Spy++, Dependency Walker, etc. that came with Visual Studio 6.0?

I miss those tools sometimes, for example, when I have to know a window class so I can subclass it to override WM_CONTEXTMENU to hide the context menu.
I can download them one by one but was wondering if there is some place that includes a bundle with all of them in it?
Spy++ is still included with modern versions of Visual Studio, even up through VS 2015.
I don't know about Dependency Walker. It probably doesn't come with Visual Studio anymore, considering it has been deprecated for a while. Older versions of VS still ship with it, or it can be downloaded separately if you absolutely need it. Process Monitor is a better choice nowadays.
But as far as I know, these tools are still provided with the Windows SDK. The current version (for Windows 10) is here. If that doesn't have everything you're looking for, the Windows 7 version here certainly does. Once installed, look in Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin.
What else was there? WinDiff was there. I don't think that's included anymore. The last version of VS to come with it was VS 2010, and it wasn't in the Windows 7 SDK, either. I don't think this is a big loss. I used it one time because I didn't have another diff tool utility installed. My next move was installing another diff utility… MSVC 6/VS 98 also came with a bunch of OLE and ActiveX testing tools, which I don't think anyone uses anymore. I don't think these come with modern versions of the SDK, either, nor do I know where you can download them. Honestly, these are so before my time that I don't even know what you do with most of these tools. And then there's the really old stuff, the 16-bit utilities that were still being dragged along in a MSVC 6/VS 98 install. If these even still work on modern operating systems, I don't know why you'd want to use them.

Visual Studio: disabling unused components to improve developer efficiency

Visual Studio 2010 comes with a huge set of tools, most of which aren't useful to me. These things possibly slow visual studio down, but they certainly slow me down by introducing irrelevant visual clutter all over the place.
Is it possible to selectively uninstall or disable certain Visual Studio components?
Specifically, I'd want to get rid of "Test Tools", "Workflow anything" "Windows Forms anything" "Source Control anything" and on some machines "Data anything".
I can customize menus, but that takes time and effort and there's no easy way to cleanly export only those modifications (i.e., to separate other user settings from these more global modifications), and these tools appear in lots of context sensitive pops too (so that's a hassle).
Alternatively, can I repurpose this functionality to connect to mercurial+svn rather than Team System, and to use NUnit/xUnit/boost::test rather than Team System functionality?
Unfortunately, no, at least in the manner you describe.
Sounds like a good idea for an extension. If you create a new idea for this, #me here so I'll know to nip over and vote for it.
BTW, have you ever run Visual Studio 2010 in /safemode? I've noticed that extensions are what make VS run slow. In safe mode, VS starts up in about three to five seconds on my core 2 quad. Takes about 3x as long normally.

Is there any risk while using Visual Studio 2010 Beta 2?

Is it safe to use the beta versions of Visual Studio?
By safe I mean, while developing any project in this studio, is it probable that it may cause some losses to my project? Or any other kind of risk?
Should I just use the studio 2008 and
wait for the stable version of Studio
2010?
Purpose of the question: I am doing my graduation project in .NET framework (includes - C#, WPF etc.).So I don't want to put my project at any risk because of some issue regarding (beta) visual studio.Hence the question.
As long as you are using a version control system, there should be no problem. Simply check out your project (or better yet, create a vs2010 branch) to an experimental folder and work from there.
There are no hidden risks when you use version control appropriately.
Visual Studio 2010 will convert your project files to its new format, meaning you'll have trouble if you want to go back to VS2008 later. I'd suggest holding off for now unless you can find a way to keep both old and new versions of the project files up to date.
There's always a risk in using beta software (but then again, there's always a risk in using any software). The whole reason it's called beta is because the company is not confident that it's got all the bugs worked out. Otherwise, it would have been released so they could start raking in the moola.
There are quite a few ways to mitigate the possibility of any beta software (not limited to VS2010 or even any programming-related product) from causing you trouble. Choose any from this list, which is by no means exhaustive:
Don't use it on the same data (be it accounting information or source code) until you've run it in parallel and gotten the same results as with the older version.
Plan a backout strategy if the software is so bad that it's easier to go back than to try and go forward.
Backup your data even more frequently during the periods where you're using the beta software, up until the point that you're comfortable with it and can revert to a more normal backup strategy.
Don't use beta software at all - wait for the real release (or SP1 if you want to be even safer). There may not be a driving force behind updating to the latest version.
As a company, limit your exposure to the beta software to a small set of your employees. So, for example, if you have six different teams, choose the least important as a sacrificial lamb, so to speak.
My own personal preference is to wait until everyone else has sorted out the problems first. I didn't upgrade to the latest Ubuntu while it was in beta (I still got burnt a little bit with the video and X but that particular problem already had a solution on the net). I don't download the latest and greatest Eclipse until it's been in use for a few months. I'm still using VS2008 under Windows XP since there's nothing I think I need in the latest release (of VS or Windows).
We obviously have the latest and greatest OS' in our test environments but they're crash-and-burn environments that won't cause any real pain if they blow up (other than a rebuild but even that's pretty painless nowadays).
For your particular circumstance, I would probably stick with a tried and true version. You don't seem to have a pressing need for any of the new features in your question and the sort of failure you're talking about is not just losing some information at work which, while annoying, is probably backed up to the point where your career would survive.
A similar loss of your educational work would affect you for a long time if you fail your subject because of it. I would probably just concentrate on getting it finished rather than worrying about what VS2010 beta might do to my work. Don't misunderstand me, you should still be protecting your work even with VS2008 but I'd personally feel safer with that option.
Then, if you have some spare time at the end of your project (hah! as if that would happen!), you could try to convert what you've done so far to VS2010. If it all goes pear-shaped, you still have all the VS2008 stuff available.
There is certainly risk in using unproven software in that it could behave unexpectedly. Some of the answers here focus on protecting your source code and that is a valid concern, but you should also consider other risks.
Could Visual Studio 2010 make your system unstable? Having your source code in a local instance of source control won't do you much good if Visual Studio corrupts your hard drive. Even if you backed up regularly, you'd still be out a good day or two (MINIMUM) rebuilding your desktop.
Also, what do you intend to do with the finished product? Will a professor attempt to open the project on their own desktop? Are you expected to deploy it to another environment? We see these "Works on my computer" problems using proven software, a beta certainly increases the probability of running into this type of problem.
So yes, there is certainly increased risk in using a beta. You can take steps to mitigate the risks but with important work those are steps you should be taking anyway. Is the benefit of using Visual Studio 2010 worth the increased probability of delays / data loss / grade impact?
I know I'm experimenting with VS2010 and I haven't seen severe problems but betas are not proven/guaranteed - the overall risk is probably slight but it is a risk nonetheless.
I guess I would approach the question differently...Is there any real value in using VS 2010 over 2008? I have been using both for a while and I would say, No.
I have had some mysterious crashes with VS 2010 and the application has disappeared on me, causing me to lose any unsaved data.
If you are integrating IronPython / Ruby or working with Office or VB style COM, there is more support for this in .NET 4.0. Beyond that, most of the changes add some shine to the IDE, but not much real value.
my 2 cents.
The biggest risks you will face are crashes, random tool window misplacements, and occasionally Visual Studio will refuse to start and you will have to reset all your settings to have it working again. 1 (I am anyway reasonably happy with Visual Studio 2010 and don't regret having installed it; in my case the compelling reasons were unit testing and visual designer for Silverlight)
But as ocdecio says, there should not be danger for your code, especially if you use a source control system.
As an additional advise, target your projects to .NET Framework 3.5. Using a beta development tool may be ok, using a beta .NET Framework in a production environment is usually not.
1 This crash is supposed to be caused by using raster fonts for the code editor, but it has happened to me without using this type of fonts.
Given that you've said the project will be "tested on another system", the answer is simple: use VS2008. VS2010 solutions cannot be opened by earlier versions, and I wouldn't bet my graduation project on whether or not someone else has VS2010 installed.
Other reasons to stick with VS2008:
VS2010 probably doesn't gain you much.
There are bugs, and I'd rather be working on getting my graduation project done rather than working around problems with my development tool.
If you need help along the way, those that can potentially help probably aren't using the same version. That may make a difference, it may not.
Another thing to consider.. usually the EULA prohibits you from deploying and/or shipping a product using a Beta version of the toolset. I'm not sure this applies in your situation but it's a point to consider.
Another potential issue I've heard of is that sometimes Visual Studio betas refuse to uninstall when it comes time to put in the RTM version. So as long as you don't mind reinstalling Windows when you're ready to install RTM and you've taken the other answers into consideration, then go ahead.
Since your project is for a graduation project and not for full production release, I would say use the latest/stable version of Visual Studio 2010.
You will gain more than you will lose as you will be using the latest technology which will be more useful going forward.
There is an issue for touch screen machines which may render WPF applications unusable.
A workaround exists. See details:
‘MS.Win32.Penimc.UnsafeNativeMethods’ Threw An Exception
fix: C:\Windows\Microsoft.NET\Framework\v3.0\WPF>regsvr32 PenIMC.dll
The biggest problem I have with VS2010 Beta 2 is designer. The Windows Form Designer generates buggy code (Microsoft Connect bug id 507267 and 499925). So I have to edit the form in older version of Visual Studio
I have a few other problems not related to code lose, like random crashing and wizard disappearing.
I've just spent two weeks in VS 2010 beta 2 doing some serious prototyping work. It all went pretty smoothly, and I really like VS 2010. At the end, I moved all the code back to VS 2005 and integrated it with my current project. My experience:
Moving the code back to 2005 was pretty easy. I did try not to use any C# features from 2008 or 2010. The only thing I missed was C#'s implicit properties, but those are easily fixed.
Yes, the project and solution files are not backward compatible. To migrate back, I just created new projects in 2005, and pasted the source files in through Visual Studio. Worked like a charm.
I did find one thing that would consistently crash 2010. If you use the splitter to view two different sections of a file at once, and cut-and-paste from one pane to the other, VS 2010 will roll over and die pretty quickly (not necessarily at the time of the cut-and-paste, but very soon afterwards).
There are some nice productivity features in 2010. You can drag a tab out and make it a window. In Windows 7, you can drag it to the top of the screen to maximize, or to the side to use have the screen. Dragging one file to one side of the screen, and another file to the other side, means you get the whole screen to edit two files, side by side. Very nice. (Even better on two monitors, but I was on a laptop.) The "Quick Find" dialog can now be docked -- that's a huge improvement.
As others have mentioned, use source control, but VS 2010 really is not unstable enough to be any more of an issue than VS 2008. Note that Team Foundation Server 2010 is also available in beta, and will be part of all MSDN subscriptions. It installs under Win7 and Vista. I'm using it for source control on my laptop! Team Explorer is integrated into VS 2010.

Do I need to buy Visual Studio Professional?

I have been using Visual Studio Express versions. I used to use the full Pro VS 2005. I can't figure out what I am missing with the Express version. What benefits will I get if I buy the full version of VS?
Here you go. This link is vs2005 specific rather than the more-recent 2008, but that's the version you asked about.
Some highlights:
No Mobile Device support
No Object Test Bench
No Extensions
No built-in source control support (they should really change this)
No remote debugging
No Office Development support
No 64-bit compiler support
No Visual Studio Package support
No profiler
No SQL Server debugging integration
Limited deployment options
This list is actually quite lengthy, but with the notable exception of source control they are mostly things you might be able to do without as a single developer, if you really have to. Even the source control can be handled by a file-system-only tool like Tortoise.
Obviously if you're building something like a smart phone app or VS extension it's a non-starter, so you'll need to evaluate what you're really doing. Some of the other missing features like object test bench or the profiler can be partially replaced by third-party tools.
Here's a link to a downloadable Visual Studio 2008 Product Comparison Guide from Microsoft.
The full version of Visual studio supports some extra features and tools.
One of the big differences is more debugging options (You can specify break conditions for debugging, unlike the express version). That feature alone is probably worth it.
You can also install 3rd party addons to add extra featues.
No Resharper.
also, you can add addins like VisualSVN and Resharper into pro. You can't into express.
Matze might be right - MS needs the money - 5K people layed off today, and only 4.7b profit! :(
Depends on what you do. Look at the product matrix to see what features you gain with higher SKUs. Testing, Smart Devices, etc may or may not be relevant for you.
This really just requires a bit of Googling.
You can view a comparison of the paid versions here and an overview of the Express versions here
Have a look at this:
http://blogshare.members.winisp.net/docs/VisualStudio2008-ProductComparison-v1.02-Revisions.xps
If you are doign any sort of professional development with Visual Studio you should buy the Standard edition at a bare minimum. Without it you will loose Source Control integration which IMHO is vital absolute must no questions asked must have for professional development.
I used VS2003 for a while, and am currently using VS2008 C# Express.
Personally, I miss the ability to set a conditional breakpoint instead of simply breaking when a line is hit, and the Threads window.
Support for code version systems is a feature that is real essential.
And Microsoft needs your money to go on implementing new, hot stuff.

Recommended add-ons/plugins for Microsoft Visual Studio [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Can anyone recommend any good add-ons or plugins for Microsoft Visual Studio?
Freebies are preferred, but if it is worth the cost then that's fine.
SmartPaster - (FREE) Copy/Paste code generator for strings
AnkhSvn - (FREE) SVN Source Control Integration for VS.NET
VisualSVN Server - (FREE) Source Control
ReSharper - IDE enhancement that helps with refactoring and productivity
CodeRush - Code gen macros on steroids
Refactor - Code refactoring aid
CodeMaid (FREE) - Code cleanup, organization and complexity analysis
CodeSmith - Code Generator
GhostDoc - (FREE) Simple code commenting tool
DXCore (FREE) and its many awesome plugins: DxCore Community Plugins, CR_Documentor, CodeStyleEnforcer, RedGreen
TestDriven.Net - (FREE/PAY) Unit Testing Aid
Reflector - (PAY) Feature rich .Net Disassembler Reflector AddIn's
Web Deployment Projects - Provides additional functionality to build and deploy Web sites and Web applications (source).
StudioTools - (FREE) Navigation assistant, code metrics tool, incremental search, file explorer in visual studio and tear off editor windows. Moved from old site (archive.org) to new site and discontinued.
Not free, but ReSharper is definitely one recommendation.
Whole Tomato's Visual Assist X. I absolutely swear by it. I would like to see a better plug in for Lint than Visual Lint by Riverblade, but since that will eventually be moved onto the build server I don't mind running it every couple of days manually.
PowerCommands is a Microsoft-created plugin that offers a variety of new features that one would think probably should have been in Visual Studio in the first place.
These include
Copying/Pasting project references!
"Open Containing Folder" to jump straight to the hard-drive location of a file or project
Automatic reorganizig and sorting of using statements
"Open Command Prompt Here" to open a command prompt in any of your project folders.
Collapse Projects
RockScroll is awesome, and free.
Addendum
As #Andrei points out, MetalScroll is a better alternative. It's Open Source, and corrects some annoying things about RS.
I'm a big fan of CodeRush and Refactor! Pro by DevExpress. I've been using them for a number of years, and without a doubt it makes me a faster developer. Also, both are built on a free framework called DXCore that allows you to develop your own plug-ins for Visual Studio, and the sky is the limit there...
Resharper
Resharper MbUnit Test Runner Add-On
SQL Prompt for Database Projects (works inside your SQL Management Studio as well)
Ankh SVN 2.0+ for free SVN support (v1.x pales in comparison)
TeamCity plug-in to monitor your builds, personal builds, and bug tracking
I find Ghost Doc to be very useful.
GhostDoc is a free add-in for Visual Studio that automatically generates XML
documentation comments for C#. Either by using existing documentation inherited
from base classes or implemented interfaces, or by deducing comments from
name and type of e.g. methods, properties or parameters.
If you use SVN for source control, definitely get VisualSVN. It enables TortoiseSVN interactions from within the Visual Studio IDE.
I also echo the Resharper comment. Retail price is a little steep, but if you're a student or otherwise educationally affiliated, it's actually pretty cheap.
+1 Visual Assist.
It's unfortunate that you need a plugin to get really good intellisense but it's definitely worth paying for.
LinqPad is great for testing linq to objects/xml/sql. Free download.
What about IncrediBuild? This is a nice distributed build system with visual studio integration.
Clipboard Manager
Maintains your clipboard data through removal of lines, a few other nice items but that one alone makes me happy.
Regionerate
While some have problems with regions I think if you use them, this tool is for you. Automatically region'izes your code into appropriate region blocks. Fully configurable for custom items etc.
VSCommands 2010
from the website:
Latest version supports:
Manage Reference Paths
Prevent accidental Drag & Drop in Solution Explorer
Prevent accidental linked file delete
Apply Fix (automatically fix build errors/warnings)
Open PowerShell
Show Assembly Details
Create Code Contract
Cancel Build when first project fails
Debug Output - custom formatting
Build Output - custom formatting
Search Output - custom formatting
Configure WPF Rendering
Configure Fusion Logs
Configure IE for debugging
Locate Source File
Thumbnails in IDE Navigator
Extended support for xaml, aspx, css, js and html files
Disable Ctrl + Mouse Wheel Zoom
Zoom to Mouse Pointer
Configurability
Attach to local IIS
Copy Full Path
Build Startup Projects
Open Command Prompt
Search Online
Build Statistics
Group linked items
Copy/Paste Reference
Copy/Paste as Link
Collapse Solution
Group items directly from user interface (DependantUpon)
Open In Expression Blend
Locate in Solution
Edit Project File
Edit Solution File
Show All Files
and others, so try it now!
http://trolltech.com/products/qt/">Qt Cross-Platform Application Framework
Qt is a cross-platform application framework for desktop and embedded development. It includes an intuitive API and a rich C++ class library, integrated tools for GUI development and internationalization, and support for Java™ and C++ development
They have a plug-in for Visual Studio that costs a bit of money, but it is worth every penny.
I've been using Visual Assist X for nearly two years now, and I find it so useful I can honestly say that if my employer didn't provide it, I'd have to pay for it myself.
I also use Cool Commands and SlickEdit (the free version), whose File Explorer and Command Spy tools are quite useful.
+1 for Visual Assist
And I will add VLH (Visual Local History) which provides a kind of local source control system. Every time you save a file, the plugin add a copy in the local repository.
ViEmu
vi/vim support inside VS
I found this site called Visual Studio Gallery - it has a lot of visual studio add-ins. I'm browsing it right now and I recommend everyone to visit it.
Consolas font
Free font from MS designed for reading code.
Try MetalScroll!! It's better than Rockscroll
Sonic File Finder for when you have loads of files in your solutions and searching for them in the solution explorer becomes a pain in the wrist.
You might also find DPack interesting. Several tools and enhancements rolled into one neat package.
MZTools is great too.
+1 for CodeRush & Refactor Pro. I've been using CodeRush since its Delphi incarnations, and it's utterly wonderful. The mantra of "Code at the speed of thought" is very close to reality ;)
Microsoft StyleCop provides code style checking for C#, we use it all the time and love it (free)
Axialis IconWorkshop has a Visual Studio add-in which is now free for VS2008 users.
Resharper Yes another vote, because I can't upvote everyone who suggests it :)
Workspace Whiz for C++, I used to live by Workspace Whiz but haven't used it in VS2008 as I hadn't realised there was an update. Will have to give it a try again.
If you're doing C++ coding, hands down Visual Assist.
I love CopySourceAsToHTML as a cool little addin. It's great if you want to copy code blocks for blogging and the like while maintaining your syntax formatting.
I think this is still the url.. you have to do some manual work to set it up with 08.
http://www.jtleigh.com/people/colin/software/CopySourceAsHtml/
For the laptop bound or for those with vi/vim key bindings burned into the brain I would recommend ViEmu.
If you have not tried editing with vi key bindings here is why you may want to try "Why, oh WHY, do those #?#! nutheads use vi?"
AtomineerUtils Pro Documentation - automatic DocXml/Doxygen/JavaDoc/Qt doc-comment generation/updating (similar to GhostDoc, but more powerful & flexible, and supports C#, C++, C++/CLI, C, Java and Visual Basic code).
The style of the generated comments is very configurable, and automatic re-formatting (such as whitespace control and word wrapping) can be optionally applied to keep the comments as readable as possible. It also has many helpers to allow users to read and convert most legacy doc-comments into any of the above formats.
(I'm the author, but I believe the above is an accurate and objective description. This add-in was free when this answer was first added, but to cover the costs of hosting, supporting, and continuing to improve the addin in monthly releases, it is now $10 with a 30-day free trial)
I'm always amazed that more people don't know about/use NDepend - it shows all dependencies at every level of your code, and will even draw pretty box and arrow pictures showing how confused your architecture really is :) Together with TestDriven.Net, I can't imagine working without it any more. Free/cheap.

Resources