Posts tagged with visual-studio - page 6
The Visual Studio IDE (VS2003, VS2005) is a massive beast with a plethora of options, settings and tweaks to be had.
A few of my favorite, often overlooked ones, are:
Adding existing folders
The Add > Existing Item… is all well and good for adding files but how do you add folders to your project?
Specifically folders you’ve already dropped in place, ideally with all the files and sub-folders added.
Simple: Click the Show All Files button at the top of the Solution Explorer_pane then right-click the folder you want included and choose _Include in Project.
Speed up large C# projects
VS2003 and 2005 can be sluggish at times especially with large projects.
To get a much-needed speed boost head over to Tools > Options… > Text Editor > C# and uncheck Navigation bar.
Install the C# snippets
On occasion I find simple example snippets of C# code ending up on the front page of DotNetKicks despite Microsoft providing an entire snippet library of C# code to do these things already.
Head over to their download site, install the MSI then choose Tools > Code Snippets Manager… > Visual C# > Add… and enter the folder name that it popped up with post-install.
Open folder in Windows Explorer
From time to time you’ll need to break out of Visual Studio into Windows Explorer and wondered why there is no right-mouse button context menu option available from Solution Explorer.
Just open the file from inside Visual Studio then right-click on the tab and choose Open Containing Folder.
Beta 1 of Microsoft’s free XNA Game Studio Express product should be available for download later today.
If you haven’t already got started you’ll need to download the following bits first:
- Visual Studio C# Express (Visual Studio 2005 works for compilation but some of the plug-ins etc. aren’t yet working with it)
- Direct X SDK (August 2006)
- XInput Driver for Microsoft Common Controller (wired controllers only, not wireless+cable)
Then sign up for the beta and come hang out in the IRC channel #xna on irc.quakenet.org.
I’ve briefly covered Microsoft’s XNA gaming platform before but have been trying to piece together what it is actually going to mean to developers.
Sorry, had to clarify the whole commercial/non-commercial parts. XNA Framework is just a portion of XNA… that won’t apply to the big guys.
Microsoft have made it clear they want to open up XNA to interested parties which should mean home-brew software.
These guys will be using C# in conjunction with XNA Build, XNA Studio, XNA Framework and managed libraries.
Licensed 360 developers get a whole set of tools and technologies that are under tight NDA just like those Sony and Nintendo insist on for their licensed developers.
These guys will be using C++ in conjunction with XNA Build, XNA Studio and no doubt 360-optimized unmanaged libraries based on Direct3D, Xinput and XACL.
Whether XNA lets Microsoft get the 360 and Windows XNA gaming platforms a little closer is anyone’s guess. Being under NDA I doubt the general public would even know.
C# for home-brew developers, C++ for licensed studios.
There’s no way the licensed studio’s are going to change and C# lets the new guys get up to speed quicker.
Licensed studios will have full control, full speed and continue to use their existing libraries and middle-ware.
Core framework – .NET 2.0 BCL
.NET 2.0 Base Class Library – well a modified version of it for those using the XNA Framework and C#.
Seeing as C# is the only managed language on the menu and games are rather performance sensitive expect CLS compliance to disappear and plenty of under-the-hood optimizations now that they don’t have to support other languages.
Graphics framework – MDX2
The graphics framework is based on the graphic assemblies of Managed Direct X 2.0 (MDX2) which currently ships as part of the DirectX SDK.
MDX2 is currently beta and will never hit a final release now all attention is now focused on the “XNA Graphics API” version that will see the weight drop and aim to be more cross-platform – no doubt hiding away all the platform-specific optimizations inside the libraries themselves.
There will be no System.Drawing and no System.Windows.Form name spaces so forget about them.
Audio framework – XACT
Microsoft Cross-Platform Audio Creation Tool (XACT). Grab it from the latest DirectX SDK and forget about DirectSound and DirectMusic. They won’t make it.
Input framework – Xinput
XInput kicks DirectInput off the scene with it’s easier-to-use API and support for vibration and varied controller types and voice headset.
Grab the XInput Driver for Microsoft Common Controller, plug in the 360 controller on your PC and start messing round.
Build tools – XNA Build
XNA Build is based on MS Build but adds asset (textures, samples, music etc) tracking to the mix to ensure you don’t do like Microsoft and ship almost an entire CD’s worth of unknowingly unused assets with your Mech Commander. It also lists incremental and distributed builds on the feature list.
A March 2006 technology preview is available that integrates with Visual Studio 2005.
IDE – XNA Studio
Once again Microsoft takes from it’s existing .NET tool-set and makes an XNA version – in this case Visual Studio 2005 Team System..
Whether the cheaper home-brew/XNA Framework/C# version will have all the C++ features stripped is anyone’s guess.
Microsoft have already announced their plan to take online gaming from the Xbox 360 (gamertags, achievements, friends, chat) and make it cross-platform across to Windows and mobile gaming.
It would make of sense then that the Live Anywhere! system is .NET framework for use with XNA – even if it doesn’t officially make up part of the package.
Have to sit and wait for this one to pan out.
Microsoft will be supporting:
- Xbox 360
- Windows XP 32-bit/64-bit*
- Windows Vista 32-bit/64-bit*
Mac OS X?
Apple should really be negotiating to get XNA on Mac OS X. It already internally supports PowerPC (360, G3, G4, G5) and Intel (Windows, IntelMac) as what they offer developers seems rather weak – about the only reusable element is OpenGL.
This would allow existing XNA games to be ported with ease although would be of little use to existing Apple developers who use Objective-C/C++ and wouldn’t want to interop with C#.
Linux already has Mono & DotGnu which could provide the basis for a .NET based gaming platform but I can’t see Microsoft wanting to open up the source for a successful Linux port.
The only obvious route here would be for Linux developers to either implement it themselves or wrap around existing technologies – Wine/OpenGL etc.
Sources & info
One of the things that annoyed me with Visual Studio.NET 2003 and Visual Studio 2005 is the web “project” type.
The main problem is that these projects are not treated as traditional applications, but in order to please the ad-hoc web developer crowd they are treated as collections of files with no specific project options or compilation process – instead compiled on-the-fly by the web server.
Now for managing day-to-day web sites I can understand this. You don’t want a small change to one page bringing down the whole site because of a compilation error.
But there are other scenarios whereby you are developing a web application, perhaps as a front-end to your main system and you want that compile error to show up here and now. You want compilation options because you’re not intending on shipping the source out to other people.
Thankfully I’m not alone in this scenario and Microsoft have released a second beta of the VS 2005 Web Application Project. They have also updated the beta of the VS 2005 Web Deployment Project to work with it.
The Web Deployment Project lets you right click and built to remote and test servers…. Nice.
You can keep an eye on the developments over at ScottGu’s excellent blog.