2010 Jun 22, 1:49
"The PowerGUI Visual Studio Extension adds PowerShell IntelliSense support to Visual Studio."
2009 Mar 20, 5:03
"This package contains header files and libraries to help you develop Windows applications that use Windows Internet Explorer."
2008 Aug 15, 4:02
VS debugs XSLT. Didn't know that. Neat. "You can use the Visual Studio debugger to debug XSLT. The debugger supports setting breakpoints, viewing XSLT execution state, and so on. The debugger can be
used to debug a style sheet, or to debug an XSLT transformation invoked from another application. XSLT debugging is available in the Visual Studio Team System and the Professional Edition."
Unfortunately I couldn't figure out how to pass in parameter values... I just ended up setting the default value for my param elements. Otherwise, cool.
2008 Feb 19, 12:33
MS dev tools now free for students FTA: "Microsoft DreamSpark enables students to download Microsoft developer and design tools at no charge." I would have loved this as a student.
2008 Feb 16, 11:53
The free downloadable versions of Visual Studio
2007 Aug 6, 3:43
Miladin told me about the Visual Studio compiler's promising option Wp64
that finds 64bit portability issues when compiling
in 32bit. If, for instance, you cast from a
you get a W4 warning. However, the #defines are still set for 32bit builds. This means that other parts of
the code can make assumptions based on the #defines that are valid on 32bit but generate 64bit errors or warnings.
For instance, in winuser.h the public published Windows header file there's the following:
__in HWND hWnd,
__in int nIndex,
__in LONG_PTR dwNewLong);
#else /* _WIN64 */
#define SetWindowLongPtrA SetWindowLongA
#endif /* _WIN64 */
In 64bit everything's normal but in 32bit SetWindowLongPtrA is #defined to SetWindowLongA which takes a LONG rather than a LONG_PTR. So take the following code snippet:
LONG_PTR inputValue = 0;
LONG_PTR error = SetWindowLongPtrA(hWnd, nIndex, inputValue);
This looks fine but generates warnings with the Wp64 flag.
In 64 bit, p is cast to (LONG_PTR) and that's great because we're actually calling SetWindowLongPtrA which takes a LONG_PTR. In 32 bit, p is cast to (LONG_PTR) which is then implicitly cast to (LONG)
because we're actually calling SetWindowLongA. LONG and LONG_PTR are the same size in 32bit which is fine but if you turn on the Wp64 flag there's a W4 warning because of the implicit cast from a
larger size to a smaller size if you were to compile for 64bit. So even though doing a 32bit or 64bit compile would have worked just fine, if you turn on the Wp64 flag for 32bit you'd get an error
It looks like I'm the most recent in a list of people
to notice this issue. Well I
investigated this so... I'm blogging about it too!