Saturday, March 21, 2009

Mod your Visual Studio Professional

Here's my list of developer tools for Visual Studio Professional. Dreamspark only provides Professional Edition, so I'll be listing the

alternatives for the missing features that are only available for Team Foundation. All software listed are free unless otherwise stated.

Client-side

Code templates and refactoring

  • SlickEdit Gadgets generates methods to retrieve data from clipboard, clipboard analyzer and calculates Source Lines of Codes.
  • Enterprise Library contains various application blocks for Validation, Logging and others. (I had not used this before)
  • Coderush Xpress declare classes, interface structs, extract method and others with ease.
  • Refactor! for ASP.NET extract to user control, rename, move style to style sheets, surround with update panels and many more with ease.
    • OR
  • Coderush (Trial, best to buy as it is really worth it. For the broke, download a new version, uninstall and install when it expires). Generates templates for classes, exceptions, for/foreach loops and many more. Identifies syntax errors, suggests alternative shorter statements.  Also provides the DXCore library (free) which some of the plugins depend on. (Requires a powerful computer)
  • Refactor Pro! (Trial, best to buy as it is really worth it. For the broke, download a new version, uninstall and install when it expires). Rename, move a piece of code into a new method, extract interface, simplify logic, extract html styles to style sheets, remove end tags in XML and many more with ease. (Requires a powerful computer)

Source control (SVN)

  • Slik SVN for SVN functionalities and command line.
  • TortoiseSVN to have GUI in Windows Explorer.
  • AnkhSVN to have GUI in Visual Studio.

Code compliance/best practices

  • FxCop to check for performance, globalization, signing and other issues.
  • StyleCop to check for missing XML comments, standardize code and other issues.
  • RightHand plugin spell-check your XML comments, comments and strings. (Requires DXCore)

Database connectivity

  • NHibernate O/R mapper. Generates classes for communicating to database. Simpler and more mature than Linq to SQL. (I had not use this before)
    • OR
  • LLBLGen Pro (Buy) O/R mapper. Generates classes for communicating to database. Popular and more mature that Linq to SQL. (I had not use this before)

Unit Testing

  • xUnit.net provides method for asserting exceptions, rather than the more restrictive ExpectedException attribute used in nUnit.
  • TestDriven.Net Personal Version to have GUI in Visual Studio. (I had not use this before)

Documentation

  • GhostDoc to generate default XML comments.
  • Sandcastle to generate help files (in html/chm) from the XML comments.  (Warning: a memory and processor hog)

JavaScript tools

  • Script# generate JavaScript from C#. Native support for Windows Gadgets and Silverlight. Takes advantage of intellisense, static-typing and others of C#.
  • IE 8 for JavaScript debugging and testing IE specific methods.
  • Firefox with Firebug and Tamper Data add-ons for JavaScript debugging, testing Firefox specific methods and checking POST data.

WPF tools

  • Mole Visualizer presents your WPF classes graphically during debugging. (Warning: Crashes often the last time I used it)
  • ViewerSvg (Trial). Converts SVG into XAML.
  • Xceed DataGrid for WPF Express provides the missing data grid, masked text box, date time picker and other controls in WPF. (Warning: The last time that I’ve used it, there are some properties that you need to leave it as default, if not the data grid will crash. Test extensively.)

Regular expression tools

Reverse engineering

  • .NET Reflector reverse engineer any .NET generated dll or exe files and see the source code in C#.
  • ILDASM and ILASM (installed with VS) for editing .NET dll and exe files.
  • Spy++ (installed with VS) to find the Windows Handles of applications.

Interoperability

  • PInvoke Visual Studio Add-in provides GUI to search PInvoke.net. Community-contributed C# and VB signatures to the Windows 32 API functions.
  • Connector/NET for database connection to MySQL database (if you happen to inherit one, like me).

Blogging

  • CopySourceAsHtml copies the syntax highlighting in your C# code as html or rtf for posting/printing nicely formatted code.
  • Window Clippings (trial) for capturing screen shots with translucent non-client area (the title bar, border etc).

Server-side

Source control (SVN)

Continuous Integration

  • CruiseControl.NET check-out source code, run scripts, unit tests, source analysis whenever there is a check-in to source control. (Warning: hard to configure. I am now using it only to check-out source code)
  • NAnt run build scripts. (I had not used this before)

Bug Tracking

  • BugTracker.NET website for filing tasks, bugs. Sends email for new entries. Very easy to install and configure, though look and feel leaves much to be desired.

Friday, March 20, 2009

CSS Centering: Auto-width Margins

<div align=”center”> has been deprecated in XHTML 1.1. Replacing it with <div style=”text-align:center”> did not work.

The correct replacement is <div style=”width;1000px; margin:0 auto”> on the child element and a text-align:center on the parent element. Credit to CSS Centering: Auto-width Margins for example.

Wednesday, March 11, 2009

Windows 7 and Life Without Walls

A demonstration of web and networking functionalities in Windows 7.

RAZORTV - R.age: The Bonus Stage (Pt 2)