Skip to content

Commit e74bd92

Browse files
authored
Merge pull request #116 from rainers/master
Visual D 0.50.0
2 parents 48f5dd1 + a57617e commit e74bd92

18 files changed

+333
-514
lines changed

CHANGES

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1117,7 +1117,7 @@ Version history
11171117
* VS2015: workaround VS not correctly updating extension caches after uninstallation
11181118
* bugzilla 19826: visualdproj projects created for LDC still use DMD
11191119

1120-
unreleased Version 0.50.0
1120+
2019-06-23 Version 0.50.0
11211121
* VS 16.1 Preview 2: ignore tracked files in *.delete.*.tlog as dependencies, too
11221122
* now another installer available that includes DMD and LDC
11231123
* installer no longer asks for DMD path when updating existing installation
@@ -1135,6 +1135,7 @@ unreleased Version 0.50.0
11351135
- D-Compiler option missing if no english VS language pack installed
11361136
* visualdproj:
11371137
- Error List: classify warnings and deprecations according to the respective options
1138+
- don't pass -mixin= for the link step
11381139
* bugzilla 19930: visualdproj: fix building projects with "&|<>" in directory names
11391140
* dparser:
11401141
- add semantic coloring for module and package names
@@ -1151,3 +1152,4 @@ unreleased Version 0.50.0
11511152
- fix evaluating locals in registers
11521153
* slightly change identification of break point locations
11531154
* fixed "go to definition" eventually not jumping to correct line after opening document
1155+
* scale dialogs according to current text font size, i.e. adapt to DPI scaling

README.md

Lines changed: 21 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
This is the README file for Visual D, a
55
Visual Studio package providing both project management and language services
66

7-
Copyright (c) 2010-2018 by Rainer Schuetze, All Rights Reserved
7+
Copyright (c) 2010-2019 by Rainer Schuetze, All Rights Reserved
88

99
Visual D aims at providing seamless integration of the D programming language
1010
into Visual Studio.
@@ -15,8 +15,8 @@ Use forum http://forum.dlang.org/group/digitalmars.D.ide for questions and the D
1515

1616
Major Features
1717
---------------
18-
* Project management
19-
- all DMD and GDC command line options accessable
18+
* Custom Project management
19+
- all DMD command line options accessible
2020
- support for GDC and LDC
2121
- support for resource compiler
2222
- custom build commands
@@ -25,9 +25,15 @@ Major Features
2525
- automatic link between dependend projects
2626
- new project templates
2727

28+
* Integration with VC projects
29+
- seamless integration through build customization
30+
- DMD and LDC command line options accessible
31+
- parallel compilation
32+
2833
* Debugger
29-
- integrates cv2pdb for seamless integration with the VS native debugger
34+
- VS debugger extension providing D expression evaluation
3035
- integrates mago, a debug engine dedicated to D
36+
- integrates cv2pdb for debugging executables built with the Digital Mars toolchain
3137

3238
* Language Service
3339
- syntax highlighting with special version/debug and token string support
@@ -55,23 +61,20 @@ Major Features
5561
- disassembly view synchronized with source code
5662

5763
* Supported Visual Studio versions
58-
- VS 2008
59-
- VS 2010
60-
- VS 2012
61-
- VS 2013
62-
- VS 2015
63-
- VS 2017
64+
- VS 2008 - VS 2019, Community, Professional or Enterprise versions
6465

65-
Unfortunately, Express versions of Visual Studio do not support this
66-
kind of extensions. Use the Visual Studio Shell instead:
66+
Express versions of Visual Studio do not support this
67+
kind of extensions. If you need to use these old version, use the Visual Studio Shell instead:
6768
- VS 2008 Shell: http://www.microsoft.com/en-us/download/details.aspx?id=9771
6869
- VS 2010 Shell: no longer available
6970
- VS 2012 Shell: http://www.microsoft.com/en-us/download/details.aspx?id=30670
7071
+ http://www.microsoft.com/en-us/download/details.aspx?id=30663
71-
72-
Starting with VS 2013, Microsoft also released Community Versions of
73-
Visual Studio, which are free for most users and are similar to the
74-
professional editions.
72+
73+
If you are using the Visual Studio Shell 2008 or 2010, it misses one file,
74+
that is needed for the conversion of the debug information by cv2pdb. This
75+
is msobj80.dll for VS2008 and msobj100.dll for VS2010 and must be extracted
76+
from a standard installation, the Visual C Express edition or the Windows SDK.
77+
You might also find it installed by other Microsoft products.
7578

