Skip to content

Commit 158eda0

Browse files
authored
Merge pull request #121 from rainers/master
Visual D 0.51.0-beta1
2 parents 6e2545b + 43dd530 commit 158eda0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+11718
-911
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,5 @@ vdextensions/obj
1414
/msbuild/dbuild/.vs
1515
/test
1616
.vs
17+
/msbuild/dbuild/assemblies
18+
/vdextensions/assembly

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
[submodule "vdc/abothe/Parser"]
22
path = vdc/abothe/Parser
33
url = https://github.com/rainers/D_Parser.git
4+
[submodule "vdc/dmdserver/dmd"]
5+
path = vdc/dmdserver/dmd
6+
url = https://github.com/rainers/dmd.git

CHANGES

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1174,3 +1174,21 @@ Version history
11741174
* don't highlight asm keywords/mnemonics/registers from semantic information
11751175
* VS 2019 16.2: command line options no longer read correctly from the VC project for
11761176
Compile and Run/Debug/Disassemble, dbuild refactored to not rely on msbuild DLLs for that
1177+
1178+
unreleased Version 0.51.0
1179+
* Ctrl+Click goto definition added for VS2017+
1180+
* experimental: semantic server built from dmd frontend
1181+
* VS2017+: syntax highlighted tool tips
1182+
* mago:
1183+
- new option "hide reference pointers"
1184+
- new option: "remove leading zeroes from hex values"
1185+
- fix crash expanding pointer to empty dynamic array
1186+
- large arrays: show growing index, fix omitting last element
1187+
* installer: add sections for "Build Tools VS2017/2019""
1188+
* dparser: now creates server process per Visual Studio instance
1189+
* added option to not show error squiggles and markers
1190+
* added tooltip to collapsed region
1191+
* fix function signature tool tips
1192+
* error list now filled with intellisense errors
1193+
* basic DUB support: upgrade and refresh if project contains dub.json or dub.sdl
1194+
* msbuild: pass original variable LinkToolExe to pipelink.exe through environment

Makefile

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,12 @@ visuald_test:
6464
vdserver:
6565
devenv /Project "vdserver" /Build "$(CONFIG)|Win32" visuald_vs10.sln
6666

67+
dmdserver:
68+
devenv /Project "dmdserver" /Build "$(CONFIG)|x64" visuald_vs10.sln
69+
70+
dmdserver_test:
71+
devenv /Project "dmdserver" /Build "TestDebug|x64" visuald_vs10.sln
72+
6773
dparser:
6874
cd vdc\abothe && $(MSBUILD15) vdserver.sln /p:Configuration=Release;Platform="Any CPU" /p:TargetFrameworkVersion=4.5.2 /p:DefineConstants=NET40 /t:Rebuild
6975
editbin /STACK:0x800000 bin\Release\DParserCOMServer\DParserCOMServer.exe
@@ -81,6 +87,9 @@ fake_dparser:
8187
vdextension:
8288
cd vdextensions && $(MSBUILD) vdextensions.csproj /p:Configuration=Release;Platform=x86 /t:Rebuild
8389

90+
vdext15:
91+
cd vdextensions && $(MSBUILD) vdext15.csproj /p:Configuration=Release;Platform=x86 /t:Rebuild
92+
8493
visualdwizard:
8594
cd vdwizard && $(MSBUILD) VisualDWizard.csproj /p:Configuration=Release;Platform=AnyCPU /t:Rebuild
8695

@@ -163,7 +172,7 @@ install_vs_no_vs2017: install_modules fake_dparser cv2pdb mago dbuild12 dbuild
163172

164173
install_vs_only_vs2017: install_modules dparser dparser_test cv2pdb_vs15 mago_vs15 fake_dbuild12 fake_dbuild14 dbuild15 install_only
165174

166-
install_modules: prerequisites visuald_vs vdserver vdextension visualdwizard dcxxfilt
175+
install_modules: prerequisites visuald_vs vdserver dmdserver vdextension vdext15 visualdwizard dcxxfilt
167176

168177
install_only:
169178
if not exist ..\downloads\nul md ..\downloads

TODO

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,86 @@ Unsorted
229229

230230
- dparser: doesn't support qualified name in catch(fqn)
231231

232+
- dpp support
233+
232234
0.45.0
233235
======
234236
- exception on vdextensions: The Visual Studio component cache is out of date
235237

