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
this is super neat, man!
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! --
yes
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?
can it run linux?
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.
If you hack Visual Studio using Visual Studio, would you set off some kind of apocalyptic loop?
-Sj53
Yeah! Right!
Free Firefox news reader.
I despise using Visual Studio. It's bloated and buggy as hell.
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 hope you're joking. Or maybe you're not a programmer.
Your name should read "Ludite_Beyond_Salvation".
But since you said "VIM" instead of "VI" you lose credability even with the luddites. So sad...
You forgot:
Ctrl+Alt+Del - Reboot locked up Windows machine
I wonder where is Trip Master Monkey? He used to the one who does those first post!!
He's never heard of MSDN and is reviewing a book on VS?
jim@iterativerose.com
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
Why is a book about an MS IDE relevant in the Open Source age of Eclipse?
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.
would a comment like this be modded so highly. There are comments and there are stupid comments; this happens to be one of the later. The OP's thoughts must go "sleep sleep eat linux linux linux eat linux lin linux sleep". Lets face it; really, Visual Studio is a great IDE. Nothing else comes close. But oh no, we have to throw in some unrelated MS bashing. How old are you brxdxn? 15? I bet you've never gotten beyond 'hello world'. Seriously grow up. It's a windows world for a reason.
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.
vim's refactoring support kicks ass
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
*Insert ASCII Goatse Here*
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! --
MS Visual Studio is one thing they got right, or as right as most people need it to be. Fast, simple software development. It's a shame that VB has been forced over to .NET. I think VB should return with a VB7 release. Then more hobby coders could dabble more with it rather than .NE, which is sadly a bit of a pain.
Come on MS, chang eyour minds and get VB7 on the go.
Yea right...as if everything in Linux world is standard (btw how many distributions we have? And how many of them are successfull..zero..?)...
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
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
You must be new here...
communist!
"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. "
Is Slashdot going towards Windows users with these articles? A few years ago it would have been out of the question to review Windows programming books..
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.
i am glad with coding in java but i need to say that visual studio is the right tool when you need to quickly setup a gui and its bloated with wizards that invite you to hate them and do your own code. i guess thats the purpose of that book. in my opinion there is no such tool that can help a non geeky professional doing some gui quick in java. but there you have jsp for webdesign, so a corporation can hire web designers and artists and programmers and make them work together. you can't force a designer to make a gui using java swing but he can do something quickly using a idelike visual studio. and maybe, if he wants to get more out of it that book is a good start. my work with visual studio is over, i think but i must say there where some quite interesting things i learned from it.
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.
Vim refactoring examples in c# If you're a luddite or non programmer, give it a shot.
What did the grandparent post say? Oh yeah - "Visual Studio 6.0 shortcuts rock"
If you don't remember, Visual Studio 6.0 was released on Windows 95, not Windows XP.
Your post is interesting and opposite what I would expect, but uh... Yes, that did happen, and I'm sure Ctrl+Alt+Del would be an invaluable shortcut for any poor fool still working in that environment.
If you want an Open Source IDE to hack around, try CodeBlocks (see my url). It's GPL'ed and is currently being ported to Linux (volunteers welcome, BTW) :)
1. i was actually unaware of that; thank you for the link
2. vim's refactoring support still sucks compared to visual studio
Is it possible to create OSS with it?
And I used to see it as the reference IDE...
But honestly, after using eclipse for a few months, it has truly become the new king!
I know it is not so good for C/C++ yet, but MS has definitely some things to learn from it!
Handling and structuring big projects can be a pain in Visual Studio and the documentation is truly becoming a djungle without comparison!!
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??
Uninstall it! Then proceed to wrap it back up along with the million MSDN CD's that you never really want but get anyway and drop it on a certain billionaire's car as he drives under an overpass...
Me bitter? Why do you say that?
Oops, how did this get here?
09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
http://www.vbrad.com/Reviews/books/brVisualStudioH acks.htm
Best-in-class solutions suffer greatly from needing to go through several steps at each stage of development. You can and usually have to write your own glue, but with VS you don't need to, since yes, it's a jack-of-all-trades. (I won't start countering myself with the differences between versions as the point still stands for each individual product.)
.NET is annoying, but still straightforward).
Also, can you offer your personal IDE creation as a product (free or otherwise) to others in a simple fashion? VS has so much stuff, so they can stick a single price tag on it and say "here ya go". I shudder to think of the version and package dependencies of your setup. (a new VS IDE for each version of
Lastly, in what regards is it lacking exactly that your configuration has? To be fair, what does yours lack? (I think someone else mentioned Intellisense)
just my TwoSense.
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
http://worldwind.arc.nasa.gov/download.html
.NET runtime environment and DirectX installed."
.NET applications in Visual Studio for a living.
"World Wind requires that you have
OK, it's not "commercial" but it is a pretty impressive app, if you ask me. Disclaimer: I develop
If you haven't tried it, I recommend a download. Impressed me a lot more than Keyhole. (p.s. get close to a mountainous area and tilt the globe with a right-drag... Fly through those mountains!)
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... ;)
Hey dumbfuck, there's a standalone c# compiler as well. You're not tied to the VS IDE for c# coding. Just use the code editor of your choice and compile with csc.
Also, as far as someone teaching you Python or Ruby as a kid, why are you waiting for someone to hand it to you? Buy a book or grab a tutorial off the internets and start learning, you pussy.
God, what happened to motivation? What happened to common sense?
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.
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.
Visual Studio tends to create non-portable apps.
*nix tools tend to create portable apps.
Thus, Visual Studio is a great tool for creating low-quality applications.
Use *nix tools.
Give Netbeans 4.1 a try. I prefer it to Eclipse.
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.
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.
.exe files that VS.NET spits out won't run on Linux or Solaris. Especially so if I embed activeX components in an app, which is very easy with VS.
You make it sound like something unusual that an app still works 6 years later. Must be a Microsoft thing.
But even when it comes to VS2003, last time I checked C# and
The CLI is a ECMA standard, this provides you with enough functionality to write "hello world". The rest of the stack is patented (ASP.NET and just about everything else you need to write a real app). There is plenty of Windows-specific features in VS. Last time I checked the
Why use VSS at all? Use Subversion, AnkhSVN takes care of VS.NET integration, and TortoiseSVN integrates it with the file browser (Windows Explorer).
You really have absolutely no idea whatsoever what you're talking about.
"VM's however, are bloated by definition compared to native code."
You need to understand what Virtual Memory is in an Operating System. They ARE implemented in native code.
"The NT SMP has always been the best in the business, orders of magnitude faster than Linux until the 2.4 kernels."
This is hilareous. The best in the biz has been Solaris, since the early 90's. Hands down. Linux SMP in 2.4 has generally sucked, at least in the earlier versions. Today it's so-so in the 2.6 kernels.
But it's still far, far better than Windows. Do you have any idea what NUMA is?
These and your other comments clearly indicate you have absolutely no idea whatsoever what you are talking about, and you can't offer an informed opinion on the matter.
My original points still stand.
Please go back to point-n-click software development. You don't understand real technological concepts.
And what do you want from code in 4 years? Lifespan of most programms is much less (2 years IMHO)....
I bought http://www.diveintopython.org/ last week
and please don't mention pussies i get a boner which leads me onto porn - hard to study with such distractions.
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.
Yeah right, all the COBOL programs were created two years ago...
I want a simple File Explorer built into the IDE like Dreamweaver or most every other IDE. Is there a add-on?
Mod Troll please
Also, sorry for being so negative here. But your statements come across very much like a PHB who is throwing out buzzwords. Most of your statements are just way off base.
:P)). Their kernel doesn't scale well at all (which isn't a surprise). So instead, they are trying to implement hacks around it. No one has succeeded in TCP offloading yet, in the past 15 years. They haven't exhibited the technical expertise to convince me to bet on them being the first.
And, as far as the Network Stack, no, MS mucked that one up too. A case in point is the reason why they are trying to roll out Chimneys (aka TCP offloading). This is because they understand that they are in serious trouble on the next generation of technology (according to people from MS; there goes my NDA.
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/
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...