7679
* Includes tools to
7780
- convert some idl/h files of the Windows SDK to D
@@ -107,17 +110,6 @@ For LDC and GDC, after installation you must setup Visual D to find them: see
107110
Tools->Options->Projects and Solutions->Visual D Settings->LDC Directories
108111
and GDC Directories, respectively.
109112

110-
For debugging applications, you should also install cv2pdb which is now
111-
included in the Visual D installer. Please make sure, changes to
112-
Common7\Packages\Debugger\autoexp.dat do not mix with previous manual
113-
installations of cv2pdb.
114-
115-
If you are using the Visual Studio Shell 2008 or 2010, it misses one file,
116-
that is needed for the conversion of the debug information by cv2pdb. This
117-
is msobj80.dll for VS2008 and msobj100.dll for VS2010 and must be extracted
118-
from a standard installation, the Visual C Express edition or the Windows SDK.
119-
You might also find it installed by other Microsoft products.
120-
121113
Changes
122114
-------
123115
For documentation on the changes between this version and
@@ -128,8 +120,8 @@ Building Visual D
128120
In a nutshell:
129121

130122
- install the Visual Studio SDK
131-
- start Visual Studio and load solution visuald_vs9.sln (VS 2008) or
132-
visuald_vs10.sln (VS 2010+)
123+
- start Visual Studio VS 2013+ and load solution visuald_vs10.sln
124+
- select configuration "Debug COFF32|Win32"
133125
- build project "build"
134126
- build project "VisualD"
135127

VERSION

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#define VERSION_MAJOR 0
22
#define VERSION_MINOR 50
33
#define VERSION_REVISION 0
4-
#define VERSION_BETA -rc
5-
#define VERSION_BUILD 1
4+
#define VERSION_BETA
5+
#define VERSION_BUILD 0

doc/BuildFromSource.dd

