Table of Contents
Please consult the ticket view 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, that can be downloaded here: (VS Shell 2008 and VS Shell 2010). 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.
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.
Library search path not passed to linker
Even though Visual D allows to set a library search path, this does not work with the default installation of DMD. Optlink, the linker used by DMD, only accepts the path in the LIB environment variable (this is set by Visual D), but dmd overwrites it with the settings in its configuration file sc.ini.
You should change the LIB setting in <dmd-installation-path>\windows\bin\sc.ini to this:
to pass through the value set by Visual D. Since version 0.3.14, DMD_LIB is used instead of LIB to avoid conflicts with the environment variable LIB being used by other compilers.
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:
- disable Visual Assist while programming in D
- assign your favorite keyboard shortcut to the command "VisualD.ParameterInfo".
- add the following Visual Studio macro
Sub ParameterInfo() If Not ActiveDocument Is Nothing Then If ActiveDocument.Language = "D" Then DTE.ExecuteCommand("VisualD.ParameterInfo") Else DTE.ExecuteCommand("Edit.ParameterInfo") End If End If End Sub
and assign the standard ParameterInfo shortcut (Ctrl-Shift-Space) to this function.
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. 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.