238+
0.49.0
239+
======
240+
- DParser:
241+
+ static if (is(__traits(parent, target) : __traits(parent, rest[0])))
242+
+ static if (is(T == __vector) )
243+
- needs too much CPU
244+
- Documentation:
245+
- installation (VC required)
246+
- move newer VS versions to top
247+
+ colors
248+
- tooltips
249+
- exceptions while VC project loaded?
250+
- VS2019:
251+
- new project: D templates hardly accessible
252+
+ vcxproj: DCompiler not selectable
253+
- mago:
254+
- toDebug
255+
- context 'this' and members of 'this' shown
256+
- pasting large code snippet is slow with auto-indent
257+
258+
0.50.0
259+
======
260+
+ VS 16.2: pdb newer than exe
261+
+ Deprecation shown as error
262+
263+
- search files/symbols sometimes blank: columns have width 0
264+
- new D module: adjust module name
265+
266+
+ VC project: simpler opt-in for -mixin, per package filename
267+
+ -extern-std=
268+
269+
- dark scheme: colors wrong after install (also happens for C#?), colors still too dark
270+
- reference highlight: wrong color, not shown in scroll margin
271+
- download: no update for the status bar in VS2017
272+
+ display html error
273+
+ update message "DMD 2.086.1 Goto Page"?
274+
+ VC projects: DMD/LDC switch not visible in non-english?
275+
276+
+ vtbl for C++ classes
277+
- mago: call update in VS2019
278+
+ mago: VS2019, dragging a variable from the autos, locals, or watches copies the whole line (C++, too?)
279+
+ mago: breakpoint conditions no longer supported?
280+
- mago: debug info with different cased filenames opened twice in VS
281+
+ mago: limit array exansions
282+
+ mago: AA with impl, but without elements?
283+
- mago: start class expansions for derived type
284+
285+
+ support -lowmem
286+
+ show message if compiler path wrong
287+
288+
- LDC: options for debug-lib and LTO
289+
290+
- HiDPI:
291+
+ edit line in search dialog
292+
+ edit line in profiler dialog
293+
+ search and replace token dialog
294+
+ C++ conversion wizard
295+
- toolbar bitmaps don't scale
296+
- adapt tool window color to theme
297+
298+
- semantic coloring:
299+
- x in foreach(x; range)
300+
- x in if(auto x = ptr)
301+
- goto labels
302+
- exit in scope(exit)
303+
- x in extern(x)
304+
- public imports in imports
305+
306+
307+
0.50.1
308+
======
309+
+ reset settings to default
310+
+ msbuild doesn't work after first full instllation, still needs to open+close settings
311+
- vd reported as "unresponsive" when loading project (> 7 sec)
312+
+ VC parallel build
313+
314+
- compile & disassemble: VC projects output dir always Win32/Debug

VERSION

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

appveyor.yml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,18 @@ environment:
1818
- os: Visual Studio 2017
1919
VS: 15
2020
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
21-
- os: Visual Studio 2015
22-
VS: 14
23-
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
21+
# - os: Visual Studio 2015
22+
# VS: 14
23+
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
2424
# - os: Visual Studio 2013
2525
# VS: 12
2626
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
2727

2828
# cache relative to C:\projects\visuald
2929
cache:
30-
- C:\projects\cache\dmd2083_0.7z
30+
- C:\projects\cache\dmd2088_0.7z
3131
- C:\projects\cache\cd851.zip
32-
- C:\projects\cache\VisualD-v0.47.0.exe
32+
- C:\projects\cache\VisualD-v0.50.1.exe
3333
- C:\projects\cache\binutils-2.25.tar.gz
3434

3535
#matrix:
@@ -50,10 +50,10 @@ install:
5050
# Download & extract D compiler
5151
- ps: |
5252
If ($Env:D_COMPILER -eq 'dmd') {
53-
If (-not (Test-Path 'cache\dmd2083_0.7z')) {
54-
Start-FileDownload 'http://downloads.dlang.org/releases/2.x/2.083.0/dmd.2.083.0.windows.7z' -FileName 'cache\dmd2083_0.7z'
53+
If (-not (Test-Path 'cache\dmd2088_0.7z')) {
54+
Start-FileDownload 'http://downloads.dlang.org/releases/2.x/2.088.0/dmd.2.088.0.windows.7z' -FileName 'cache\dmd2088_0.7z'
5555
}
56-
7z x cache\dmd2083_0.7z > $null
56+
7z x cache\dmd2088_0.7z > $null
5757
Set-Item -path env:DMD -value c:\projects\dmd2\windows\bin\dmd.exe
5858
c:\projects\dmd2\windows\bin\dmd.exe --version
5959
} ElseIf ($Env:D_COMPILER -eq 'dmd-nightly') {
@@ -77,10 +77,10 @@ install:
7777
copy c:\projects\dm\bin\coffimplib.exe c:\projects\dmd2\windows\bin
7878
# Download & install Visual D
7979
- ps: |
80-
If (-not (Test-Path 'cache\VisualD-v0.47.0.exe')) {
81-
Start-FileDownload 'https://github.com/dlang/visuald/releases/download/v0.47.0/VisualD-v0.47.0.exe' -FileName 'cache\VisualD-v0.47.0.exe'
80+
If (-not (Test-Path 'cache\VisualD-v0.50.1.exe')) {
81+
Start-FileDownload 'https://github.com/dlang/visuald/releases/download/v0.50.1/VisualD-v0.50.1.exe' -FileName 'cache\VisualD-v0.50.1.exe'
8282
}
83-
- cache\VisualD-v0.47.0.exe /S
83+
- cache\VisualD-v0.50.1.exe /S
8484
# configure DMD path
8585
- reg add "HKLM\SOFTWARE\DMD" /v InstallationFolder /t REG_SZ /d c:\projects /reg:32 /f
8686
# disable link dependencies monitoring, fails on AppVeyor server
@@ -104,14 +104,14 @@ before_build:
104104
build_script:
105105
- cd c:\projects
106106
- cd visuald
107+
# Fetch submodules
108+
- git submodule update --init --recursive
107109
# ignore failure once, in case it needs reloading the sdk project
108110
- nmake prerequisites || nmake prerequisites
109111
# build Visual D
110112
- nmake visuald_vs
111113
# build and run Visual D unittests
112-
- nmake visuald_test
113-
# Fetch submodules
114-
- git submodule update --init --recursive
114+
- nmake visuald_test dmdserver_test
115115
- cd ..
116116
# Clone mago/cv2pdb (need to be two levels up)
117117
- cd ..

build/build.visualdproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -628,6 +628,7 @@ dmd -map "$(IntDir)\$(InputName).map" "-of$(OutDir)\$(InputName).
628628
<File customcmd="dmd -map $(OutDir)\$(InputName).map -of$(IntDir)\$(InputName).exe $(InputPath) ..\tools\nostacktrace.d" perConfig="true" dependencies="..\tools\nostacktrace.d" outfile="$(OutDir)\$(InputName).exe" path="..\tools\mb2utf16.d" tool="Custom">
629629
<Config tool="Custom" customcmd="echo Compiling $(InputPath)...
630630
dmd -g -map &quot;$(IntDir)\$(InputName).map&quot; &quot;-of$(OutDir)\$(InputName).exe&quot; &quot;-od$(IntDir)&quot; $(InputPath) ..\tools\nostacktrace.d" dependencies="..\tools\nostacktrace.d" outfile="$(OutDir)\$(InputName).exe" name="Debug|Win32" />
631+
<Config tool="Custom" customcmd="dmd -map $(OutDir)\$(InputName).map -of$(OutDir)\$(InputName).exe $(InputPath) ..\tools\nostacktrace.d" dependencies="..\tools\nostacktrace.d" outfile="$(OutDir)\$(InputName).exe" name="TestDebug|Win32" />
631632
<Config tool="Custom" customcmd="echo Compiling $(InputPath)...
632633
if exist &quot;$(VSINSTALLDIR)\Common7\Tools\vsvars32.bat&quot; call &quot;$(VSINSTALLDIR)\Common7\Tools\vsvars32.bat&quot;
633634
if exist &quot;$(VCINSTALLDIR)\Auxiliary\Build\vcvars32.bat&quot; ( pushd . &amp;&amp; call &quot;$(VCINSTALLDIR)\Auxiliary\Build\vcvars32.bat&quot; &amp;&amp; popd )
@@ -639,7 +640,7 @@ if exist &quot;$(VCINSTALLDIR)\Auxiliary\Build\vcvars32.bat&quot; ( pushd . &amp
639640
if errorlevel 1 goto reportError
640641
dmd -m32mscoff -map &quot;$(IntDir)\$(InputName).map&quot; &quot;-of$(OutDir)\$(InputName).exe&quot; $(InputPath) ..\tools\nostacktrace.d user32.lib -L/SUBSYSTEM:CONSOLE,5.01" dependencies="..\tools\nostacktrace.d" outfile="$(OutDir)\$(InputName).exe" name="Release COFF32|Win32" />
641642
<Config tool="Custom" customcmd="echo Compiling $(InputPath)...
642-
dmd -map $(OutDir)\$(InputName).map -of$(IntDir)\$(InputName).exe $(InputPath) ..\tools\nostacktrace.d" dependencies="..\tools\nostacktrace.d" outfile="$(OutDir)\$(InputName).exe" name="Release|Win32" />
643+
dmd -map $(OutDir)\$(InputName).map -of$(OutDir)\$(InputName).exe $(InputPath) ..\tools\nostacktrace.d" dependencies="..\tools\nostacktrace.d" outfile="$(OutDir)\$(InputName).exe" name="Release|Win32" />
643644
</File>
644645
<File customcmd="dmd -map $(IntDir)\$(InputName).map -of$(OutDir)\$(InputName).exe $(InputPath) ..\tools\nostacktrace.d" perConfig="true" dependencies="..\tools\nostacktrace.d" outfile="$(OutDir)\$(InputName).exe" path="..\tools\pipedmd.d" tool="Custom">
645646
<Config tool="Custom" customcmd="echo Compiling $(InputPath)...

build/dte_idl.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ if "%IVIEWER%" == "" if exist "%WindowsSdkVerBinPath%\x86\iviewers.dll" set IVIE
2424
if "%IVIEWER%" == "" if exist "%WindowsSdkDir%\bin\x86\iviewers.dll" set IVIEWER=%WindowsSdkDir%\bin\x86\iviewers.dll
2525
if "%IVIEWER%" == "" if exist "%WindowsSdkDir%\bin\iviewers.dll" set IVIEWER=%WindowsSdkDir%\bin\iviewers.dll
2626
if "%IVIEWER%" == "" if exist "%WindowsSdkDir%\bin\%WindowsSdkVersion%\x86\iviewers.dll" set IVIEWER=%WindowsSdkDir%\bin\%WindowsSdkVersion%\x86\iviewers.dll
27-
if "%IVIEWER%" == "" (echo "iviewer.dll" not found && exit /B 1)
27+
if "%IVIEWER%" == "" (echo "iviewer.dll" not found with WindowsSdkDir="%WindowsSdkDir%", WindowsSdkVersion=%WindowsSdkVersion% && exit /B 1)
2828

2929
echo "%TLB2IDL%" "%MSENV%\dte80.olb" "%DTE_IDL_PATH%\dte80.idl" "%IVIEWER%"
3030

c2d/c2d.visualdproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -795,7 +795,7 @@
795795
<program>m:\s\d\rainers\windows\bin\dmd.exe</program>
796796
<imppath>..</imppath>
797797
<fileImppath>..</fileImppath>
798-
<outdir>..\bin\$(ConfigurationName)64</outdir>
798+
<outdir>..\bin\$(ConfigurationName)\$(PlatformName)</outdir>
799799
<objdir>$(OutDir)\$(ProjectName)</objdir>
800800
<objname />
801801
<libname />
@@ -1397,10 +1397,10 @@
13971397
<cccmd>$(CC) -c</cccmd>
13981398
<ccTransOpt>1</ccTransOpt>
13991399
<addDepImp>0</addDepImp>
1400-
<program>m:\s\d\rainers\windows\bin\dmd_msc.exe</program>
1400+
<program />
14011401
<imppath>..</imppath>
14021402
<fileImppath>..</fileImppath>
1403-
<outdir>..\bin\$(ConfigurationName)</outdir>
1403+
<outdir>..\bin\$(ConfigurationName)\$(PlatformName)</outdir>
14041404
<objdir>$(OutDir)\$(ProjectName)</objdir>
14051405
<objname />
14061406
<libname />
@@ -1884,7 +1884,7 @@
18841884
<program>m:\s\d\rainers\windows\bin\dmd_msc.exe</program>
18851885
<imppath>..</imppath>
18861886
<fileImppath>..</fileImppath>
1887-
<outdir>..\bin\$(ConfigurationName)</outdir>
1887+
<outdir>..\bin\$(ConfigurationName)\$(PlatformName)</outdir>
18881888
<objdir>$(OutDir)\$(ProjectName)</objdir>
18891889
<objname />
18901890
<libname />

0 commit comments

Comments
 (0)