Lines changed: 54 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,11 @@ Ddoc
33
$(P The latest sources of Visual D are available from the github repository at
44
$(LINK https://github.com/dlang/visuald).)
55

6-
$(H2 Prerequisites)
7-
8-
$(P You need the following tools to build Visual D:)
9-
$(UL
10-
$(LI Visual Studio 2013/2015 (other versions might also work, VS 2017 was ok
11-
until update 15.3.1))
12-
$(LI a recent version of Visual D)
13-
$(LI $(LINK2 https://www.microsoft.com/en-us/download/details.aspx?id=40758,
14-
Visual Studio Integration SDK for VS2013) or enable it during $(LINK2
15-
https://msdn.microsoft.com/en-us/library/mt683786.aspx, VS 2015) or VS 2017 installation.)
16-
$(LI Windows SDK 6.0A (included in VS2008) or later (tested with most versions
17-
up to 10.0.15063.0))
18-
$(LI DMD 2.071 or newer)
19-
$(LI coffimplib from ($(LINK http://ftp.digitalmars.com/coffimplib.zip)))
20-
$(LI for installer: $(LINK2 http://nsis.sourceforge.net/Download, NSIS). External projects
21-
included in installer:)
22-
$(UL
23-
$(LI $(LINK2 https://github.com/rainers/cv2pdb, cv2pdb) checked
24-
out to ../../cv2pdb/trunk for historic reasons)
25-
$(LI $(LINK2 https://github.com/rainers/mago, mago) checked
26-
out to ../../mago)
27-
$(LI $(LINK2 http://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.gz, binutils 2.25)
28-
extracted to ../../binutils-2.25)
29-
)
30-
)
31-
326
$(P Visual D consists of a number of components that need to be built separately:)
337
$(UL
348
$(LI $(LINK2 https://github.com/dlang/visuald, visuald): the core package loaded as a language service by Visual Studio: visuald_vs10.sln)
359
$(LI $(LINK2 https://github.com/rainers/D_Parser/tree/visuald, dparser): the semantic engine
36-
integrated as a sub module: vdc/abothe/VDServer.sln)
10+
integrated as a sub module: vdc/abothe/VDServer.sln. Needs VS 2017 or later)
3711
$(LI vdextensions: some extensions to visuald only accessible via C#: vdextensions/vdextensions.csproj)
3812
$(LI dbuild: MSBuild integration: msbuild/dbuild/dbuild.csproj)
3913
$(LI $(LINK2 https://github.com/rainers/mago, mago): the debug engine: ../../mago/MagoDbg_2010.sln)
@@ -42,58 +16,74 @@ $(UL
4216
$(LI pipedmd, dcxxfilt: additional command line tools in the "tools" folder)
4317
)
4418

45-
$(H2 Building Visual D)
19+
$(H2 Building the Visual Studio extension package)
20+
21+
$(H3 Prerequisites)
4622

47-
$(P Short version:
23+
$(P You need the following tools to build main package of Visual D:)
24+
$(UL
25+
$(LI Visual Studio 2013/2015/2017/2019)
26+
$(LI a recent version of Visual D)
27+
$(LI Visual Studio Integration SDK for VS2013 or later (enable it during VS installation.))
28+
$(LI Windows SDK 6.0A or later (tested with most versions up to 10.0.17763.0))
29+
$(LI DMD 2.084 or newer)
30+
)
31+
32+
$(H3 Short build instructions:)
4833
$(UL
4934
$(LI Load visuald_vs10.sln into Visual Studio 2013+.)
50-
$(LI Select configuration Debug/Win32)
51-
$(LI Build project "build".)
35+
$(LI Select configuration "$(B Debug COFF32)|Win32")
36+
$(LI Build project "$(B build)". You might get prompted to reload the solution.)
5237
$(LI Build project "VisualD".)
5338
)
54-
)
5539

56-
$(P Longer version:)
40+
$(H3 Longer build instructions:)
5741

5842
$(P There is an $(LINK2 https://ci.appveyor.com/project/rainers/visuald, AppVeyor project)
5943
that verifies recent changes to the development
6044
branch of Visual D. This can also be used as a reference for the build process.)
6145

6246
$(P The Visual D source code is usually updated to work with the latest release version
63-
of DMD (2.077 as of now), so you should use this release of the compiler when using
64-
the latest svn/git checkout.)
65-
66-
$(P If you want to start developing or debugging, you should load visuald_vs10.sln
67-
in Visual Studio with Visual D installed. Build the "build" project at least once
47+
of DMD (2.086.0 as of now), so you should use this release of the compiler when using
48+
the latest git checkout.)
49+
50+
$(P To start developing or debugging, you should load visuald_vs10.sln
51+
in Visual Studio with Visual D installed.
52+
The preferred configuration to use is "Debug COFF32|Win32". This chooses building
53+
with the Microsoft runtime libraries. As Visual Studio is a 32-bit process, an extension
54+
has to be built for that platform, too.
55+
Build the "build" project at least once
6856
to build the necessary prerequisites and tools, e.g. D translations from
6957
the Windows and Visual Studio SDK.)
7058

71-
$(P The standard build procedure for the release version is to execute
72-
"nmake install_vs" in the trunk directory. $(B Please check the variable settings at the
73-
top of the Makefile and adjust them to the installation directories on your system.))
59+
$(P If you want to build against the Digital Mars toolchain using OMF object files,
60+
you'll need coffimplib from ($(LINK http://ftp.digitalmars.com/coffimplib.zip)) installed
61+
somewhere in your PATH. Use Configuration "Debug OMF|Win32" in that case.)
7462

75-
$(H2 Deployment)
63+
$(H3 Deployment)
7664

7765
$(P You should debug Visual D within Visual Studio using a different
7866
branch in the registry, so it does not interfere with your working
7967
environment.)
8068

8169
$(UL
82-
$(LI VS2010-VS2017: The mechanism has changed with VS2010, as the non-standard registry settings are rebuilt
70+
$(LI VS2010-VS2019: The mechanism has changed with VS2010, as the non-standard registry settings are rebuilt
8371
on every start of Visual Studio.
8472
$(UL
73+
$(LI in the following items, VS 2015 is similar to VS 2013 (replace version 12.0 with 14.0),
74+
and CS 2019 is similar to VS 2017 (replace version 15.0 with 16.0).)
8575
$(LI Copy the files from `$(DOLLAR)(VSINSTALLDIR)\Common7\IDE\Extensions\Rainer Schuetze\VisualD` into the folder
86-
`$(DOLLAR)(APPDATA)\Local\Microsoft\VisualStudio\12.0\Extensions\VisualD` (replace 12.0 with 14.0 for VS2015, 15.0_`<id>`
76+
`$(DOLLAR)(APPDATA)\Local\Microsoft\VisualStudio\12.0\Extensions\VisualD` (replace 12.0 with 15.0_`<id>`
8777
for VS2017 with `<id>` some identifier generated during VS installation))
8878
$(LI Move the files from `$(DOLLAR)(VSINSTALLDIR)\Common7\IDE\Extensions\Rainer Schuetze\VisualD` into the folder
89-
`$(DOLLAR)(APPDATA)\Local\Microsoft\VisualStudio\12.0D\Extensions\VisualD` (replace 12.0D with 14.0D for VS2015, 15.0_`<id>`D
79+
`$(DOLLAR)(APPDATA)\Local\Microsoft\VisualStudio\12.0D\Extensions\VisualD` (replace 12.0D with 15.0_`<id>`D
9080
for VS2017 with `<id>` some identifier generated during VS installation))
9181
$(LI in visuald.pkgdef, replace the path "C:\\Program Files (x86)\\Visual D\\visuald.dll" with your debug build output path.)
9282
$(LI Modify a line in `$(DOLLAR)(VSINSTALLDIR)\Common7\IDE\devenv.pkgdef:
9383
$(PRE -"PkgDefSearchPath" = "$ApplicationExtensionsFolder$;$RootFolder$\Common7\IDE\CommonExtensions;$RootFolder$\Common7\IDE\devenv.admin.pkgdef;")
9484
$(PRE +"PkgDefSearchPath" = "$ApplicationExtensionsFolder$;$RootFolder$\Common7\IDE\CommonExtensions;$AppDataLocalFolder$\Extensions;$RootFolder$\Common7\IDE\devenv.admin.pkgdef;")
9585
)
96-
$(LI in the registry, delete hives
86+
$(LI for VS2015 or earlier delete these hives in the registry:
9787
$(UL
9888
$(LI `HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0D`)
9989
$(LI `HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0D_Config`)
@@ -103,6 +93,7 @@ $(UL
10393
$(LI Visual D will now be shown in the Extension Manager where it might have to be enabled.)
10494
)
10595
)
96+
$(P)
10697
$(LI VS2008: To create a configuration named "D"
10798
$(UL
10899
$(LI As administrator, execute from the command line:
@@ -118,8 +109,24 @@ $(UL
118109
)
119110
)
120111

112+
$(H3 Building the installer)
113+
114+
$(P The standard build procedure for the release version is to execute
115+
"nmake install_vs" in the trunk directory. $(B Please check the variable settings at the
116+
top of the Makefile and adjust them to the installation directories on your system.))
117+
118+
$(LI for installer: $(LINK2 http://nsis.sourceforge.net/Download, NSIS). External projects
119+
included in installer:)
120+
$(UL
121+
$(LI $(LINK2 https://github.com/rainers/cv2pdb, cv2pdb) checked
122+
out to ../../cv2pdb/trunk for historic reasons)
123+
$(LI $(LINK2 https://github.com/rainers/mago, mago) checked
124+
out to ../../mago)
125+
$(LI $(LINK2 http://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.gz, binutils 2.25)
126+
extracted to ../../binutils-2.25)
127+
)
128+
121129
$(P Good luck!)
122130

123131
Macros:
124132
TITLE=Building from Source
125-

doc/Installation.dd

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,19 @@ for all users, not only for a single user.)
99

1010
$(P To compile your application, you must have $(LINK2 http://www.digitalmars.com/d/download.html, DMD),
1111
$(LINK2 https://github.com/D-Programming-GDC/GDC, GDC) or $(LINK2 https://github.com/ldc-developers/ldc, LDC)
12-
installed. Not all functionality
13-
has been thoroughly tested with GDC and LDC, so having DMD available for cross-checking is recommended.)
12+
installed.)
13+
14+
$(H2 Using DMD)
15+
16+
$(P DMD is a the reference D compiler. It has the latest features of D implemented first, and
17+
usually provides the fastest compilation times for debug builds.)
18+
19+
$(P Not all functionality of Visual D has been adopted to GDC and LDC, so having DMD available is recommended.)
20+
It is also used as the default in most options, e.g. when creating new projects.
21+
22+
$(P You can change the DMD installation path at the global
23+
Tools->Options->Projects and Solutions->Visual D Settings->DMD Directories
24+
option page.)
1425

1526
$(H2 Using LDC)
1627

@@ -24,8 +35,13 @@ option page. Then switch the "Compiler" option in the project configuration to "
2435
$(H2 Using GDC)
2536

2637
$(P GDC is a D compiler using the GNU compiler suite backend. It can produce more efficient code than DMD.)
27-
You can find a rather dated build at $(LINK http://gdcproject.org/downloads). Please also install the respective
28-
MinGW environment.
38+
39+
$(B As there is currently no uptodate build of GDC available for Windows, support for it has
40+
fallen behind and is untested. With GDC being included with the GCC compiler suite in May 2019, this might change in the
41+
near future.)
42+
43+
$(P You can find a rather dated build at $(LINK http://gdcproject.org/downloads). Please also install the respective
44+
MinGW environment.)
2945

3046
$(P Enter the GDC installation path at the global Tools->Options->Projects and Solutions->Visual D Settings->GDC Directories
3147
option page. Then switch the "Compiler" option in the project configuration to "GDC".)

0 commit comments

Comments
 (0)