@rainers rainers released this Dec 2, 2018

Assets 3

Changes from rc1:

  • synchronize color categories between dparser and colorizer
  • tweak colors for dark scheme
  • fix crash with dub generated project
  • add 'typeof' to completion where 'typeid' is valid, too

See http://rainers.github.io/visuald/visuald/VersionHistory.html for a full list of changes from 0.47.0.


@rainers rainers released this Nov 24, 2018 · 3 commits to master since this release

Assets 3

Changes from beta3:

  • build system
    • fixed linking privatephobos.lib if intermediate dir different from output dir
  • mago
    • add option to disable strings to be expandable
    • support showing closure and capture variables as locals for dmd 2.084
  • editor
    • added outlining for case statements
    • implemented commands View.PopBrowsContext 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
  • dparser
    • 'virtual' no longer considered a keyword
    • updated list of traits for completion

@rainers rainers released this Nov 10, 2018 · 29 commits to master since this release

Assets 3

Changes from beta-2:

  • VDServer refactoring
  • experimental: option to enable semantic identifier highlighting
  • mago:
    • 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

@rainers rainers released this Oct 10, 2018 · 74 commits to master since this release

Assets 3

Changes from beta1:

  • installer and binaries now digitally signed by the "D Language Foundation"
  • installer now removes old extension folders before installation
  • predefined versions now evaluated by compiler invocation
  • the last user specified version was prepended to "Windows"
  • mago debug engine: the disassemble view now supports SSE4 and AVX
  • dparser: fix stack overflow with "static foreach"
  • dparser: some improvements to expression evaluation
  • expression evaluation in tooltip not shown for "normal" error

@rainers rainers released this Oct 5, 2018 · 83 commits to master since this release

Assets 3


  • installation
    • 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
  • 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 $(LatestTargetPlatformVersion) 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
  • 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"
  • 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.
  • cv2pdb
    • can now detect VS2017 via Setup-COM-API
    • some DWARF fixes
  • when pasting code to D source file newlines are adapted to surrounding code
  • fixed "Compile and Run" on selection
  • fix help via F1 for dmd 2.072+

@rainers rainers released this Jun 24, 2018 · 131 commits to master since this release

Assets 3

Changes from beta2:

  • fix description text in ProjectWizard

@rainers rainers released this Jun 17, 2018 · 138 commits to master since this release

Assets 3

Changes from beta1:

  • mago: fix pdb file not closed after debugging
  • project wizard: always create "Debug" configuration for vcxproj, warn when not creating x86 platform
  • fix installation of project wizard for VS2017

@rainers rainers released this Jun 10, 2018 · 142 commits to master since this release

Assets 3

Changes from 0.46.0:

  • dparser
    • support 'do' instead of 'body'
  • cv2pdb:
    • DWARF: several bug fixes and minor enhancements
    • can now convert DBG files alongside exe/dll
  • 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 with in 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)
  • 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
  • miscellaneous
    • Issue 18622: removed outdated information regarding link definition when generated by Visual D DLL project.

@rainers rainers released this Dec 2, 2017 · 184 commits to master since this release

Assets 3

Changes from 0.46.0-beta1

  • cv2pdb: allow converting larger binaries by marking it "large address aware"
  • 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
  • fix detection of Windows 10 SDK, also define $(WindowsSdkVersion)
  • VS2017: fixed registration of exception settings
  • dparser: for syntax errors underline the full token, not only the first character
  • required OS version for executables restored to 5.01 to support Windows XP
  • mago: fix string display for LDC builds

@rainers rainers released this Sep 16, 2017 · 200 commits to master since this release

Assets 3

Changes since 0.45.1:

  • cv2pdb
    • now also search VS2017 registry entries to find mspdb140.dll
    • fix working with the VS2017 update 15.3.1
  • 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
  • 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
  • dparser:
    • when building with LDC, use import path from its config file instead of DMDs' sc.ini
    • parse "static foreach" (but no semantic analysis)
  • fixed spurious freeze in precise GC (mostly during startup)
  • indentation of lambdas as parameter arguments now aligns statements on tab stops