Porting VisualD to Windows 8 and Visual Studio 11

Rainer Schuetze r.sagitario at gmx.de
Sun Jun 10 11:16:37 PDT 2012

On 6/10/2012 7:10 PM, Roman D. Boiko wrote:
> On Sunday, 10 June 2012 at 16:51:23 UTC, Rainer Schuetze wrote:
>> As you don't need the VS2012 SDK or the Windows 8 SDK to build Visual
>> D, it does not seem urgent to do the translations, but it might be
>> nice to have them as this is a fast way to update the interface
>> headers to a new OS version. The recent version of the converter also
>> translates "#ifdef _WIN64" to "version(Win64)" instead of throwing the
>> code out, but I have not done a lot with it yet.
> I wanted to experiment with VisualD a bit to check whether it is
> possible to make use of my other project
> (https://github.com/roman-d-boiko/dct, currently very early draft) from
> VisualD.

I have recently refactored the code so that the parser and the semantic 
analysis can run in an different process (a local COM server). This was 
mainly to avoid GC stalls within the IDE, but could also be used to 
plugin other code for semantic analysis. The current interface is here: 

> Are these SDKs needed for developing VisualD on Windows 8 RC with Visual
> Studio 11 RC? This setup is the one I use most often.

You can also use the SDKs that come with VS2008 or VS2010.

> Basically, either a block of text from some file is commented out when
> it generates compiler error, or some block (`open`) is replaced with
> equivalent starting from `/+`, and the other (`close`) with the one
> ending `+/`, so that everything between them is commented out.
> I think some blocks could be converted to the D equivalents, but I don't
> have experience with this.
>> Those _null_terminated_ annotations (and similar) should probably be
>> translated to their Win7 SDK version identifier __nullterminated. That
>> way they might get handled correctly by the regex expressions.
> Would be nice to know the correct mapping for various annotations. So
> far I tried to mimic code already present in VisualD.

The annotations are usually commented out by the converter to keep them 
as documentation. But that means they can still confuse some conversion 
rules (e.g. calls to replaceTokenSequence that contain __nulltermiatated).

More information about the Digitalmars-d mailing list