Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

Known Issues

Please consult the bug database for issues within Visual D. Some irritating behaveour is not caused by Visual D - these are listed here:

Visual Studio Express

Visual D does not work with any of the Express version of Visual Studio. These editions do not support loading third party extensions and add-ins.

A free alternative are the integrated Visual Studio Shell distributions. The shells are identical with the Visual Studio IDE, but stripped of any language support. It still contains the native debugger that can be used to debug D applications. Please see the installation page for download links.

Unfortunately, the Visual Studio Shell is missing one file, that is needed for the conversion of the debug information by cv2pdb. This is msobj80.dll for VS2008 and msobj100.dll for VS2010 and must be extracted from a standard installation, the Visual C Express edition or the Windows SDK. You might also find it installed by other Microsoft products.

In November 2014 Microsoft released Visual Studio Community 2013, a version similar to Visual Studio Professional, but free for most users unless working in larger companies. Visual D integrates just as well as with the commercial versions.

No parameter tool tips when running alongside Visual Assist

Visual Assist is an extension to Visual Studio that adds a lot of editing functionality to most languages supported by VS, but not D. Unfortunately it interferes with Visual D. A known effect is that parameter info tool tips don't work in Visual D while Visual Assist is active in VS2005 or VS2008 (reported to not happen in VS2010). There are several work-arounds for this:

Process MsMpEng.exe eats a lot of CPU

The process MsMpEng.exe is part of the Windows Defender anti virus protection system. It seems that it monitors inter-process communication, if it is configured to "real-time protect" your system, but doing so takes noticeable CPU performance. If Visual D is configured to parse or semantically analyze the source code, it delegates this to a separate process vdserver.exe/ DParserCOMServer.exe. This requires considerable data transfer between processes.

As a result, Windows Defender can harm performance of Visual D. To avoid this, add the Visual Studio process devenv.exe to the list of Excluded Processes in the settings of Windows Defender.

Import libraries from C/C++ projects

A Visual C/C++ DLL project reports two outputs to dependent projects: the DLL and the import library.

Unfortunately, the import library reported still contains unexpanded macros and the current working directory prepended instead of the project directory. The actual replacements are not accessible to Visual D, so it assumes the import library to be placed along-side the DLL.

If the C++ DLL project is converted to a static library project, the import library setting is kept, though unaccessible from the configuration page. The import library is falsely reported as an output. To mitigate this problem, Visual D ignores the import library if the main output is also a library.