Andrew Arnott

News from my corner of the Visual Studio Connected Experience team, programming tips, and solutions to common programming issues.

Update to Visual C++ 2012 Debugger launch extension template

A few days ago I posted about an updated Visual C++ 2012 debugger extensibility project template.  Since then, I realized it had a couple of issues that prevented it from working out of the box.  With those fixed, I also added a demonstration of how to read project properties that aren’t specifically dedicated to debugger… Read more

Enable C++ and Javascript project system tracing

I’ve previously posted on how to enable logging in the C++ project system in Visual Studio 2010.  In Visual Studio 2012 we’ve changed the way the Common Project System (aka “CPS”) emits trace messages so below I introduce an updated xml snippet that works in Visual Studio 2012.  Since CPS is now the project system… Read more

Visual C++ 2012 Debugger Extensibility

Back in Visual C++ 2010 we introduced debugger extensibility so that third party vendors can either add new debugger engines or new ways of launching existing debugger engines for C++ projects.  In Visual C++ 2012 this debugger extensibility has been updated.  Any previous extensions that were compiled against Visual C++ 2010 will have to be… Read more

VC++ Debugger Extensibility

Visual C++ 2010 includes a debugger extensibility point that makes it easy for people who have written their own debuggers, or wish to modify the way existing debuggers are launched, to do so. Check out the Visual C++ Debugger Launch Extension project template on the Visual Studio Gallery to get started…. Read more

Why you should never use TCHAR in C++ header files

In C++, TCHAR, LPCTSTR, CString, and other types discretely change to their char/WCHAR, CStringA/CStringW counterparts depending on whether UNICODE is defined in your source code.  Cool.  By conscientiously using _countof(x) instead of sizeof(x) where appropriate and TCHAR’s everywhere instead of char/WCHAR, you can write code that will compile with ANSI or UNICODE support as easy… Read more