Visual Studio Hacks
Jim Holmes writes "Microsoft's Visual Studio is an elephant of an IDE. It's got tremendous power and adaptability, but it's difficult to dig through all the less-than-helpful documentation. It's also very tough to figure out which of the many available add-on tools are worthwhile to add. Visual Studio Hacks by James Avery is a terrific reference for helping get the most out of Visual Studio." Read on for the rest of Holmes' review.
Visual Studio Hacks
author
James Avery
pages
512
publisher
O'Reilly
rating
Outstanding
reviewer
Jim Holmes
ISBN
0596008473
summary
Get the most out of Microsoft's Visual Studio
Disclaimer: James is a friend who's helped me with starting a developers group, and I'm also working on an open source project with him. The possibility exists that I may work on a paying project with him at some time in the future; however, I haven't had any financial dealings with him so far. (Other than I still owe him a beer for coming to speak at one of our group's meetings.) For what it's worth, I spent my own money to buy this book from Amazon. End Disclaimer.
Avery's book is great both for new users of Visual Studio as well as the more experienced developer. Also, readers won't have to worry about buying a book which will be outdated when Microsoft releases its next version of Visual Studio in November. Tips and tricks are included for Visual Studio versions 2002, 2003, and 2005.
VS Hacks spreads 100 "hacks" across 13 sensibly delineated chapters. Each hack is clearly marked with its number in a blue box at the upper, outer corner of each page. Hacks are also marked with a thermometer icon representing the hack's relative complexity. One of my few complaints about the book is that the moderate and expert icons look too similar - but frankly I ignore these icons anyway, so the criticism's most likely wasted.
The introductory chapters on projects and solutions, navigation, and editor usage aren't introductory in skill level. Avery covers these topics in great depth, diving down to some useful, but less-than-obvious settings in VS's environment. Examples of this would include Hack #2: Master Assembly and Project References, where Avery shows how to add additional assemblies to the Add Reference dialog's list of .NET assemblies. This is a timesaver if you've got custom libraries you make frequent use of; adding the assemblies to the default list saves having to use the Browse button to search for the files every time you need to add them.
Some of the most uninteresting drudgework in development involves writing code for basic software elements such as business entities or data access layers. It's repetitive, it's template-like material, and it's boring. Documenting such work is every bit as tedious.
Hack #50 covers using CodeSmith to generate code via templates. Other hacks detail tying UML into the development process. Hack #81 covers using Visio for Enterprise Architects to generate code from UML diagrams. Hack #82 covers the opposite of that process: generating class diagrams via Visio's reverse engineering support. (UML's capable of much, much more than the simple drudgework of business entities or data access layers, and these hacks shouldn't be confused with anything more than a cursory introduction of how to tie UML via Visio into Visual Studio.)
One of the most useful sections is Chapter 5: "Debugging." This chapter focuses on getting the most out of Visual Studio's debugger capabilities. These hacks are critical helpers to good developers effectively use Visual Studio's debugger.
Avery covers the basics of setting up breakpoints, diving down to various options such as setting how often to break on specific break points, or setting conditional break points. He then moves on to troubleshooting breakpoints in Hack #37, and there's also great coverage on using Visual Studio to debug scripting code inside a browser session, working with SQL server, and attaching to a running process or one that's just about to crash.
I found the best content of this book in hacks focusing on making the most of tools both inside and out of Visual Studio. Hack #79 is a great section detailing how to stress test web applications using Visual Studio Enterprise Architect's Application Center Test. This hack makes it easy for readers to understand how to get detailed stress testing on a web application. Along this same line, Hack #80 shows how to make use of the Dotfuscator tool to obfuscate .NET assemblies to protect them from modest efforts at reverse engineering. (Like Java, .NET assemblies can be disassembled, revealing all your hard work and intellectual property.)
Other gems in this same arena include tools for running and debugging unit tests inside Visual Studio (#93), testing regular expressions (#100), and using tools which automatically generate documentation based on naming conventions in the source code (#69).
The mechanics of this book are great. The Table of Contents breaks down each chapter by its individual hacks, and the index is very detailed and clear. I also like how hacks are listed on the top of each page, making it quick to find something if you know the hack's number or name and don't want to fuss with the table of contents.
My sole complaint about the book (aside from the annoying thermometer icons I've already mentioned) is that it's not always clear which add on tools work with which version of Visual Studio.
The author maintains a website specifically for this book, complete with code and tool downloads. RSS feeds are also available to monitor any updates the author makes.
This book is a critical addition to the bookshelf for any developer who spends any amount of time working in Visual Studio. You'll become much more productive by using tips in the book, and you'll find tips to help you decide which add-on tools you'll want to make use of. More importantly, you'll understand how to get the most out of Visual Studio's capabilities.
You can purchase Visual Studio Hacks from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Disclaimer: James is a friend who's helped me with starting a developers group, and I'm also working on an open source project with him. The possibility exists that I may work on a paying project with him at some time in the future; however, I haven't had any financial dealings with him so far. (Other than I still owe him a beer for coming to speak at one of our group's meetings.) For what it's worth, I spent my own money to buy this book from Amazon. End Disclaimer.
Avery's book is great both for new users of Visual Studio as well as the more experienced developer. Also, readers won't have to worry about buying a book which will be outdated when Microsoft releases its next version of Visual Studio in November. Tips and tricks are included for Visual Studio versions 2002, 2003, and 2005.
VS Hacks spreads 100 "hacks" across 13 sensibly delineated chapters. Each hack is clearly marked with its number in a blue box at the upper, outer corner of each page. Hacks are also marked with a thermometer icon representing the hack's relative complexity. One of my few complaints about the book is that the moderate and expert icons look too similar - but frankly I ignore these icons anyway, so the criticism's most likely wasted.
The introductory chapters on projects and solutions, navigation, and editor usage aren't introductory in skill level. Avery covers these topics in great depth, diving down to some useful, but less-than-obvious settings in VS's environment. Examples of this would include Hack #2: Master Assembly and Project References, where Avery shows how to add additional assemblies to the Add Reference dialog's list of .NET assemblies. This is a timesaver if you've got custom libraries you make frequent use of; adding the assemblies to the default list saves having to use the Browse button to search for the files every time you need to add them.
Some of the most uninteresting drudgework in development involves writing code for basic software elements such as business entities or data access layers. It's repetitive, it's template-like material, and it's boring. Documenting such work is every bit as tedious.
Hack #50 covers using CodeSmith to generate code via templates. Other hacks detail tying UML into the development process. Hack #81 covers using Visio for Enterprise Architects to generate code from UML diagrams. Hack #82 covers the opposite of that process: generating class diagrams via Visio's reverse engineering support. (UML's capable of much, much more than the simple drudgework of business entities or data access layers, and these hacks shouldn't be confused with anything more than a cursory introduction of how to tie UML via Visio into Visual Studio.)
One of the most useful sections is Chapter 5: "Debugging." This chapter focuses on getting the most out of Visual Studio's debugger capabilities. These hacks are critical helpers to good developers effectively use Visual Studio's debugger.
Avery covers the basics of setting up breakpoints, diving down to various options such as setting how often to break on specific break points, or setting conditional break points. He then moves on to troubleshooting breakpoints in Hack #37, and there's also great coverage on using Visual Studio to debug scripting code inside a browser session, working with SQL server, and attaching to a running process or one that's just about to crash.
I found the best content of this book in hacks focusing on making the most of tools both inside and out of Visual Studio. Hack #79 is a great section detailing how to stress test web applications using Visual Studio Enterprise Architect's Application Center Test. This hack makes it easy for readers to understand how to get detailed stress testing on a web application. Along this same line, Hack #80 shows how to make use of the Dotfuscator tool to obfuscate .NET assemblies to protect them from modest efforts at reverse engineering. (Like Java, .NET assemblies can be disassembled, revealing all your hard work and intellectual property.)
Other gems in this same arena include tools for running and debugging unit tests inside Visual Studio (#93), testing regular expressions (#100), and using tools which automatically generate documentation based on naming conventions in the source code (#69).
The mechanics of this book are great. The Table of Contents breaks down each chapter by its individual hacks, and the index is very detailed and clear. I also like how hacks are listed on the top of each page, making it quick to find something if you know the hack's number or name and don't want to fuss with the table of contents.
My sole complaint about the book (aside from the annoying thermometer icons I've already mentioned) is that it's not always clear which add on tools work with which version of Visual Studio.
The author maintains a website specifically for this book, complete with code and tool downloads. RSS feeds are also available to monitor any updates the author makes.
This book is a critical addition to the bookshelf for any developer who spends any amount of time working in Visual Studio. You'll become much more productive by using tips in the book, and you'll find tips to help you decide which add-on tools you'll want to make use of. More importantly, you'll understand how to get the most out of Visual Studio's capabilities.
You can purchase Visual Studio Hacks from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Yes, I know a lot of Visual Studio hacks. Some say it's coders like them that are the problem with software today...
"Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
although it does mention most of these hacks won't work when the new Visual Studio comes out.
But informative none the less.
-- Tigger warning: This post may contain tiggers! --
Is it just me or is a "hacking" culture growing out of the internet? People are getting fed up with the limitations put on them by business' slowness, so they push the limits of current technology to meet their needs.
Is this because people's needs are growing faster than industry's ability to provide them?
MS Visual Studio is Microsoft's ultimate killer app. It's just the single best tool for software development. I use it even when developing for Linux.
Until Linux gets an IDE at least 75% as good as MSDev, top-notch large scale applications for Linux will remain few and far between.
After my brief dabble in programming for Windows, it seemed to me that any functions worthwhile were only 'figured-out' and nondocumented by Microsoft. Maybe I'm biased, actually.. of course I am, but it seems pretty blatant that Microsoft doesn't adequately document the functions so that their crappy Windows software looks advantagious in comparison.
:P
I'll check out the book.
--- We need more Ron Paul!
Test 1 2 3 4
Can it be hacked to use GCC as the compiler?
Anyone got one?
I found Source Insight. Beats anything I've tried including slickedit, multiedit, and understand for c++. And don't judge the editor by website screenshots alone, it looks like the color scheme and font styles were put together by a disgruntled employee.
The ONLY gripe about Source Insight is the lack of vim compatible keybindings. I'm hoping the next version of vim will make it even easier for IDE vendors to integrate vi functionality.
BTW, the Visual Studio 2003 IDE is different from prior versions and the 2005 version will be different yet again. Something to keep in mind before investing a lot of time learning it. But the C++ compiler is a vast improvement over VC++ 6.0.
I highly recommend
.NET
Best Kept Secrets in
by Deborah Kurata
This has plenty of good tricks for visual studio:
Chapter 1 - Hidden Treasures in Visual Studio
Chapter 2 - Doing Windows Forms
Chapter 3 - Code Tricks
Chapter 4 - Much ADO
Chapter 5 - Defensive Development
Have you Meta Moderated t
Adaptability? From none other than Microsoft? I call shenanigans.
Yes, because GOD KNOWS that if you type a standards compliant program into VC++, it won't compile.
(Okay, I know that it's not actually fully compliant. For instance, until 7.1, there was no support for partial template specialization. However, there is, to my knowledge, one fully compliant compiler+library implementation, and VC++ is as good as most now.)
I tend to work on code in Visual Studio 6 at least once a month that still works just fine here, ~10 years after its release.
.NET for example were based on EMCA standards, standards which have been implemented for use under Linux, MacOS and others, all making it possible for you to build an application in VS2003 and have it run on other systems.
But even when it comes to VS2003, last time I checked C# and
Help Brendan pay off his student loans
Even with this annoyance it's still better than help in XCode on the Mac. XCode 2.x is a big improvement but it's still hopeless compared to MSDE.
A second annoyance to DevStudio is the sheer mess of dockable windows. VC98 had it just about under control but since DevStudio 2002 it has become a disaster zone of tabs, splitters, pushpins, floaters and toolbars. Just trying to get all the relevant information onto the screen is hard enough. The pushpin model just works badly - either you pin a window to a frame or it annoys you by floating in and out at just the wrong point in time such as when you're mousing around.
A final irritation is that DevStudio is extremely primitive compared to a lot of Java suites. Eclipse is hopeless for visual design but it kicks DevStudio around the shop for sheer coding. Being able to hit Shift+Ctrl+R and rename all references to a class or variable everywhere in Eclipse is mindbogglingly useful. While I expect the next incarnation of DevStudio will allow you to rename a class, it's notable by its absence in the current releases. It's not like Eclipse just introduced this feature since JBuilder has had it for years.
Erm... We write highly portable libraries in C and C++ at work. They have to compile on Windows, Linux, Solaris, HP-UX, AIX, MacOS X, and often under several different toolsets on each OS.
Our whole dev team is free to develop using whatever software we find helpful. We have GUI guys and CLI guys, Windows guys and Linux guys, emacs guys and vi guys, etc.
The one thing almost everyone has in common is that they use Visual C++ as their primary IDE. That's not because we're ill-informed or haven't tried the alternatives, it's because most of us think it's the best IDE available to help us do our jobs.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
A book on Visual Studio hacks has a lot going for it, but the examples in the review mostly sound like discussion of add-in tools, rather than VS itself.
Many people don't take advantage of even simple things like customising autoexp.dat for debugging, and don't know about undocumented UI tweaks like displaying a marker line at column N. Many of these little touches are what makes VS better than the alternatives for a lot of jobs, and why Microsoft never makes more of them I don't understand. Are things like the two examples above covered in the book?
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Why is a book about an MS IDE relevant in the Open Source age of Eclipse?
Because, contrary to those on the Dev sites, not everyone is using Eclipse yet.
So long as there is moderate marketshare, I think it's geeky enough for slashdot to post about, IMHO.
-- Tigger warning: This post may contain tiggers! --
No; real programmers move the bits around telekinetically. Of course, if you're one of those windows-using dandies I suppose you can always use "copy con" ....
Because......many developers (myself included) like Visual Studio and think it's better for Windows C/C++/C# development than Eclipse.
I remember when I programmed in Visual Studio there was a good add on called Visual Assist, the company is Whole Tomato I used like 3 years ago and it was quite nice, it adds some features to the IDE that make coding easier.
Ubuntu is an African word meaning 'I can't configure Debian'
You misspelled emacs
Yeah, because that happens...hm, never. I use both OS X and Windows XP and prefer OS X, but I have to say that I've had to hard reboot my OS X machine more than my WinXP machine and the WinXP machine being my development machine has more junk on it, while I keep my OS X machine clean of ANY non-Apple kernel extensions as well as other hacks into the system (i.e. no APE).
Which version are you refering to?
All versions after 1.5 are pretty bloated for sure, but version 6 + service packs I have found to be very stable. About the only consistent way I found to crash it was conditional breakpoints watching memory locations. Guaranteed blow-up after a few iterations. Maybe they've fixed it in SP6?
Of course, Visual Studio 7.1 is a different kettle of fish. Very buggy and quite nasty. And they've ruined the IDE by making it too "VB friendly" and actually removing some of the useful features in 6
RR
Do you really wish to exit and not save 23 hours of work - this may cause problems in unsaved work?
[OK]
So I normally prefer to use emacs as my IDE, especially for anything complex, but for those times when I need to use Visual Studio I've been getting a little bored with the standard tools so hacked together an add-in (not just the tools or macros, but the proper add-in mechanism) framework entirely in perl... suddenly I can knock up simple reg-exp based editor tools and I don't need to descend to some crappy VB/C# level coding to do so...
But has anyone noticed what a complete mess the Visual Studio add-in API is ? A hybrid mixture of DLL export functions and nearly-COM like objects... very 1993... I think it must count as the biggest hack in Visual Studio.
I spent a lot of money on booze, birds and fast cars. The rest I just squandered. - George Best
If Visual Studio isn't your bag, but you still like Visual C++, then grab the Visual C++ 2003 toolkit (just the compiler, free) and stick Code::Blocks on top of it.
[o]_O
Well, actually WinXP does occassionally lock up or need to be rebooted, but admittedly it is very very rare.
Most of the time it's because we've left a dev machine on for more than a week and it's run out of magic juju or whatever.
For non-server development machines, which may reference leaky objects, it's a good idea to shut them down periodically, after a graceful exit from all apps. If you do that, the only problem is Norton Anti-virus will complain it isn't protecting your machine - because it wasn't the first to boot up - think the MSFT Antispyware beta takes first pole and shoves other startup programs to run after it, your typical Non-MSFT programs must run later, even though it shouldn't do that.
-- Tigger warning: This post may contain tiggers! --
This is more in-depth than you might expect:6 003609/
http://www.amazon.com/exec/obidos/tg/detail/-/059
--- These are not words: wierd, genious, rediculous
I've been a Visual Studio user for a long time now (both VS.NET and previous versions all the way back to 4.x). Visual Studio is pretty good but it's still not even close to Eclipse. Everything you like in VS.NET has been in Eclipse longer, is much more polished and gives you more power all around (customizable).
.NET is very easy to navigate and is comperable (and better in some places) than the online Java APIs.
And as to the parent troll about Microsoft documentation, well that might have been true ages ago I find that most Windows API stuff is easy enough to find on MSDN, the documentation for
What MS stuff can't the guy find docs for, that's what I'd like to know.
crazy dynamite monkey
How about getting the scroll wheel to work in VS6???
That would be such a productivity improvement!
The only PT Boat Journal on the web: http://www.PT171.org
"Also, readers won't have to worry about buying a book which will be outdated when Microsoft releases its next version of Visual Studio in November. Tips and tricks are included for Visual Studio versions 2002, 2003, and 2005. "
You might want to try SharpDevelop then, for your .Net projects, I actually like it better than VS.Net for many projects... for asp.net, I will use crimson editor for the .aspx files, and #dev for codebehind (compiled)... just my own take on this...
When working with others though, it's best to use what everyone can "get along" with, which usually comes down to MS-VS... just a suggestion though...
Michael J. Ryan - tracker1.info
Too bad it doesn't mention 6.0. That's what I still use for everything. Completely compatible (that's what MS is good for), and it does everything I need it to do. No need to drop the $$ for anything newer...
I don't respond to AC's.
Well, VS6 was pretty feature complete a while ago, before Eclipse even existed. I'd also like to know what he's having so much trouble with in regards to finding it in MSs documentation... some of the internals aren't there obviously, but are rarely needed outside of driver development, and MS makes that available under NDA.
Michael J. Ryan - tracker1.info
Ironically, most devs at Microsoft don't use Visual Studio at all to build software. For them, it's all command line all the time, plus whatever editor you feel like using. All the compilation scripts are built by hand, and access to source is highly compartmentalized. You only get access to what you need to know to build your product.
Bah, VB.NET removes (again) the compile cycle for VB.NET debugging, so the main flaw VB.NET has over previous versions (slightly less RAD) goes away. And VB.NET is WAY more powerful than VB6 was, so just sit tight and wait for the next version. It's no Rails, but it's much better than what those of us stuck coding in .NET have now....
-knewter
You may like Visual Studio. Good for you, keep on using it.
Other people prefer Eclipse, and arguably, Eclipse has long surpassed Visual Studio both in terms of UI and in terms of functionality.
Yet other people find Emacs a far better tool.
And, frankly, compared to the environments people had 20 years ago for Smalltalk and Lisp, all those tools still seem extremely cumbersome.
Visual Studio may be Microsoft's "ultimate killer app", but that's because people like you don't know how to work with anything else, not because it is actually better in any absolute sense.
I think you missed the point. I've used MSDN a lot, and have for many years, and while there is a lot of documentation, it is frequently blatantly incorrect. The problem is so bad that I eventually also came to the conclusion that MS must be doing it on purpose, in order to slow down other ISVs. Microsoft actually has a huge fundamental "conflict of interest" - they are both an ISV for the Windows platform, and a major supplier of development tools to other ISVs for the Windows platform. In other words, they are supposed to make "quality development tools" for their own competition.
What are people using VisualStudio for, really? I understand it's popular among the corporate IT internal project set, but is it being used for any commercial apps? I haven't seen any (non-Microsoft utility) that runs using the .NET VM. What is out there that has been developed with it?
"Stop throwing the Constitution in my face, it's just a goddamned piece of paper!" - George W. Bush Nov. 2005
1) HUH?!? MS has alot of features which leave Linux in the dust. That said, the opposite is also true. The OS's have traditionally had different focuses.
;)
2) Linux devs continually release horribly insecure code also. Many studies have shown they rank pretty close to the same in "unintended" security holes. IE is a special case as it it a hole by design
3) Neither can Linux. It's done when it's done. Just because MS puts hard dates down years in advance, doesn't change the fact that it's done when it's done.
Now that being said, using VS to develop for linux seems a stretch... What the hell do they do? Some fancy plug-in to run GCC under cygwin instead of CL.exe, get rid of the project and nmake files in favor of some autotool files, and then use VS as a text editor?? You'd have to be a hardcore MS Freak to go that far, and then why are you developing for Linux anyway??
http://www.vbrad.com/Reviews/books/brVisualStudioH acks.htm
This (not yours, P, the general KDevelop vs VS) argument is silly at best. I'd say it even descends to the level of Gimp vs. Photoshop. I love KDevelop, and I also love VS (the best piece of software Microsoft has released ever perhaps). I love the intellisense and the VS6.0 interface, but I also love the automatic syntax error correction in KDevelop.
The IDEs are two different things with surprisingly different feature sets and ways about doing things. If you think one's better than the other then that's just because the extra features that IDE has over the other are more important.
It's an OK IDE. I dislike the bracket chasing immensely.
.vcproj files such that the debugger doesn't work. At all. Ever.
."
.vcproj file? Because deleting it, recreating the project, re-adding all the files "cures" the problem. For a while. Also, this "cancer" only affects certain projects at any one time until I re-create the project files. Other projects will enter debugging just fine.
.NET framework, there was a random post on some forum with instructions to create a crazy XML config file in the same directory as some random .exe file but the only occurance of this file I had was in MS Office Program Files...
What I hate. Absolutely, brain haemorrhagingly hate - is its tendancy to somehow corrupt my
It comes up: "Microsoft Development Enviornment: Unable to attach to machine
How do I know it's a problem with the
I have spent _HOURS_ trying to fix this problem. When I really should be refactoring some crusty C++ code, instead I'm trying to get this bastard bullshit debugger to work. The most information I could find on the 'net, was some problem with version conflicts with the MS
I tried, I really tried to use MS VC, and I understand that surely I am one of only a very few people in the whole world that have this problem. It was the same story on other PCs at my work, but they all use the same Corporate Image so who knows where the problem actually lies.
My solution was to install cygwin and create a set of Makefiles for GCC and use gdb for debugging, MS VC 7.1 for the final release builds.
What is the point of this post? I wish I had this book handy when I was going through this. There was absolutely _NO FRAPPING CLUE_ as to how I could have possibly fixed my problem. Nothing in any event log, I even pored over sysinternal's "filemon" real-time trace logs to get a clue as to what was happening (or not)... but I was totally lost.
Now I know how diehard windows geeks feel trying to get any work done on Linux...
I've used Studio 2003 new for the last year and a half. Overall I like it alot and wish I had a linux equivilent (monodevelop has SOOOOOOOO far to go). The only thing I hate hate hate hate (x1000) is it's lousy integration with source safe when it comes to ASP.net projects. Ever try moving a web project from one location to another? Or try to get a un-source controlled copy of your project. Good luck, it's possible but excruciatingly painful.
Just my $1 and 2 cents.
Blender And Linux Fan
Don't forget that MSIL binaries run natively in Linux with mono. Maybe that's what they use. I know I've found it useful.
If you don't know where you are going, you will wind up somewhere else.
Visual Assist is still around and kicking ass. Me and anyone I've worked with uses it like a madman, it practically doubles the efficiency of coding in VC.
.h and .cpp versions
some highlights from Visual Assist:
- Even BETTER Intilisense, no needing to create browse file, it instantly just pops up the function and arguments
- Alt+H to instantly goto the definition of anything, a class, variable etc..
- Alt+O to switch between the
- Spell checking in comments
- A pop up window that lists all the open windows with a realtime search.
- Tons more I can't remember.
-Jon
(I am no way affiliated with Whole Tomato Software, I just love this program)
this is my sig.
If you mean comparable as in full documentation, try a BSD. If you mean comparable as in seperate documentation that you must purchase a subscription to, then no, I don't think you are likely to find such a thing in the open source world.
I've tried twice to move to using Visual Studio as my IDE, but everytime I stop and go back to the old IDE when I realize that I can't figure out how to overcome this shortcoming...
I need tags, what MS calls Intellisense I believe, for files not in my project! When I click on a variable, I'd like to know in what file it was declared, and where it's used. When I type a function name, I'd like it to show me the parameters, and in which of my files that function is declared and used.
Visual Studio seems to do this only for files that you've added to your project. However, when you have a large code base for a complex product that has over 1000 files, you don't want to add all the files into your project. Instead, you want to add just the 20 or so files that you're working on at the moment, and then be able to still reference all the other files. I used SlickEdit currently, and it allows me to point to a root source code directory and build tags, which parses through all the source code and creates all the links.
I can't tell you how important this feature is, and how much of a time saver it is! It's critical for large projects, and I'm surprised that Visual Studio still doesn't seem to support this feature, even in the VS 2005 beta.
Perhaps I'm just not aware of the right "hack" to use? I have heard that you can have a VS project link to other projects, or embed them (?), but that seems to imply that someone would have to maintain the 50 or so project files everytime a file is added/removed (or even modified?). And I'm not even sure whether doing this will give you "tags" to the the source files in the other projects?
Being able to quickly browse the file system from within the IDE and viewing source files (without having to bring up a dialog window) is also a really nice feature when working on large projects.
As odd as it sounds, it seems MS Visual Studio isn't geared towards really large projects. I've heard MS uses it for their own products and OS, but I'm not sure how they do so.
Terry
was sarcasm
eom
I can do it in less letters.
ADC
I have always been a java developer, and still work in java today. I do recall a year or two ago I wanted to give c# a try, and was remarkably shocked at how easy to use VS .NETs gui builder was, and speedy the ide was.
I'm afraid I'm still married to the java style of web application development (which is what I work in). Tools I admire are the Tapestry framework, and hibernate... but for the life of me I cannot find a decent IDE!!
Eclipse being the hava posterboy I find terribly flakey. As soon as I installed the spindle plugin (for tapestry) eclipse just became a nightmare of slowness and runtime errors.
It gets even worse when you try and find a free j2ee plugin for eclipse.
MyEclipse although not free seems to do the trick nicely... is there anything else out there?
All I want is an ide that's free and plays nicely with Tapestry , servlets, hibernate, and subversion.
The closest I've come so far is Intellij IDEA... which is leaps and bounds more stable than even the latest eclipse. But unfortunately it's FAR from free.
I'm sure you've all hear this before but I'm getting pretty desperate. right now I have different projects going on different IDE's. (IDEA trial version, Eclipse, Jedit).
bleh what a mess
Resharper.
It adds real-time syntax highlighting, additional keyword coloring, superb code navigation features, and code refactoring features, among many other very useful items.
If you are using Visual Studio and doing any C# coding at all, you need to check out Resharper, from JetBrains... http://www.jetbrains.com/resharper/. I frankly don't know how anyone lives without it (or at least something similar).
Version 2.0 (due out late this year) will also support 2005, Visual Basic, and ASP.Net coding
- Spryguy
There are three kinds of people in this world: those that can count and those that can't
*sigh* The trolls do rush to these threads. Meanwhile, we on the Free Software side enjoy gcc, vi, EMACS, gdb, Python, Perl, Ruby, Bash, Common Lisp, gcj, Tcl/Tk, wish, GTK+, Qt, SDL, curses, SVGA, aa-lib, POVray, Audacity, PHP, XML, assembly, plus our standard C/C++, and all the open example code you could ever ask for, and half the internet full of tutorials, and man pages, info pages, HTML books, and Docbooks full of more documentation than you could read in a lifetime. All for a substantial monetary outlay of $0.00.
And what do people say to this? Dismiss it all with a handwave - Bah! - and stick with BASIC because they already know it. And it's easier.
Well, no arguements there! But I chose not to stick with BASIC. BASIC was fine on the Commodore Vic-20, and QBasic was good for a yuck or two on the Windows 3.1. DOS batch files were a primitive introduction to the beginning of shell scripting concepts. And by the time I got to paying money for Visual C++ Studio after paying more money for the operating system to run it on, knowing that what I wrote with it would run *only* on Windows for all of it's days, and installed it to discover the closest thing to a nightmare I have ever seen conscious and breathing, I asked myself if I was a man or a mouse.
I picked man. I decided to take the brave step where few dare to tread and learn more than the little scraps Windows was feeding me inside my little box it kept me in. After all, I reasoned, if my sole criteria were "easy to use" and "I already know it", then by the same logic I should be still in diapers and crawling on all fours and drinking out of bottles.
Anyway, it's no skin off my nose. So go on, Microsoft serfs, enjoy your little bag of tricks for your script typewriter! Have your fun. Nobody said that we all had to be professionals! And at least you have one thing to brag about - VB makes a damn fine virus writer! Yes, every virus sample I capture in the wild and study with a hex editor, I discover the words "Visual Basic" stamped proudly right on the binary! For our convenience, of course, so we can set up daemons who grep files for that string and delete what they find before we ever see it. They don't call it "trusted computing" for nothing!
The deal is that the Turbo Pascal's and later Delphi had such a fast compiler unlike anything else on the planet. The fastest of the bunch is still Delphi 2 which is still my fave, unless I require Delphi 6 or higher for ActiveX development. I always attributed the speed to Pascal, even with Delphi syntax -- the clean syntax made for fast parsers, and the fast compiles made it worthwhile to program in Pascal as opposed to the more modern Pascal-like languages such as Modula 2 or Adda.
But there is a dude who claims that the actual grammer of Delphi is one of life's little mysteries -- there is no simple railroad tracks diagram like the Jensen and Wirth report and the actual syntax may be a Borland trade secret. This is preventing third party tools for Delphi, but it is also scary in terms of the language never having an independent implementation -- Free Pascal makes a stab at Delphi compatibility, but code can take a lot of rework to make it through Free Pascal.
Anyway, if Delphi was really that clean, Delphi grammer could be considered for other uses -- like what we do with XML. While Pascal is not Lisp-simple, I was always thinking that it was much simpler than C/C++ or even Java, but the dude is saying that is not the case and the fast Delphi compiles may have to do more with Anders Hejlsberg than anything intrinsic in the language.
On this subject, I have always thought javac to be dog slow on compiles, but I have compiled stuff with recent versions of Eclipse and wow!, it does complete builds in a blink of an eye in comparison. What is Eclipse using for the Java compiler back end?
My blog. Good stuff (when I remember to update it). Read it.
Tightly integrated that is with SQL Server for example. Need to debug a stored procedure? Set a break point in it using VS and step through it, adding watches and such like if you were debugging C# code for example. Now that is the shiztnizz.
Oh how I wish my company would upgrade both VS and SQL Server, guess I'm stuck with VS 2003 for a while. Sigh... ;)
Thanks, If I were doing .NET dev, I'd certainly give that a look. At the moment though I'm doing "old school" C++/MFC/ATL development.
RR
I haven't been able to sample VS.NET 2005 too thourougly, but as far as developing ASP.NET applications goes, the changes are tremendous.
And for the better, I might add, in case there were any doubt.
Not Buzzword 2.0 compliant. Please speak english.
gotcha, most vb and c++ guys I know are sticking with VS6, sorry for the assumption there.. :)
Michael J. Ryan - tracker1.info
So how much does a 4GB installation of Visual Studio weigh, if I may ask? :P
Just kidding. I couldn't agree more.
Not Buzzword 2.0 compliant. Please speak english.
But I would think that the reason for these "bugs" happen to be the VB.NET programmer himself. *grin*
But really. Why, oh, why not use the C# instead?
Not Buzzword 2.0 compliant. Please speak english.
On your first point. The Windows VM is in no way horribly slow, in fact it's a very elegant VM, comparable to Java, although not as mature. VM's however, are bloated by definition compared to native code. Show me a substancially better VM out there than .NET. Java is good, and mature, but inferior in concept... and available on windows from the same primary vendor I might add which is not an advantage for Linux. The NT SMP has always been the best in the business, orders of magnitude faster than Linux until the 2.4 kernels. SMP reperation was the big push for 2.4 precicely because of how much NT kicked it's ass. The NTFS File system has no peer in security; it's the best, hands down, and not too shabby on speed either. I have no idea why you picked NT's strongest points as examples here. You could have chosen examples like GNU/Linux being leaps and bounds ahead in cluster support, standardization of code, small footprint, intelligent RAM allocation and file caching, HID responsiveness, a sane file locking strategy, better all around browsers, better interoperability, etc... but Net Stack, VM, SMP and File System are things that NT did right. Where Windows truely excels, however is the proliferation of highly polished workstation applications, ease of configuration and live updating. And games, but that's just the popularity of the platform speaking.
there are many examples of linux security holes. Try being on the gentoo mailing list for a bit, you'll see how secure this "bullet proof" OS is. Security is an issue for everyone right now and open source is just as vulnerable. Windows gets targeted more than Linux because it controls much more of the machines out there making for a target rich environment. Recent reports have not shown OSS to be substantially more secure. You can however make an arguement that at least with OSS you have the chance to close the holes yourself or do your own code audits, which IMO is a very nice bonus.
And as for your last point, my arguement was not in speed of development. Both OS's have been progressing rapidly. I simply said that just because MS approximates release dates and misses them does not, by itself, show development to be slower on Windows. Linux does not set dates at all, so it is an unfair comparison.
And before you peg me for a windows enthusiast, I'm typing this on Firefox, from my gentoo workstation, mantained via CFEngine on my primary server, alongside my performance cluster of gentoo boxes, behind my Linux firewall. I've got 2 machines here (out of 18) that run Windows. 1 is a test machine I use to verify my products still work under Windows, and my girlfriend's laptop. I much prefer Linux, as it is a much more sane development environment and is perfect for all my clustering needs, and I happen to think it's the best OS out there for my uses. That doesn't mean that Windows isn't ahead in a few areas.
Agreed, it's great.
But if you're working on more than one project at a time, the "load time" is very annoying. (It seems to build a big cache of methods, etc., when it loads)
> Version 2.0 (due out late this year) will also support 2005, Visual Basic, and ASP.Net coding
What do you mean by "will support ASP.NET"? That's what I use it for already.
.
They will never know the simple pleasure of a monkey knife fight
Even if Kylix has not been updated for long, Delphi/Kylix is still the best IDE you can find.
.NET brotherhood, the last version (Delphi architect 2005) also includes .NET
In case you are member of the
Arns.
Why use VSS at all? Use Subversion, AnkhSVN takes care of VS.NET integration, and TortoiseSVN integrates it with the file browser (Windows Explorer).
And what do you want from code in 4 years? Lifespan of most programms is much less (2 years IMHO)....
Allows me to add pictures into my C# code?
SVG would be great, but any would do even BMP/GIF/JPEG/PNG.
Visual commenting (even mind maps) are so much better (for me at least).
I've been looking for such a plugin/code editor for aeons.
A best question would be... Can it compile Linux?
---- You know how some doctors have the Messiah complex - they need to save the world? You've got the "Rubik's" complex
I want a simple File Explorer built into the IDE like Dreamweaver or most every other IDE. Is there a add-on?
This seems to be a common issue. But, since most of us Americans only know a single language, we really shouldn't pick on him too much.
It will support code-behind pages in ways it does not currently. ASP.Net support will be expanded.
Also, that modal start-up dialog will be changed so that modules and caches load in the background. Hopefully that'll help your start-up complaint (though some features won't be available until all the caches finish loading).
There's also a great new "File Structure" window that allows you to drag and drop methods around, see/collapse/expand regions, etc.
- Spryguy
There are three kinds of people in this world: those that can count and those that can't
.NET assholes. I've been running the 64-bit version of windows for a year (2?) or so now. I got it basically the day the early beta came out. Back then the only way to build 64-bit applications for windows was to run 6 and use the DDK compiler with it.
.net versions anyway, so I'm still running 6 with the newer compilers underneth. It feels a lot faster and the keymappings work the way my fingers expect them to. I tried 2005 for a while but couldn't figure out how to get it to behave like 6. A lot of it has to do with the fact that I run the with the screen nearly full of source files, and use the alt-number shortcuts to pop up the errors, and project management windows. This doesn't work in 2005 which is really anoying.
I never really liked the
I went to this link http://msdn.microsoft.com/getthebetas/ and gave MS $12 and they shipped me two copies of VS2005 Beta 2. They arrived in two days.
This is the real thing, with the optimizing compiler and the IDE. The Express editions lack the OS header files (windows.h, etc). This means you cannot access network, file systems, etc. I'm pretty sure that the Express editions also lack the very good optimizing compiler, but its been a while since I used Express.
You can get an Intellisense plugin for vim too, check it out at http://insenvim.sourceforge.net/
I SlashDot funded by MS now? I've always heard this, but discounted it as rumor. But, with all the MS advertising, it must be dependent on some MS $$$ - either directly or indirectly. Doug Hettinger www.SoftwareObjectz.com
http://www.softwareobjectz.com
Nice one, I look forward to the new features!
At the moment, I particularly like the automation of repetitive tasks, e.g. "Need a public read/write attibute for you protected one? Just use this quick key combination!"
.
They will never know the simple pleasure of a monkey knife fight
I'm looking for a Visual Studio .NET & C# tutorial, one that takes me by the hand and leads me around like I'm a clueless idjit. I'm a former C programmer who purchased Visual Studio .NET 2003 and am baffled by all the options choices. Recommendations anyone?
Thanks,
Mack - who must become more technical or they'll make a manager out of me...
Are you using OS X on a fully supported machine and peripherals with a properly installed copy of OS X? It doesn't sound like it at all.
I develop full-time on both Windows XP and OS X (10.4.2). I have had to reboot Windows XP fairly rarely due to crashes of some sort, but I have to reboot Windows XP fairly often due to gradual system degradation. OS X, on the other hand, I have never yet had to reboot due to a hard lock up and have only had to reboot otherwise because I turn off the computer for the weekends when I am not at work.
I would personally disregard your post in light of other people's experience's with OS X, including my own. Your experiences are not the majority and definitely sound like they are to do with other factors involved with your installation and use of OS X.