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.
Version History
2025-03-14 Version 1.4.0
- fixed msbuild integration for VS 2022 17.5 - 17.14
- now works with Visual Studio for Windows on ARM64
- dmdserver:
- updated to frontend of DMD 2.110.0
- now slightly less dependent on D runtime by avoiding lowerings
- fixed some false pointers causing memory leaks
- pass import paths from prerequisite projects to semantic analysis, too
- log communication with Visual D to %TEMP%/dmdserver if that folder exists
- improve completion for member variables, code in switch statement
- fixed completion for fields/members of class/struct fields
- added option to display type size and alignment in tool tip
- mago debugger extension:
- fix crash due to changed return values from IDiaSession in VS2022, probably fixes issue #261
- fixed issue #282: now (mostly) calls __debug* methods asynchronously
- fixed issue #279: display void[] as ubyte[] in the debugger
- fixed issue #281: dereference pointer with '.' for arrays, too
- fixed switching GC for funtion evaluation and adapted it to dmd 2.109
- fixed display of tuples (currently only with LDC)
- do not hide __param_.. function arguments as compiler generated symbols
- fixed showing intellisense information in tool tip while debugging in VS2022
- expression evaluator now resolves identifiers of named enumerator types
- language service:
- fixed issue 23734: avoid exception by std.file.isDir when clicking a project folder that doesn't exist
- updated dfmt library from upstream
- improved message when dmd crashes
- "add imports from dependent projects" is now evaluated recursively and passed to semantic analysis
- added support for compiler option -preview=shortenedMethods
- fixed issue #264: VisualD doesn't run compiled executable, when I select "Compile and Run" option
- fixed issue #269: avoid BOM in response file if system codepage is UTF-8
- fixed detecting dmd update after 2.108
- updated to build with dmd-2.110
- fixed crash if source window closed before semantic analysis callback completed
- fixed building with VS 2022
- installer:
- full installer now bundled with DMD 2.110.0 and LDC 1.40.0
- installer now supports 4 parallel installations of VS 2022
- project template cache now removed if Visual D does not find itself in it. Workaround for issue #256
- fixed some version inaccuracies in installation files
2022-09-10 Version 1.3.1
- full installer now bundled with DMD 2.100.2 and LDC 1.30.0
- dmdserver: fixed memory leak
- fixed building against WinSDK 10.0.22621.0
- fixed projects no longer considered failing
- D files in VC projects failed to build in VS 2022 17.3 and 17.4, added separate versions of dbuild.17.x.dll linked against respective versions of Microsoft.Build.CPPTasks.Common.dll
2022-06-05 Version 1.3.0
- dmdserver updated to frontend of DMD 2.100.0
- full installer now bundled with DMD 2.100.0 and LDC 1.29.0
- bugzilla 22747: D files in VC projects failed to build in VS 2022, added separate versions of Microsoft.Build.CPPTasks.Common for 17.0, 17.1 and 17.2.
- bugzilla 22764: now searches the 32-bit registry hive for install paths of DMD and LDC
- bugzilla 23069: mago crashing when debugging VARIANT data type in VS 2022
- bugzilla 23043: project templates missing in VS 2022 until configuration manually updated
- semantic analysis: without a project loaded, a D file is now analyzed using the compile options of "Compile and Run" with an import path derived from the module declaration.
- visualdproj: exit code printed for failed commands
- cv2pdb 0.52: improved DWARF support for non-contiguous functions, bug fixes
2022-01-15 Version 1.2.0
- added support for VS 2022
- dmdserver:
- updated to frontend of DMD 2.098.1
- bugzilla 21710: Code Completion doesn't work if compiler path contains a white space
- restrict "errors in imported modules" to a couple of lines
- added option to restart the semantic analysis if memory usage goes above a given threshold
- project management:
- bugzilla 21897: Semicolon inside quotes in path variable causes range violation in pipedmd
- avoid rebuild when target is also read by compiler (dmd 2.098+)
- editor:
- bugzilla 21877: VS2019 crash with "Show parameter storage class at call site"
- cv2pdb:
- added support for DWARF5
- installer:
- full installer now bundled with DMD 2.098.1 and LDC 1.28.1
2021-04-28 Version 1.1.1
- dmdserver:
- updated to frontend of DMD 2.096.1
- debugger:
- bugzilla 21734: stack overflow when displaying recursive structure with array
- installer:
- full installer now bundled with DMD 2.096.1 and LDC 1.25.1
2021-02-02 Version 1.1.0
- dmdserver:
- updated to frontend of DMD 2.095.1
- experimental: show parameter storage ref/out/lazy at call site
- improved handling of symbols in selective imports
- editor:
- bugzilla 21239: navigation bar now sorted, symbols starting with "__" moved to the bottom
- integrated dfmt for "Format Document"
- installer:
- full installer now bundled with DMD 2.095.1 and LDC 1.25.0
- projects:
- added support for -preview=in and -preview=inclusiveincontracts
- visualdproj: added macros FULLOUTDIR, FULLINTDIR, INPUTFULLPATH, INPUTFULLDIR, TARGETFULLPATH and TARGETFULLDIR for guaranteed absolute paths
2020-08-23 Version 1.0.1
- dmd based semantic engine:
- updated to DMD 2.093.1
- fixed showing documentation for template functions
- editor: now extra mouse buttons to navigate backward/forward supported
- project management:
- bugzilla 21024: VS2017/2019 new project: fixed unrelated files listed in New Project Dialog
- bugzilla 21028: project templates not visible when VS started as standard/restricted user
- mago debugger expression evaluator: fixed wrong values displayed eventually when switching stack frames
- installer: full installer now bundled with DMD 2.093.1 and LDC 1.23.0
2020-07-04 Version 1.0.0
- project management:
- trailing \ now removed from / for more consistency between autodetected version and as read from the environment
- added global option "Echo batch commands executed" to show commands during builds
- workaround /noopttls no longer added when building with LDC or dmd 2.076+
- dmdserver:
- now enabled by default including semantic highlighting
- updated to dmd 2.092
- fix parameters not considered references to itself
- fix crash when invoking "Find All References"
- fixed passing default versions to file not in any project
- now built with LDC
- improve preciseness for the GC
- editor with dmdserver:
- implement "goto definition" by clicking identifier in tool tip
- add navigation bar
- fixed "Find in Solution" no longer working in VS 2019 16.6
- mago debugger
- can now evaluate class/struct methods/fields __debugOverview, __debugExpanded, __debugTextView to customize display in the debugger
- experimental: can now display ranges similar to arrays
- some performance improvements by caching some data while the debuggee is stopped
- installer:
- full installer now bundled with dmd 2.092.1 and LDC 1.22.0
2020-03-23 Version 0.52.0
- editor:
- restart semantic analysis if project settings change
- while showing completions typing more characters no longer restarts analysis, but just filters existing results
- fix parameter info tooltip for functions with function attributes
- VS 2019 16.1+: the new project dialog now allows filtering by language tag "D"
- avoid crash due to unhandled exception if checking for updates fails
- refresh Update page after upgrading
- mago debugger:
- lookup symbols as the remainder of globals and present them expandable if ambiguous
- add option to show length of dynamic array in type column
- add support for Tuples: recombine fields __<var>_field_%d to an expandable structure
- fixed displaying dynamic type of C++ classes for x86
- cv2pdb:
- fixed debug info conversion error when dchar is used with dmd 2.089+
- dmdserver:
- rebased to dmd 2.091.0-beta1
- all language options are now passed to the engine
- fixed a couple of crashes (often result in eternally reporting "Analyzing...")
- terminate on fatal assertions and let Visual D restart the server
- improvements for code-completions
- bugzilla 20660: goto definition on import module doesn't work
- dparser:
- added parser support for is(symbol == module/package)
- projects:
- added support for -preview=dip1021
- added support for -preview=rvaluerefparam
- added support for -preview=nosharedaccess
- added support for -HCf (C++ header generation, only vcxproj)
- LDC with vcxproj: some language options were inaccessible
- removed legacy support for -property
- vcxproj: add dbuild.props showing how to setup a project that builds D files without Visual D installed
- vcxproj: do not check referenced projects if the project itself already needs phobos to be linked
- vcxproj: only print the filename in the "Compiling" message, not the path
2020-01-18 Version 0.51.0
- installer:
- add sections for "Build Tools VS2017/2019"
- support more legacy Windows SDKs
- editor:
- Ctrl+Click goto definition added for VS2017+
- VS2017+: syntax highlighted tool tips
- added tooltip to collapsed region
- added option to not show error squiggles and markers
- fix function signature tool tips
- synchronize known version identifiers with dmd 2.090
- semantic server
- experimental: semantic server built from DMD frontend
- now creates server process per Visual Studio instance
- improve recovery after semantic server is restarted
- error list now filled with intellisense errors
- projects:
- visualdproj basic DUB support: upgrade and refresh if project contains dub.json or dub.sdl
- msbuild: pass original variable LinkToolExe to pipelink.exe through environment
- msbuild: fixed dependency project being marked as "unsuccessfully built" when detecting D library requirements
- removed support for -gc (no longer supported since dmd 2.083)
- mago:
- new option "hide reference pointers"
- new option: "remove leading zeroes from hex values"
- fix crash expanding pointer to empty dynamic array
- large arrays: show growing index, fix omitting last element
- improve AA version detection, adapt to modified hash function
- VS2019 16.4: fix "Error" shown in tooltip for array elements beyond the actual size
2019-09-03 Version 0.50.1
- installer:
- msbuild: fix building right after full installation
- bugzilla 20004: add button to reset all global settings to their default
- bugzilla 20005: try to detect VC through ISetupConfiguration, too
- VC project:
- bugzilla 20003: project properties: show "Better C" in option text
- release configurations in new projects now default to -release -O -inline
- Compile and Compile/Run/Debug/Disassemble didn't use all command line options, Run/Debug now use "dmd -i" instead of "rdmd"
- fix parallel build in VS 2019 16.1
- VS 2019 16.2: fix command line options no longer read correctly from the VC project for Compile and Run/Debug/Disassemble
- editor:
- version highlighting for source files not in a project now reads settings from startup project
- highlight x64 registers in asm block
- don't highlight asm keywords/mnemonics/registers from semantic information
- mago:
- improve function call in watch window
- implement virtual functions, fix calling delegates and function pointers
- display of delegate type
- support arbitrary return types
- fix showing UTF32 values (supported by dmd 2.089)
- fix reading enum values (not emitted before dmd 2.089)
- improve function call in watch window
2019-06-23 Version 0.50.0
- installer:
- now another installer available that includes DMD and LDC
- installer no longer asks for DMD path when updating existing installation
- check for updates for Visual D, DMD and LDC, assisted download and install
- check and report invalid non-empty DMD/LDC installation folders
- VC project: D-Compiler option missing if no english VS language pack installed
- VC project:
- new projects now determine Windows SDK automatically
- DMD: fix wrong selections for bounds check options
- LDC: added -mixin option
- added enable -mixin option to autogenerate files according to the compilation model
- "New item" now also allows adding D module
- new option for -extern-std=c++xx
- new option for -lowmem
- visualdproj:
- VS 16.1 Preview 2: ignore tracked files in .delete..tlog as dependencies, too
- Error List: classify warnings and deprecations according to the respective options
- don't pass -mixin= to the link step
- bugzilla 19930: visualdproj: fix building projects with "&|<>" in directory names
- dparser:
- add semantic coloring for module and package names
- experimental highlight references to the same symbol as the one at the caret
- mago:
- fixed width of hex display of negative values
- dynamic type not shown for types that have no members (including interfaces)
- dynamic type now displayed with the declared type (in braces)
- determine dynamic type of C++ classes
- demangle D symbol names
- regression: use of registers in expression was lost at some point
- show class and message for exceptions that the debugger breaks on
- fix conditional breakpoints "not supported"
- support multiple "live ranges" when LDC uses registers for locals
- fix evaluating locals in registers
- slightly change identification of break point locations
- fixed "go to definition" eventually not jumping to correct line after opening document
- scale dialogs according to current text font size, i.e. adapt to DPI scaling
2019-04-28 Version 0.49.2
- VS2013/VS2015: VC projects broken in 0.49.1 due to unsupported msbuild variable
- visualdproj: fixed additional options not passed to single file compilation
- VS2015: workaround VS not correctly updating extension caches after uninstallation
- bugzilla 19826: visualdproj projects created for LDC still use DMD
2019-04-21 Version 0.49.1
- fixed reading settings from VC projects in VS2017
- fixed determining versions from dmd versions no longer supporting -gc
- fixed reading import path from newer LDC versions
- added support for VS2019 Update 16.1
- dparser:
- jump to original definition if it is not renamed or the caret is on the import
- fixed import lookup if module name is also a package
- fixed stack overflows with static foreach
- fixed infinite loop for cyclic base classes
- fixed more crashes during semantic highlighting
2019-04-07 Version 0.49.0
- installation
- prepare for VS2019: detect installation, build against VS 2019 SDK, Win SDK 10.0.17763.0
- bugzilla 19690: installer fails to register MSBuild extensions for Visual Studio Build Tools
- build system
- now parallel compilation supported by VC projects (thanks to Igor Cesi)
- add support for recently added command line options -mixin
- new "Language" configuration page for -betterC, -dipNN and -transition=/-preview=/-revert= options
- visualdproj: remove support for D1 and ancient/removed options -nofloat and -property
- visualdproj: replaced -noboundscheck option with -boundscheck=...
- bugzilla 19558: save all files with compile and run/debug/disassemble
- fix reading options from vcxproj with compile and run/debug/disassemble
- bugzilla 19726: VC project using LDC now adds C runtime to linker dependencies
- dparser
- catch up with recent language changes:
- contract expressions
- traits can appear everywhere a type can be declared
- allow @UDA for enumerator values
- parse __vector and __parameters in IsExpression, evaluate __vector
- fix parsing character literals with surrogate pairs
- fix tooltips showing storage classes as type constructors
- fixed crash with "static foreach"
- catch up with recent language changes:
- debugger
- bugzilla 18889: do not forward tooltip to debugger if hovering compile time identifier (type/enum)
- editor
- tweaked default colors to better work with dark mode (restart VS and Visual D twice after switch between light and dark modes)
2018-12-22 Version 0.48.1
- dparser:
- fix Issue 19411: increase stack size for DParserCOMServer
- goto definition on alias: jump to base definition if caret on alias
- build system
- fix Issue 19445: Linking to lib under "c:\Program Files (x86)" does not work in Visual D
- dustmite
- fix copying project for dustmite with relative paths
- move command line options to new setup page, add dustmite command line options
- cv2pdb
- fix crash if mspdb*.dll cannot be loaded from path
- emit "elemtype[keytype]" instead of "dAssocArray"
- fix missing line numbers for new versions of mspdb*.dll (e.g. 14.16.27012/VS 15.9)
- mago
- variables captured from stack of outer function not displayed in locals
2018-12-02 Version 0.48.0
- installation
- installer and binaries now digitally signed by the "D Language Foundation"
- fixed uninstallation for VS2017
- installation for VS2013+ now uses PackageManifest format instead of Vsix
- VS2017: loading the Visual D package could crash with some VS installation "ids""
- avoid initial error message regarding altered assemblies with same version
- fix installation of the D icon for the solution explorer in VS2017
- installer hides options for VS2005-VS2012 if not installed
- remove old extension folders before installation
- new project wizard
- restore project templates for VS2008, new project wizard doesn't work there'
- mixed D/C++ VC project: optionally adding main in C++, setup precompiled headers
- new VCProject: now uses as WindowsTargetPlatformVersion to avoid defaulting to Windows SDK 8.1
- settings
- fix default library path if UCRT has different version than SDK
- VS2017: D compiler installation paths and "demangle link errors" are now saved to "HKCR\Softwre\Visual D" to be picked up by msbuild
- show detected compiler version below installation path
- removed option "parse source for syntax errors", now always on
- removed option "expansions from text buffer", now always off
- removed option "use semantic analysis for goto definition", now always on
- removed option "override linker settings from sc.ini", always on as linker no longer set in sc.ini since dmd 2.079
- removed option "additional linker options", it was invisible anyway
- rearrange settings to better show their scope
- build system
- fixed linking privatephobos.lib if intermediate dir different from output dir
- dparser
- semantic analysis did not work if "parse source for syntax errors" was disabled
- no semantic info for a package if any file in the package has fatal parser error
- now has semantic support for static foreach (thanks to Alexander Bothe)
- fixed "Find references"
- added experimental option to show value of constants in tooltip
- the last user specified version was prepended to "Windows"
- predefined versions now evaluated by compiler invocation
- experimental: option to enable semantic identifier highlighting
- 'virtual' no longer considered a keyword
- updated list of traits for completion
- fix crash with dub generated project
- add 'typeof' to completion where 'typeid' is valid, too
- mago
- added option to show base class fields as direct fields
- allow suffix 'h' for hex numbers for better interoperablility with VS disassembly
- concord: can now show return values of functions stepped over (not slices or delegates on x64 or small non-POD-structs)
- concord: fix crash when showing children in data tooltip (mostly occured in VS2017)
- concord: allow dragging addresses to the disassembly window
- engine: Fix the way the debugger steps over instructions with REP prefix.
- engine: the disassemble view now supports SSE4 and AVX
- detect AA if type ends with "]", but not with "[]"
- fix crash in VS if a value is marked expandable, but doesn't yield any children
- fix .ptr property of static array if it is a struct/class member
- add option to disable strings to be expandable
- support showing closure and capture variables as locals for dmd 2.084
- cv2pdb
- can now detect VS2017 via Setup-COM-API
- some DWARF fixes
- editor
- when pasting code to D source file newlines are adapted to surrounding code
- added outlining for case statements
- implemented commands View.PopBrowseContext and View.ForwardBrowseContext
- reindent if multiple lines added by completion
- tweaked formatting for enumerators, struct and array initializers
- added option to not indent case statements
- fixed "Compile and Run" on selection
- fix help via F1 for dmd 2.072+
2018-06-24 Version 0.47.0
- build system
- msbuild:
- improved dependency handling for single/package file compilation (thanks to Igor Cesi)
- LDC now assumed to be multilib installation, i.e. 64-bit lib folder is "lib64", not "lib"
- Issue 18641: phobos/druntime libraries automatically added to link if any D file is compiled in the project or a dependent static library (without -betterC)
- Issue 18640: settings now default to mago debug engine (avoiding deprecation warning)
- to use LDC within VS2017, set "InstallationFolder" in registry HKEY_LOCAL_MACHINE\Software\LDC
- now demangles linker errors (if not disabled on global options page)
- new project wizard for customizing generated projects, with only two types to select from
- new icons for project templates based on vcxproj
- support option -gf (emit debug information for referenced types)
- msbuild:
- mago:
- hex values now lower case for consistency with C++ debugger
- no longer shows void pointers as expandable
- show vtable of classes and interfaces as __vfptr (also allowed in watches, enable/disable on Tools->Options->Debugging-Mago page, not with LDC)
- shows symbol names for pointers if found in image
- pointers: also show value for pointee, remove additional indirection for complex types
- support to call functions and delegates without arguments from watch window (dmd win64 only, no slice or delegate return values)
- can now show the dynamic type of an interface
- cv2pdb:
- DWARF: several bug fixes and minor enhancements
- can now convert DBG files alongside exe/dll
- miscellaneous
- dparser: support 'do' instead of 'body'
- Issue 18622: removed outdated information regarding link definition when generated by Visual D DLL project.
2017-12-02 Version 0.46.0
- installation
- fix detection of Windows 10 SDK, also define $(WindowsSdkVersion)
- VS2017: fixed registration of exception settings
- build system
- add workaround for broken TLS when linking with link.exe from VS2017 update 15.3.1
- build single object file to intermediate directory rather than output folder
- intermediate executable for cv2pdb now written to intermediate directory
- custom build batch files now written to intermediate directory
- use "if %errorlevel% neq 0" instead of "if errorlevel 1" in batches to capture crashes, too
- fix default executable search path for LDC assuming a 64-bit compiler executable (avoids linker error -1073741701)
- added *.tlog to default files to clean
- add import library to project outputs if "create import library" enabled
- added linker options to configure map file, import library and PDB file
- LDC: add option to link against debug runtime library
- LDC: no longer tries to run cv2pdb
- LDC: if -mtriple= or -march= is specified as additional option, don't emit -m32 or -m64
- built with 2.077 to support new symbol mangling
- dparser:
- when building with LDC, use import path from its config file instead of DMDs' sc.ini
- parse "static foreach" (but no semantic analysis)
- for syntax errors underline the full token, not only the first character
- mago: fix string display for LDC builds
- cv2pdb
- now also search VS2017 registry entries to find mspdb140.dll
- fix working with the VS2017 update 15.3.1
- allow converting larger binaries by marking it "large address aware"
- DWARF: fix crash with AUX data in symbol table
- improve handling of non-ASCII installation paths:
- use unicode aware version of NSIS, register through wide string API of rundll32
- parse sc.ini with current code page
- pipedmd: pass wide string command line to sub process
- convert MS linker response file to UTF16
- fixed spurious freeze in precise GC (mostly during startup)
- indentation of lambdas as parameter arguments now aligns statements on tab stops
- required OS version for executables restored to 5.01 to support Windows XP
2017-08-17 Version 0.45.1
- installation
- now building against the VC runtime (-m32mscoff) instead of the DigitalMars runtime to avoid anti-virus programs blocking the installation or execution
- DParser semantic engine:
- "add import path of project dependencies": implicit import directories not passed to semantic analyzer
- tooltip for selective imports now show the aliased definition, not the alias
- improved tooltips: show fully qualified name, show initializer for constants, better display for enum and aliases
- fixed completion or tooltips sometimes not working before modifying source code
- build system
- fix dependencies for custom build rules if file names contain spaces
- fix tracker invocation if the VS2015 version is found through PATH
- mago debugger:
- fix displaying long strings as empty
- build
- update vsi2d to Windows SDK 10.0.15063.0
- Visual D now buildable with VS2017
2017-08-01 Version 0.45.0
- installation
- read default DMD installation path from Visual D or DMD registry key, if not available in VS registry hive
- UCRT version detection: ignore directories that do not start with a digit (e.g. from DDK)
- bugzilla Issue 17384: fix default executable search path for LDC/x64 under VS2017
- editor
- fix crash when editing dub.json when part of a project
- added task list support for files loaded into the editor
- DParser semantic engine:
- added support for function attributes @nogc and scope, align(expression)
- cache semantic results until next edit
- break endless loop due to unresolved selective import
- fix for no expansions for symbols from public import in imported module
- try dparser as fallback if goto definition on import fails
- fix exception in isExpression
- build system
- use generic file system tracking instead of compiler switch -deps=
- fixed tracker.exe not found in VS2015 and VS2017
- new project option "Add import paths of project dependencies"
- fixed Compile and Run/Debug if building through MS-COFF and not having VS selected in sc.ini
- /MAPINFO: remove ancient options no longer supported by the MS linker
- separated compile and link into two batches so compile skipped if only link inputs changed
- dependency monitoring: added option to specify files/folders to exclude from dependency check
- mark html output log as UTF-8 encoded
- mago debugger:
- fixed memory leaks that could also prohibit compilation due to PDB file still open
- add debugger options page to allow hiding internal locals and static members
- can now show registers in expressions
- show static members and base class with different icons
- fixed x64 debugger failing to start
- cv2pdb: added support for AA display in mago
- fixed loading PDB file when only VS2017 is installed
- cpp2d
- add missing default to switch()
- ensure space between identifiers
- fix module name for translated C-files
2017-04-02 Version 0.44.2
- fixed building private phobos with recent dmd
- fixed freeze during semantic analysis
- bugzilla 17254: close and reopen completion box if results added
- fix link to build log: replace spaces with %20
- added VC project integration for VS2017
2017-03-12 Version 0.44.1
- bugzilla 17252: Fixed bad character inserted into the executable search path default
2017-03-12 Version 0.44
- installation
- added preliminary support for VS 2017 RC
- new version scheme removing the gratuitious .3 from the Visual D version
- project management
- added integration with msbuild and VC++ projects
- can now read and write Mono-D project files (but likely to be incomplete because this was a failed attempt to integrate with msbuild and the VC projects)
- when linking with MS linker, options for the map file broke the command line
- bugzilla 16063: missing option -L/DLL when linking a DLL with MS linker
- added $(Platform) as a settings macro replacement in addition to $(PlatformName)
- changed default output directory to $(PlatformName)/$(ConfigurationName)
- added x64 configurations to project templates
- added project template to build with DMD, LDC and GDC for x86 and x64
- building a library with LDC now always adds "-oq -od=$(IntDir)" to the command line
- mago:
- bring back support to run on Windows XP
- display const modifier on type, recover string types
- add and install Concord debug engine plugin for VS 2012-2015
- cv2pdb:
- fix crashes with very long symbols
- can now be enabled independently of debug engine
- language service
- added automatic brace completion
- dparser: semantic analysis no longer times out after 500ms, but cancels previous requests
- dparser: improved performance by adding name lookup cache
- Improvements to completion lists:
- completion box no longer pops up if caret has been moved elsewhere
- new option to disable exact start match (searches case insensitive sub string)
- free functions show different icon than member functions
- aliases show other icon than variables
- new sorting modes "by type" using classification by the semantic engine, "by declaration", effectively using scopes as discovered by the semantic engine
- without any match, still keep the completion box open to update when deleting the last character
- less flashing when updating the results
- code snippets now added to possible expansions
- build
- now builds with dmd 2.073
- added AppVeyor integration builds
- VS SDK 2013 now needed to build Visual D
- miscellaneous
- dustmite: error messages written to stderr not grepped
- menu entries now disabled if they require the focus on a D file, but it is elsewhere
- reduced idle processing by only updating the active view
2015-11-28 Version 0.3.43
- installation
- new install adds $(VCInstallDir)\bin to exectuable paths to allow cv2pdb to create PDB files
- moved defaults for resource includes and dmd executable paths from installation to extension init
- tweaked default path and library settings for DMD and LDC
- improved VS2015 support
- added detection for Universal CRT in Win10 SDK, new macro replacements $(UCRTSdkDir) and $(UCRTVersion) allow adding library search path to find libucrt.lib
- fixed spurious "not implemented" error in error list of VS 2015
- fix dark theme detection in VS 2015
- fixed calling linker to build with VC runtime of VS2015: legacy_stdio_definitions.lib missing
- VS2015 linker updates logs and telemetry data files, confusing tracked linker dependencies. Now ignoring files that are both read and written.
- project management
- New item: the module name no longer has a preceding '.' when guessing a package name
- renamed command "Add Folder" in project folder context menu to "Add Filter"
- added command "Add Folder" to project folder context menu that actually creates the folder on disk
- renaming a module in the project tree now reopens it at the previous caret location
- renaming a package in the project tree also renames the folder on disk if it is still empty
- bugzilla 12021: C++ projects (and others probably, too) might not load correctly in a solution that also contains a Visual D project
- build system
- debug info: added option "suitable for selected debug engine"
- LDC: recent versions build object files into intermediate folder, wrong names passed to linker with "separate compile and link"
- debug option: allow none of -debug and -release to be specified (and fix LDC never to receive the -d-debug option)
- additional options: now replacing newline with space when adding to the command line
- compiling file for syntax check with LDC passed wrong command line option
- pass VSINSTALLDIR in the environment to avoid autodetection by LDC
- language service
- the original semantic analysis engine is no longer installed, always using dparser now
- better semantic/colorizer support for versions LDC,CRuntime_Microsoft,CRuntime_DigitalMars and MinGW
- bugzilla 15345: syntax highlighting wrong if asm followed by function attributes
- configuration dialogs:
- fixed small fonts in VS2015
- better work with resizeable windows
- scale some controls vertically if there is space
- added browse buttons to path settings
- some improvements to the C++ to D conversion wizard:
- don't stop conversion after an unmatched } (this also caused other messages to not be displayed)
- added support for sizeof without parenthesis
- allow namespace scope in type names
- allow virtual destructors
- skip throw function specification
- fix order of identifiers if "#define A B" is converted to an alias
- miscellaneous
- dustmite: pattern passed to "find" must always use quotes
- added icons to some commands
- search pane did not save its last state, only when switching between file and symbol search
- replaced ancient pkgcmd.ctc with pkgcmd.vsct that's buildable with newer VS SDKs
2015-8-5 Version 0.3.42
- build system
- added new command "DustMite Build Failure" to reduce source of startup project for build error with DustMite
- added integration into the Visual Studio Performance Wizard
- updated "Build Phobos Browse Info" and "Build local version of phobos" for dmd 2.067+
- added project template for console application built with DMD/LDC and x86/x64
- release configurations now enable optimizations and inlining by default
- cv2pdb
- last version introduced crashes with DWARF conversions
- now supports info in DWARF sections .debug_frame and .debug_loc for better display of locals
- DWARF debug info now stripped from executable
- support for mspdb140.dll from VS2015
- now writes correct machine type to PDB for x64
- mago
- mago is now the default debug engine for new projects
- added support for new AA implementation in dmd 2.068
- preview for structs now shows first members
- demangle D/C++ symbols in disassembly with new tool dcxxfilt that supports both gcc and MS C++ mangling.
- search file dialog
- the same file is no longer listed multiple times if it is in several projects
- '.', '/' and '' are considered the same in case insensitive non-regex searches to simplify finding a module in a package
- case sensitivity button was restored inverted
- installer now shows the version of Visual D about to be installed
2015-5-16 Version 0.3.41
- build system
- new linker option "build and use local phobos library" to get a COFF32 version (dmd 2.067+) or add missing debug info (dmd 2.065+)
- workaround for link response file with spaces, but disabled short names on NTFS volume
- language service
- dparser updated to cf26dbe426b10957f6364313cc7121e41083bebe with support for new language features in dmd 2.067 and fixing a number of exceptions
- some initial support for finding symbol references
- new command "Compile and Disassemble" to show the disassembly of the current file in the code context window that is automatically synchronized with editor movements
- mago debugger
- module list now shows x64 addresses correctly
- verboser output for DLL load/unload
- implement "set next statement"
- callstack: parameter list also showed locals
- disassembly: show symbols, address labels
- fix dstring display
- can list associative array members (needs https://github.com/dlang/dmd/pull/4473 for Win64, new AA implementation in dmd 2.068 not supported yet, though)
- show exception number for Win32 exceptions
- can now load PDB symbols from Microsoft Symbol Server or local cache folders
- now supports lexical scope blocks (helps C++ and D with https://github.com/dlang/dmd/pull/2867)
- cv2pdb: improvements for DWARF conversion
- renaming project configuration did not change respective config on all platforms
- profiler window: non-D symbols (e.g. C++ mangled functions) are no longer displayed empty
2015-1-1 Version 0.3.40
- build system
- added basic support to compile C/C++ files:
- new tool "C/C++" that is also auto-detected for usual file extensions
- common command line options can be specified on the compiler page of the project
- special command line options can be added per file
- expands to the compiler executable of the current D compiler: dmc, cl, gcc or clang
- if "Translate D options" is checked, dmd options for -g, -release, -O are translated to the respective C/C++ compiler option
- Win32/COFF support: check box on Compiler->Output page, new tab in global options
- revamped pipedmd: now uses tracker.exe from MSBuild or WinSDK to monitor dependencies
- custom file properties: edit, change selection and apply could change new selected file
- moved "Other Compiler" option from main project page to compiler page
- added additional options to the resource compiler tool
- separate link could fail if configuration name contains spaces
- bugzilla 13759: $(VSINSTALLDIR)\Common7\IDE now added to the default executable paths
- DMD/x64 linker override settings not saved
- bugzilla 13452: fix file monitoring
- added basic support to compile C/C++ files:
- language service
- really updated dparser to a6207d6db5e54c68aa4b9db53b702681242d81d5
- updated version identifiers according to http://dlang.org/version.html
- goto definition on import now supports package.d
- build phobos browse info: operated on outdated folder structure of phobos/druntime
- bugzilla 13817: VisualD cannot list members with utf-8 wide characters
- bugzilla 13342: mixin error message now interpreted
- when running/unittesting from within visuald, exception/callstack locations can be jumped to
- bugzilla 13213: there are now both "goto definition" and "goto declaration", where the former will try to find the forward declared symbols through the object browser (including C/C++)
- object browser/symbol search: now filters out __unittest and __invariant symbols
- bugzilla 13616: fix freeze when starting completion at the very first line and column of source
- debugger
- new cv2pdb version 0.33
- did not run on XP anymore due to bad OS version requirements
- better DWARF location support
- new cv2pdb version 0.33
- add installation for VS2015
2014-10-10 Version 0.3.39
- build system
- optlink now always called with /DELEXE to avoid keeping broken binary
- bugzilla 11035: added workaround for bad import library being passed by C/C++ projects
- tweaked "Compile & Run" to distinguish between compile and execution errors
- added "Compile & Debug" command
- add option "up to date with same time" to custom build
- target no longer rebuilt if only custom builds necessary
- add options for -vgc, -gx and -allinst
- removed checkbox for dmd option -quiet
- slightly improved configuration pages by grouping related options
- bugzilla 12584: fixed global options disappearing when resizing window
- project management
- bugzilla 13360: implemented automation object methods "DTE" and "Collection"
- language service
- added editor margin to display coverage counters and percentage
- support tab/indentation settings set by .editorconfig plugin
- new dparser version: a28aaf67777733b2b70d56fc8cab8b5f296b9745
- syntax highlighting: @nogc added as a keyword
- debugger
- new mago version 1.0
- now supports debugging x64 executables
- displays static members of classes and structs
- fixed not closing executable file causing linker to fail when rebuilding
- fixed breakpoints not set in all instances of a template
- breakpoints no longer span multiple lines
- disassembly now shows a maximum of 8 lines of source code before instruction
- new cv2pdb version 0.32
- DWARF: fixed relocations in .debug_line section
- tweaked visualizer macros to display void[], limit array preview to 64 entries
- new mago version 1.0
2014-04-12 Version 0.3.38
- build system
- added support for string import dependencies (needs dmd 2.065)
- Windows SDK 8.0/8.1 detection
- fix bad "\n" in default x64 library search path
- fixed default library path for x64 (contained spaces, but were not quoted, added default for 8.1 SDK)
- fixed passing quoted library paths to linker
- x64 executable and library search path not correctly saved for next VS start
- bugzilla 11962: added option to select the C runtime library when compiling for x64
- project management
- fixed project and completion icons being converted to 16 color bitmaps
- add source control support for git in VS2013 (and maybe others)
- bugzilla 12052: improve project automation to mute NuGet (still empty project pretended)
- fix DnD of project items in VS2013
- language service
- completion box now displays appropriate icons and tooltip with dparser
- tool tips now expand some Ddoc macros for better readability
- bugzilla 11940: completion on import statements no longer showed folder icons
- bugzilla 11649: completion on selective import now lists identifiers from imported module
- improved integration of Alex Bothe's dparser
- updated dparser to 1bb6dc6e0a3069a07d8e7f15070161b717bd94c4
- fixed completion for symbols without description
- added options to enable/disable mixin analysis and UFCS expansions
- added support for multi line completions (including override completion)
- parameter tool tips now use prototype from dparser and shows documentation
- bugzilla 12353: option "Show Type In Tooltip" not saved and restored across restart
- debugger
- updated to cv2pdb 0.31
- support mspdb120.dll from VS 2013
- bugzilla 11537: improved search for appropriate mspdb*.dll if multiple version of VS installed
- fix support for DWARF conversion for gcc 4.8
- bugzilla 11898: cv2pdb: modified visualizer for void[] to also show bytes
- updated to mago 0.9
- bugzilla 11547: remove error message when stopping debugging
- bugzilla 11437: debug info rejected if records don't have "recommended" order
- bugzilla 11030: set breakpoint in all template instances
- updated to cv2pdb 0.31
- miscellanea
- update SDK conversion for VS2013 and Windws SDK 8.1
- bugzilla 11786: change some default colors when using dark theme in VS 2012+ (restart required)
- bugzilla 12187: disguise functionality of pipedmd.exe and filemonitor.dll to let it pass most anti-virus checks
2013-11-02 Version 0.3.37
- installer:
- fixed regression: VS 2010/2012 extension pkgdef files almost empty
- now has workaround for x64 debugger of Visual Studio 2012 Shell
- installs cv2pdb 0.27 which fixes a crash when converting DWARF from GDC 4.8
- installs mago 0.8 with pdb and embedded breakpoints support
- installer now picks up dmd2 folder from DMD installation
- added support for VS 2013 to installer, removed VS.NET 2003
- "Compile and Run":
- no longer adds "--main" automatically
- removed some other implicite command line options that confused rdmd
- fixed quotes in --eval arguments
- didn't save file if it is not part of a project in the solution
- syntax/coverage highlighting
- editor always started with coverage highlighting enabled
- Colorize coverage:
- disabled if lst file older than source file or deleted
- tweaked line number translation
- now searches for coverage generated files in last execution folders
- added new command "Delete Coverage Files"
- after changing the "Colored types" the current editor did not update immediately
- user type colorizer settings were forgotten after editing options
- keywords can now also be colored by adding them to the "Colored types"
- DParser
- updated to recent version
- enabled mixin analysis
- pass deprecation flag to engine
- DParser engine now used by default if installed
- vdserver
- add __FUNCTION__, __PRETTY_FUNCTION__ and __MODULE__ as keywords and primary expression
- add __parameters as specification in is-expression
- build system
- fixed building with -op and source files on different drive than project
- added file options per configuration
- fixed invoking bad command when no files to compile, but additional arguments set
- added global option to display the reason for building a target
- fixed custom build rules executed twice sometimes
- fixed sc.ini evaluation, added support for sections [Environment32] and [Environment64]
- link dependencies can now also be monitored for the 32-bit MS linker
- added VCINSTALLDIR to the list of available macros
- added different options for executable and library search paths to be used for Win32/x64
- x64: linker settings from sc.ini can be overwritten
- x64: linker no longer invoked through dmd
- miscellaneous
- added command "Open Folder in Windows Explorer" to project and folder context menu
- goto definition now falls back to JSON information if semantic analysis yields no result
- improved indentation after opening parenthesis to follow next token
- added commands "Collapse unittests" and "Collapse disabled" to the outlining menu
- dviewhelper.dll from cv2pdb now avoids being unloaded after debugger expression evaluation using visualizers
- changed license to Boost
2013-05-10 Version 0.3.36
- added debug settings to new DMD/GDC project template
- regressions caused by switching to installation as VS2010/VS2012 extension:
- executable path contained untranslated \n
- no Visual D colors added
- only force separate link if "Monitor OPTLINK dependencies" is enabled
- /SUBSYSTEM switches lost when building through optlink directly
- added project option "Use of Deprecated Features causes Error" that maps to -de
- tweaked parser to support new language features:
- version(assert)
- user defined attributes @identifier_opt(arguments) or @identifier
- alias id = type
- alias this = id
- deprecated("message")
- added keyword __parameters
- tweaked parser to support undocumented language features:
- ref anywhere in foreach type to support "foreach(const ref x; range)"
- prefix lambda with function/delegate
- added keyword __argTypes
- syntax highlighting and semantic now fully support version identifiers according to http://dlang.org/version.html
- improved parser/semantics:
- fix "forgetting" type of function parameters after first evaluation
- fix a number of crashes during semantics
- improved parser recovery after too many closing braces
- when cloning a configuration in the configuation manager, debug info settings were lost
- compiling a single file now reports success
- avoid asking to save project file when closing VS and the project has already been saved
- fixed crashes due to bug in precise GC with arrays just below page size
- adjusted JSON interpretation for symbol lookup and parameter tooltips to new format in dmd 2.062
- some tweaks to C++ to D converter
- basic LDC support
- added new option pages for DMD/GDC/LDC directories
- linker messages from GDC and MS linker can now be demangled aswell
- additional command line arguments now placed at the very end to avoid GDC linker troubles
- DParser by Alexander Bothe (https://github.com/aBothe/D_Parser) integrated as an alternative semantic engine
- added command "Compile and Run" to execute current text buffer or selection via rdmd
- added command "Open Language Options" for easier access to the settings page
- added option "Colorize coverage from .LST file" to highlight lines from code coverage output
2012-12-03 Version 0.3.35
- new linker option to disable using global and standard library search paths
- add preliminary support for upcoming dmd win64 compiler
- add '/' to '' translation for macro replacements of and
- fixed build variable (pointed to parent directory of expected dir)
- added build project to translate sdk to D
- adjusted to changes to dependency file in dmd 2.061
- fixed Visual Studio sometimes renamed to VisualD in the window title
- fixed parser recovery with multiple syntax errors at module scope
- project options: added to expand to the same as for compatibility with VC++ projects
- project config: controls now have style WS_TABSTOP to allow keyboard navigation
- goto definition now uses semantic analysis to find declaration
- semantic analysis now enabled by default (removed experimental status)
- semantics: add .ptr property to dynamic array
- now installed as an "extension" to VS 2010 and VS 2012
- fixed missing output files when a VC project has a project dependency on a D library project
- setting "Demangle names in link errors" never saved
- fixed macros not expanded in "other compiler" when figuring out what linker to be called directly
- now expanding response files in sc.ini or additional compiler options when looking for import or linker directives
- added D icon to vdserver.exe
- added console application project template with configurations for DMD and GDC for Win32 and x86
- fixed spurious crashes due to bug in precise garbage collection
2012-10-12 Version 0.3.34
- fix exceptions in NDepend when opening context menu on D project
- delete file from project now uses VS environment dialog (avoiding dialog when moving project items)
- fixed "build phobos browse info" failing for dmd 2.059
- dependency on other projects: only output files with known file types are now passed to the dmd/gdc command line
- linker error messages can now be decompressed and demangled (thanks to Benjamin Thaut for providing the code)
- lexer now allows unicode characters from std.uni.isAlpha in identifiers
- fix: when building phobos browse info the implicitely added JSON path was not saved to options
- fix calling cv2pdb for D1
- goto definition: if ".." is used to reference the source file path, it could be opened twice in the editor
- new item: package and module name now filled with some guess
- optlink now called directly with file monitoring: this allows passing the library path directly (making the DMD_LIB patch in sc.ini redundant) and detecting library and source dependencies
- parser could not recover from error in module statement, also improved recovery from error in enum declaration
- parse errors in modules imported during semantic analysis could cause dramatic troubles
- fixed parsing problems with function literal attributes and enumerators
- outlining: adding lines before collapsed region could unfold the regions
- fix: underlined syntax error could lag behind by a keystroke
- tweak completion box:
- from browse info: template arguments and contraint stripped from symbol now
- avoid delayed opening of completion box when typing non-identifier characters
- completion box now closed for a lot of navigation and editing commands
- improved speed for large symbol lists
- status line now cleared after parsing of imports has finished
- fix installation for VS2012
- now runs on an almost precise garbage collector
- DLL project template now has a linker definition file
2012-06-19 Version 0.3.33
- debugger project settings now stored in solution options file, not in project file
- regression: clean project failed, now deletes files given by wildcard recursively
- token replace: fixed freeze when trying to replace no tokens
- cv2pdb: new version 0.25 that allows specifying a different pdb file being embedded into the binary and supports VS11
- cv2pdb: exposed command line options in the project options
- intellisense tool tip now shows enumerator value
- moved parser and semantic analysis into another process
- GDC: user specified libraries are now appended after the source files to the command line to avoid linker problems
- improved performance when indenting multiple lines of code
- remove project item: now asks whether file on disk should also be removed
- parser: added support for linkage specification inside alias
- version highlighting now supports the "version(V):" syntax
- tweaked vsi2d to also convert the Windows 8 SDK and VS2012 SDK
- added wizard to create packages from the new item dialog
- improved import statement detection for expansion and goto definition
2012-03-14 Version 0.3.32
- new version of cv2pdb with better handling of unicode characters in path names and better support for local variables in DWARF debug info
- new version of mago with string literal support for associative array keys and easier stepping into main
- some changes to reduce memory leaks due to false pointers
- fixed parser to disambiguate MixinStatement and MixinExpression
- added support for __vector(T) to parser
- goto definition: if executed on an import statement, now searching file through import paths
- fixed lexer to not treat in_x as an operator followed by an identifier "_x"
- fixed regression: import expansions only listed folders, no modules
- fixed custom command: project would not restore if multiple commands are used
- project properties: added output type DLL for easier switching between DMD and GDC
- project properties: added subsystem option, use "not set" if you have to specify a specific windows version
- fixed underlining syntax errors shows only first error
- fixed option "Show expansions when" not saving state "writing an identifier"
- added icon for disabled project item (tool set to "None")
- version highlighting now supports versions DigitalMars/GNU and Win32/Win64
- fixed building static lib with GDC and a space in the library file name
2012-03-14 Version 0.3.31
- added option to "Intellisense" page to configure trigger of code completion
- delay code definition window update until caret at the same position for a second to avoid pauses while navigating through the source
- added support for building with GDC
- added platform support for "x64" (use with GDC only)
- includes new version 0.23 of cv2pdb that now also converts DWARF to pdb
- tweaked idl2d to convert files to build with dmd 2.058
- new version of mago:
- fixed possible stall when starting debugging
- support for associative arrays in expressions
- fixed problem with loading debug info of large projects
- property: fixed editing multiple configurations at once
- added Compile command to syntax check the current source file
- parser now supports new delegate syntax (x) => x
- project config: shown command line now updated when pressing "Apply"
- fix resource include with spaces
- fix always rebuilding if a dependent library project target has spaces in the path name
2012-01-07 Version 0.3.30
- fixed utf8 to OLE string conversion, that could get in the way when using non ascii file names
- property pages now adjust their font and size to the IDE environment
- __ctfe is now highlighted as a keyword
- scope(identifier) with wrong identifier shown as a parse error
- completion automatically inserts now if there is only one candidate
- completion of import modules now restricted to files, not symbols
- colorizer now asks the parser whether "is" and "in" are used as operators
- debugger data tooltip now grabs ident1.ident2 expressions when hovering ident2
- added checkbox for options -gs and -property to project configuration
- added new color to highlight predefined versions
- creating new folder now initiates renaming it
- fixed error message capture for error list in case the message also contains "filename(lineno):"
- new options page "Tools->Options->Text Editor->D->Intellisense" to select sources of code completion
- experimental tooltips and code completion from semantic analysis of source code
- project configuration: new debugger option to redirect stdout to the debugger output window
- project configuration: new option to pause after running program without debugger
- added option to "Tools->Options->Projects and Solutions->Visual D Settings" to stop a solution build if a project fails to build
2011-12-03 Version 0.3.29
- highlighting: new colors for user defined list of types (defaults to basic types in object.d)
- disabled versions: fixed wrong highlighting when editing before conditional
- token replace dialog: fixed empty dialog when opening with default size
- fixed crash when building a project with a configuration that is not available in a dependent project
- fixed freeze in startup due to thread starting issues (probably only happened with more than 2 cores)
- added C++ to D conversion wizard
- added installation for Visual Studio 11
- tweaked dialogs to better integrate with VS
2011-10-25 Version 0.3.28
- mago debugger: fixed crash when there is no sstStaticSym section in the debug info
- mago debugger: fixed local variables not shown in last function of an object file
- mago debugger: fixed display of TLS variables
- mago debugger: added workaround for bad line number debug info, causing mago to switch to assembly easily
- mago debugger: globals and statics can now be displayed without specifying complete scope
- cv2pdb: fixed patching of autoexp.dat when the install path contained spaces
- fix: the import path set in the global options never made it to the command line
- fixed parser to accept "class B() if(true) : A {}"
- fixed parser to support import as statement
- building druntime browse info now uses src folder (di files look ugly and do not compile)
- building browse info now writes to "Visual D" output pane
- F1 searches language and phobos documentation for help on identifier
- added highlighting of asm block, using new colors "Visual D Register/Mnemonic" and "Disabled/Token String" variants
- parsing and outlining now aborted when text changes, so editing is more responsive with large source files
2011-09-24 Version 0.3.27
- smart reindenting line when typing last char of sole "in", "out" and "body"
- tweaked smart indenting with respect to enumerators, arrays, labels and more
- paste a full line or more now causes automatic reindentation (global option to disable)
- automatic reindentation was not triggered when typing '{', '}', etc (win 7/8 only?)
- fix: build phobos browse information broken in last version
- some internal errors are now reported to the output window (like failing to parse JSON file)
- fixed bad display when deleting characters from line with outlining
- new option to show demangled symbols in the Error List (not the output window)
2011-08-25 Version 0.3.26
- fixed regression in last version: single file compilation did not build any d files
- single file compilation: avoid relinking every time
- seperate compile and link: no longer trashes dependencies in link step
- goto definition, search symbol: now line number adjusted according to changes since last successful build
- fix: resource files in sub folders would not build because the same folders were expected in the intermediate directory
- global settings: split page into directories/settings pages to make option "Show build time" accessible
- global settings: added option to disable sorting projects
- parser now accepts "do {} while(cond)" without trailing ';'
- project options macro now uses the name in the solution instead of the project file name
- fixed bad indentation of first contract
- fixed colorization of first token after debug condition without arguments
- "is" now always colored as operator, not as keyword
- updated to build with dmd 2.055beta
2011-06-19 Version 0.3.25
- fixed version information of the DLL
- error list: warnings are no longer shown as errors
- project name added to buildlog.html to allow multiple projects with the same intermediate dir
- fixed highlighting of version(unittest) and debug without identifier
- friendlier error message if debug executable or working dir do not exist
- reduced parsing thread priority to interfere less with editing
- adjusted vsi2d to build with the latest VS2010 SDK
- Visual D now builds with DMD 2.053
- moved from std.date to std.datetime to fix some time displays
- moved outlining into parse thread to reduce delays when editing large files
- added warning to library search path settings
- d-files now set to UTF8 encoding if not already marked by BOM
- fixed transparent window frame around dialogs in VS2010
- added drag'n'drop of project folders
- added support for "Stop Outlining" and "Toggle All Outlining"
- tweaked outlining for multi-dimensional arrays and token strings
- build order of custom/resource compilations now sorted by dependencies
- project items now sorted alphabetically
- fixed a few more issues with relative paths causing a source file to be opened twice in the editor
2011-05-08 Version 0.3.24
- fixed crash when installing/uninstalling other Visual Studio plugins
- added menu entry "Open Website" to browse the visual D Website inside Visual Studio
- added support for Object Browser and Class View
- now runs a parser in the background to underline syntax errors
- fixed scanning of floating point literals starting with '.'
- default colors for identifiers, numbers and operators now follow the "Plain Text" setting
- new version 0.1.2 of mago that fixes some issues with exceptions and improves the call stack display
- if a source file is used in multiple project, it is no longer opened multiple times in the editor
- improved lookup speed in browse info, now removing duplicate entries for eponymous templates
- fixed issues with quoted arguments with trailing backslash in settings
- browse info now updated when JSON paths changed in global options
- fixed spurious crash when removing multiple lines
2011-03-09 Version 0.3.23
- fixed issue on x64 with threads without TLS that crept back in by migrating to DMD 2.052
- separate compile and link: removed -X,-D,-H from the link step to avoid creating empty files
- new compilation mode: compile only to set your link step manually in the post-build step
- jumping to errors in files that exist in several projects now jump to the correct source
2011-02-27 Version 0.3.22
- Visual D now builds with DMD 2.052
- fixed WindowsApp template to build with DMD 2.052
- fixed some COM leaks
- paste ring menu no longer stops when repeating the first entry and avoids duplicate entries
- new token search and replace dialog
- new compilation mode: compile and link in separate steps allowing multiple object files
- the option "Statement completion -> Parameter information" is now respected, showing the parameter tooltip when writing the opening parenthesis
- smart-indent now respects the contents of the new line when inserting a line break
- now supporting the Code Definition Window
2011-01-29 Version 0.3.21
- fix: identifiers extracted for "Goto Definition" stopped at digits
- fix: clean removed ddoc files from the doc directory, but not html files
- added macro expansion to modules.ddoc setting
- added context menu to show paste ring buffer and insert from it
- brace highlighting now done in idle handling, so it also works when moving the caret with the mouse
- brace matching now also includes strings and nested comments
- goto matching brace now implemented (the VS implementation does not work well with D)
- completion: items are no longer displayed multiple times
- improved handling of unicode characters in environment and batch files
- installer now adds a "D Exception" to the "Win32 Exception" list to allow the debugger to stop when a D exception is thrown
2010-12-31 Version 0.3.20
- basic outlining support (disable with check box on global text editor page if it is causing trouble, manually activate it with "Outlining -> Collapse to Definitions")
- added build time output (set check box on global project option page)
- fixed missing newline after post build command
- fix: suffix L was not recognized on floats
- code completion and goto definition now also work in comments or strings
- ddoc files in project now also passed to DMD automatically
- support for generating modules.ddoc for CanDyDOC
2010-12-11 Version 0.3.19
- fixed [] being a single token confusing brace matching
- fixed some issues with detecting floating point numbers
- fixed issues with bad colorization state
- fixed crash when a project in a solution could no longer be found
- now packaged with cv2pdb 0.19
2010-11-07 Version 0.3.18
- linker errors with file name on the same line did not make it into the error list
- added color "Visual D Operator" to "Fonts and Colors" setup
- added version/debug colorizations (colors "Visual D Disabled ...")
- added q{} token string colorizations (colors "Visual D Token String ...")
- additional tools settings page under TextEditor->D->Colorizer
- fixed broken search file dialog introduced in last version
- project configuration: added single file compilation option
- project configuration: changed defaults for "file to clean" and "json path" to better support single file compilation
- fixed incomplete parsing of escaped file names in dependency files
- improved dependency file parsing speed
- bugfix: imports with selective import symbols could miss from dependent import files
- now packaged with cv2pdb 0.18
- now packaged with new mago version, including better exception handling and disassembly support
- fixed mago deinstallation, added mago to Visual Studio About window
- added token identifier enumerator to lexer
2010-09-29 Version 0.3.17
- improved support for mercurial-scc, AnkhSVN and VisualHG
- (un)comment/format selection did not work with selection created from bottom to top
- (un)comment selection now works similer to C++ always adding/removing comments, toggle comments is now a new Visual D command
- fixed DLL loading on xp64
- command "Build phobos browse info" now uses \VisualD\json as the default path to avoid access rights problems
- command "Build phobos browse info" now also works for D1
2010-09-24 Version 0.3.16
- now Visual D itself also compiles against VSI SDK for Visual Studio 2010 and Windows SDK v7.1
- empty dependency file now causes rebuild
- new command "Build phobos browse info"
- added support for Mago debugger
- fixed dmd option for profiling
- fixed bad status message for matching parenthesis
- now supports command comment/uncomment selected lines
- improved smart indentation
- block re-indentation now works as a single command with respect to undo/redo
- now packaged with cv2pdb 0.17
- fixed loading DLLs (including Visual D) on Windows Server 2003
- now installer includes Mago debugger
- new profiler window to display trace.log
- fixed bad variable replacement when building project name shorter than 4 characters
2010-08-11 Version 0.3.15
- when reading import paths from sc.ini, the directory is determined by searching dmd.exe through the executable paths setting and the PATH environment variable
- fixed freeze when searching indentation level for smart indent (might also affect brace matching)
- now packaged with cv2pdb 0.16.
- fixed crash when running along-side the Qt-Addin for Visual Studio
2010-07-23 Version 0.3.14
- fixed parameter tooltips on VS2010
- fixed debugger data tooltips on VS2010
- fixed handling of quoted file/path names
- updated bitmaps in about box and templates to the website logo
- added command VisualD.ParameterInfo to avoid hook by Visual Assist
- fixed import completion for packages accessed through project import path settings
- goto definition now displays error in status line if no definition found or opening source file fails
- now jumping to definition if multiple definitions exist on the same line
- brace highlighting now shows error in status line for mismatched brackets
- brace highlighting now also shows begin/end of block comments
- fixed pasting html text not omitting format information
- now using environment variable DMD_LIB to pass library path to DMD, please update DMDs sc.ini accordingly
- now build checks whether output files are actually created to avoid silent link failure
- generating JSON output is now the default setting for new projects
2010-07-09 Version 0.3.13
- renaming a file in the project did not ensure the project to be saved
- dragging a directory into the project now creates a folder and adds all files and folders found in that directory but those that start with "."
- added project option "Enable informational warnings" (dmd option -wi)
- resource files now have command "View Code"
- fix: completion did not detect beginning of word at line end
- fix: skipping through a string literal with ctrl-left/right skipped the whole string
- now handling some optional project properties to keep AnkhSvn happy.
- SCC status of project items is now shown (but not updated yet)
- minor tweak of the ConsoleApp template
- more files translated from the Windows SDK
- now using label "reportError" instead of "xit" in build batches
- options with multiple arguments are now delimited by both ';' and white spaces, use quotes if any of these need to be part of a file name
2010-06-25 Version 0.3.12
- stricter string handling to avoid crashes when launching debugger in VS2010
- the windows application template's sub-system version now defaults to 4.0
- added new project item template for package creating both folder in project and directory on disk
- if a directory exists with the name of the folder, the default location of a new project item now defaults to this directory
- renaming a file in the project renames it on disk as well
- improved build process, it should now be possible to compile Visual D following the instruction of Building from Source
- updated to cv2pdb 0.14.
2010-06-10 Version 0.3.11
- error messages now forwarded to error list
- Visual D settings now stored in the user area of the registry
- added library search path to project settings (you need to append ";%LIB%" to the LIB setting in DMD's sc.ini for this to work)
- command VisualD.ShowScope now displays the scope of the caret in the status line
- Visual D now creates its own menu, expecting to be filled with more commands in the future and to avoid cluttering other menus
- Search window commands are now called VisualD.SearchFile and VisualD.SearchSymbol (you might need to reassign keyboard shortcuts)
- Thanks to Alix Pexton, the web site has a professional looking new logo.
2010-06-03 Version 0.3.10
- updated to cv2pdb 0.13 which allows debugging under plain VS2010 and is more stable when evaluating arrays in the debugger
- now built with debug symbols to allow crash analysis. See [download:downloads/visuald_pdb.zip] for symbols for the latest version
- fix: project property dialog did not popup with saved D version
- added the possibility to stop a build
- new logo now used in about box
2010-05-28 Version 0.3.9
- new file/symbol search window
- word-completion can now be expanded to symbol lookup by pressing Ctrl-Space again
- installation now reenables package, in case you told VS to skip loading it
- now using machine-translated SDK instead of std.windows
- fixed COM leak
- fix: file opened through "goto definition"/"find in files" sometimes warns "already opened in editor"
- fix: "goto error" sometimes would not jump to error with message "cannot find the file specified"
- fix: last version would not let you select any but the first entry of an expansion list
- symbol information now updated after project load, it's no longer necessary to build once
2010-05-08 Version 0.3.8
- added function parameter tooltips
- fix: resource files would not be updated when used with tool "Auto"
- fix: custom built files always added to linker command line
- fix: fixed initialization exception when no windows-SDK installed
- fix: build only worked as admin on x64
- fix: spurious crashes on x64
- improved WindowsApp project template (added libs, sets application subsystem)
2010-04-27 Version 0.3.7
- force CR/LF pairs in batch commands instead of LF only end-of-line.
2010-04-26 Version 0.3.6
- fixed COM and memory leaks
- projects with a lot of files now build with response files
- when only removing file or changing folder name, project was not saved
- support for operation "Rebuild"
- option "other compiler" and map file were not quoted when containing spaces
- added build logging to \buildlog.html
- added macros SAFEPROJECTPATH/DIR/FILENAME/EXT/NAME identical to PROJECT*, but without spaces
2010-04-22 Version 0.3.5
- added cv2pdb to installer
- support for operations on multiselection in solution explorer
- added option "D 2.043" to pass corresponding flag to cv2pdb
- macros in all debug options are now expanded
- fixed crashes on COM objects that were garbage-collected while still in use
2010-04-20 Version 0.3.4
- added support for command Edit.InvokeSnippetFromShortcut
- installer now requests admin execution level, so it does not fail on Vista or Windows7
- removed VS Express version from installer
2010-04-18 Version 0.3.3
- now shows full version in about box
- added README, LICENSE and CHANGES to installer
- added DnD inside project
- fixed registration of D templates for "New File"
- fixed multi-hreading issue, e.g. causing find in entire solution to fail
- added "Clean" project
- cleaned up and added more project templates
2010-04-14 Version 0.3.2
- added switch "use other compiler" to project settings
- disabled settings if respective enable switch is off
2010-04-13 Version 0.3.1
- initial release
Copyright © 1999-2025 by the D Language Foundation | Page generated by
Ddoc on Fri Mar 14 08:42:13 2025