Re: DlangIDE v0.8.0 released
On Tuesday, 3 October 2017 at 11:35:55 UTC, Vadim Lopatin wrote: On Monday, 2 October 2017 at 16:50:38 UTC, bitwise wrote: On Tuesday, 26 September 2017 at 15:20:54 UTC, Vadim Lopatin wrote: [...] Is C++ integration on the roadmap? My main project has a platform abstraction layer for graphics, and libraries for which no bindings are available, so I use Visual D right now, which lets me simply drag all my C++ sources right into a D library project. The downside of course being that Visual D only works on windows. So far C++ integration is not planned. I can include it to some milestone after 1.0 That would be great. Even something without coloring, formatting or completion would make me happy - just so I could drag my C++ sources into the project and have them built/linked without having maintain separate make-files, projects, etc.. Thanks
Re: DlangIDE v0.8.0 released
On Monday, 2 October 2017 at 16:50:38 UTC, bitwise wrote: On Tuesday, 26 September 2017 at 15:20:54 UTC, Vadim Lopatin wrote: [...] Is C++ integration on the roadmap? My main project has a platform abstraction layer for graphics, and libraries for which no bindings are available, so I use Visual D right now, which lets me simply drag all my C++ sources right into a D library project. The downside of course being that Visual D only works on windows. So far C++ integration is not planned. I can include it to some milestone after 1.0
Re: DlangIDE v0.8.0 released
On Tuesday, 26 September 2017 at 15:20:54 UTC, Vadim Lopatin wrote: [...] Is C++ integration on the roadmap? My main project has a platform abstraction layer for graphics, and libraries for which no bindings are available, so I use Visual D right now, which lets me simply drag all my C++ sources right into a D library project. The downside of course being that Visual D only works on windows.
Re: DlangIDE v0.8.0 released
On Thursday, 28 September 2017 at 11:25:35 UTC, Vadim Lopatin wrote: [...] Fixed. Awesome, looks perfect now. Thanks!
Re: DlangIDE v0.8.0 released
On Friday, 29 September 2017 at 07:18:42 UTC, Martin Tschierschke wrote: On Wednesday, 27 September 2017 at 12:34:33 UTC, Dmitry wrote: On Wednesday, 27 September 2017 at 08:00:21 UTC, Traktor Toni wrote: [...] The IDE should contain the compiler for convenience No. I think that including DMD & Co. into DlangIde is not the right approach, but offering one D-NOW download package including everything needed to get started DMD, DUB, IDE etc. seams interesting. Especially adding a collection of short D examples: Maybe those from the website homepage + examples D-Lang Tour + some of Adams arsd. So you start one installation and in the end you have a bunch of small valuable programs to play around. Regards mt. I don't get it. Install dlangide, install DMD (which comes with dub). What's the difficulty in this? If you want to debug, asm, etc. then you should have enough knowledge such that getting a debugger etc. is not a big deal. Nodejs doesn't have any if that and its core packages are much worst than D's (except HTTP). But we use it cus its got packages for everything s beginners want to do. code.dlang.org We wanna get the job done.
Re: DlangIDE v0.8.0 released
On Wednesday, 27 September 2017 at 12:34:33 UTC, Dmitry wrote: On Wednesday, 27 September 2017 at 08:00:21 UTC, Traktor Toni wrote: [...] The IDE should contain the compiler for convenience No. I think that including DMD & Co. into DlangIde is not the right approach, but offering one D-NOW download package including everything needed to get started DMD, DUB, IDE etc. seams interesting. Especially adding a collection of short D examples: Maybe those from the website homepage + examples D-Lang Tour + some of Adams arsd. So you start one installation and in the end you have a bunch of small valuable programs to play around. Regards mt.
Re: DlangIDE v0.8.0 released
On Thursday, 28 September 2017 at 11:52:51 UTC, aberba wrote: Can i use svg icons? Currently SVG images are not supported. This feature is planned for one of future releases. Workaround: you can provide PNG icons for different screen DPI.
Re: DlangIDE v0.8.0 released
On Thursday, 28 September 2017 at 11:51:19 UTC, aberba wrote: Does DLangUI support theming of the scrollbar? Paddings & margins? It does. It's possible to change paddings, margins, look of scrollbar buttons and backgrounds.
Re: DlangIDE v0.8.0 released
On Thursday, 28 September 2017 at 11:25:35 UTC, Vadim Lopatin wrote: On Thursday, 28 September 2017 at 06:27:03 UTC, Vadim Lopatin wrote: On Wednesday, 27 September 2017 at 15:24:29 UTC, bitwise wrote: One small thing though - when you use the LCD/BGR style fonts, you get a mismatch between the font metrics and bitmap size. Fixed. Screenshots: http://buggins.github.io/dlangui/screenshots/screenshot-dlangide.png http://buggins.github.io/dlangui/screenshots/screenshot-dlangide-dark.png http://buggins.github.io/dlangui/screenshots/screenshot-dlangide-console-win32.png Can i use svg icons?
Re: DlangIDE v0.8.0 released
On Thursday, 28 September 2017 at 11:25:35 UTC, Vadim Lopatin wrote: On Thursday, 28 September 2017 at 06:27:03 UTC, Vadim Lopatin wrote: On Wednesday, 27 September 2017 at 15:24:29 UTC, bitwise wrote: One small thing though - when you use the LCD/BGR style fonts, you get a mismatch between the font metrics and bitmap size. Fixed. Screenshots: http://buggins.github.io/dlangui/screenshots/screenshot-dlangide.png http://buggins.github.io/dlangui/screenshots/screenshot-dlangide-dark.png http://buggins.github.io/dlangui/screenshots/screenshot-dlangide-console-win32.png Does DLangUI support theming of the scrollbar? Paddings & margins?
Re: DlangIDE v0.8.0 released
On Thursday, 28 September 2017 at 06:27:03 UTC, Vadim Lopatin wrote: On Wednesday, 27 September 2017 at 15:24:29 UTC, bitwise wrote: One small thing though - when you use the LCD/BGR style fonts, you get a mismatch between the font metrics and bitmap size. Fixed. Screenshots: http://buggins.github.io/dlangui/screenshots/screenshot-dlangide.png http://buggins.github.io/dlangui/screenshots/screenshot-dlangide-dark.png http://buggins.github.io/dlangui/screenshots/screenshot-dlangide-console-win32.png
Re: DlangIDE v0.8.0 released
On Wednesday, 27 September 2017 at 15:24:29 UTC, bitwise wrote: One small thing though - when you use the LCD/BGR style fonts, you get a mismatch between the font metrics and bitmap size. So if you're using FT_LOAD_TARGET_LCD, then some of these may be true: glyph.bitmap_left != (glyph.metrics.horiBearingX >> 6); glyph.bitmap_top != (glyph.metrics.horiBearingY >> 6); glyph.bitmap.width != (glyph.metrics.width >> 6); glyph.bitmap.rows != (glyph.metrics.height >> 6); The result could be a crash, clipping, or misalignment of glyphs, depending on the assumptions made by your blitting code. I asked about this on the FT mailing list, and unfortunately, they don't believe that the 1 or 2 pixels of padding added to the bitmap to accommodate the LCD rendering belongs in metrics. The fix is simply using bitmap_left, bitmap_top, bitmap.width, bitmap.height, instead of the metrics. I was looking at the commits and saw that you added kerning, so was wondering if you hit this problem. Thank you for advice. It looks like I faced this problem when one of fonts was selected for UI. Will fix. As well, I see wrong monotype fonts character placement not aligned properly.
Re: DlangIDE v0.8.0 released
On Wednesday, 27 September 2017 at 13:22:20 UTC, Vadim Lopatin wrote: On Tuesday, 26 September 2017 at 22:35:09 UTC, bitwise wrote: On Tuesday, 26 September 2017 at 15:20:54 UTC, Vadim Lopatin wrote: New DlangIDE version is released. I've only had time to take a quick look, but this IDE seems pretty good. I was surprised at how fast it loaded up, and how it downloaded the dependencies for the sample project on it's own. The text rendering needs work though. Honestly, I passed this editor up the first time I came across it because of the way the text looks. It reminds me of Visual Studio 2005. I couldn't help but assume the IDE was outdated and probably be abandon-ware. I would definitely change the default font to the platform-IDE defaults: Visual Studio: Consolas XCode: Menlo Regular Also, FreeType has made improvements lately, and now does a much better job of rendering fonts at small sizes(no so blurry). In particular 2.8.1, which just came out, implements a patent-free substitute for MS style clear-type rendering[1][2]. [1] http://i.imgur.com/nK8Xu.png [2] https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#FT_LOAD_TARGET_LCD The thick bezels and deep 3D shading make it look retro as well. For Windows, added libfreetype 2.8.1 dlls. Made additional fixes for better font rendering. Win32 binaries are uploaded to https://github.com/buggins/dlangide/releases/tag/v0.8.2 To disable freetype, delete libfreetype-6.dll Consolas/Menlo are already selected if "Default" font is chosen for editors. Hey, thanks! Looks good. One small thing though - when you use the LCD/BGR style fonts, you get a mismatch between the font metrics and bitmap size. So if you're using FT_LOAD_TARGET_LCD, then some of these may be true: glyph.bitmap_left != (glyph.metrics.horiBearingX >> 6); glyph.bitmap_top != (glyph.metrics.horiBearingY >> 6); glyph.bitmap.width != (glyph.metrics.width >> 6); glyph.bitmap.rows != (glyph.metrics.height >> 6); The result could be a crash, clipping, or misalignment of glyphs, depending on the assumptions made by your blitting code. I asked about this on the FT mailing list, and unfortunately, they don't believe that the 1 or 2 pixels of padding added to the bitmap to accommodate the LCD rendering belongs in metrics. The fix is simply using bitmap_left, bitmap_top, bitmap.width, bitmap.height, instead of the metrics. I was looking at the commits and saw that you added kerning, so was wondering if you hit this problem.
Re: DlangIDE v0.8.0 released
On Wednesday, 27 September 2017 at 08:00:21 UTC, Traktor Toni wrote: Code completion isnt working for me on windows, no clue what's missing. Did you try Ctrl+Space?
Re: DlangIDE v0.8.0 released
On Tuesday, 26 September 2017 at 22:35:09 UTC, bitwise wrote: On Tuesday, 26 September 2017 at 15:20:54 UTC, Vadim Lopatin wrote: New DlangIDE version is released. I've only had time to take a quick look, but this IDE seems pretty good. I was surprised at how fast it loaded up, and how it downloaded the dependencies for the sample project on it's own. The text rendering needs work though. Honestly, I passed this editor up the first time I came across it because of the way the text looks. It reminds me of Visual Studio 2005. I couldn't help but assume the IDE was outdated and probably be abandon-ware. I would definitely change the default font to the platform-IDE defaults: Visual Studio: Consolas XCode: Menlo Regular Also, FreeType has made improvements lately, and now does a much better job of rendering fonts at small sizes(no so blurry). In particular 2.8.1, which just came out, implements a patent-free substitute for MS style clear-type rendering[1][2]. [1] http://i.imgur.com/nK8Xu.png [2] https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#FT_LOAD_TARGET_LCD The thick bezels and deep 3D shading make it look retro as well. For Windows, added libfreetype 2.8.1 dlls. Made additional fixes for better font rendering. Win32 binaries are uploaded to https://github.com/buggins/dlangide/releases/tag/v0.8.2 To disable freetype, delete libfreetype-6.dll Consolas/Menlo are already selected if "Default" font is chosen for editors.
Re: DlangIDE v0.8.0 released
On Wednesday, 27 September 2017 at 08:00:21 UTC, Traktor Toni wrote: The shortcuts should be identical to Visual Studio, anything else is a waste of time to learn and configure. Visual Studio? Why not Vim? Why not Xamarin Studio? Why not IDEA? Why not Sublime or tons of other popular configurations? If you want Visual Studio, then just use Visual Studio. The IDE should contain the compiler for convenience No.
Re: DlangIDE v0.8.0 released
On Wednesday, 27 September 2017 at 07:23:30 UTC, Vadim Lopatin wrote: 1. Ctrl+F5 does. You can change shortcuts in ~/.dlangide/shortcuts.json (on Windows - in currentUser/AppData/.dlangide/shortcuts.json 2. Why should IDE include compiler. It's easy to download it from official site. 3. Is Code completion/GoToDefinition/Call tips/Doc comments enough? If so, it's present. No refactoring support. The shortcuts should be identical to Visual Studio, anything else is a waste of time to learn and configure. The IDE should contain the compiler for convenience, this way dlang.org can point to your download and say "install and press run" Code completion isnt working for me on windows, no clue what's missing.
Re: DlangIDE v0.8.0 released
On Wednesday, 27 September 2017 at 02:37:41 UTC, Traktor Toni wrote: On Tuesday, 26 September 2017 at 15:20:54 UTC, Vadim Lopatin wrote: New DlangIDE version is released. Now I'm considering DlangIDE as mostly usable. well don't. I just tested the windows build. 1. F5 doesnt build+run the application 2. I have to install dmd/D compiler separately 3. no intellisense This is not usable by any reasonable definition as an IDE. 1. Ctrl+F5 does. You can change shortcuts in ~/.dlangide/shortcuts.json (on Windows - in currentUser/AppData/.dlangide/shortcuts.json 2. Why should IDE include compiler. It's easy to download it from official site. 3. Is Code completion/GoToDefinition/Call tips/Doc comments enough? If so, it's present. No refactoring support.
Re: DlangIDE v0.8.0 released
On Tuesday, 26 September 2017 at 15:20:54 UTC, Vadim Lopatin wrote: New DlangIDE version is released. Prebuilt win32 binaries are available on https://github.com/buggins/dlangide/releases Milestone 0.8 is reached. List of 56 issues closed in this milestone: https://github.com/buggins/dlangide/milestone/2?closed=1 As well, many DlangUI changes were implemented for some of DlangIDE features. Thank you for everyone who reported issues / sent PRs and feature requests. Now I'm considering DlangIDE as mostly usable. Thanks for the new release! Just checked the windows version and it works well. waiting for the vim mode support (https://github.com/buggins/dlangide/issues/86) to switch it as my main IDE.
Re: DlangIDE v0.8.0 released
On Tuesday, 26 September 2017 at 15:20:54 UTC, Vadim Lopatin wrote: New DlangIDE version is released. Now I'm considering DlangIDE as mostly usable. well don't. I just tested the windows build. 1. F5 doesnt build+run the application 2. I have to install dmd/D compiler separately 3. no intellisense This is not usable by any reasonable definition as an IDE.
Re: DlangIDE v0.8.0 released
On Tuesday, 26 September 2017 at 15:20:54 UTC, Vadim Lopatin wrote: New DlangIDE version is released. I've only had time to take a quick look, but this IDE seems pretty good. I was surprised at how fast it loaded up, and how it downloaded the dependencies for the sample project on it's own. The text rendering needs work though. Honestly, I passed this editor up the first time I came across it because of the way the text looks. It reminds me of Visual Studio 2005. I couldn't help but assume the IDE was outdated and probably be abandon-ware. I would definitely change the default font to the platform-IDE defaults: Visual Studio: Consolas XCode: Menlo Regular Also, FreeType has made improvements lately, and now does a much better job of rendering fonts at small sizes(no so blurry). In particular 2.8.1, which just came out, implements a patent-free substitute for MS style clear-type rendering[1][2]. [1] http://i.imgur.com/nK8Xu.png [2] https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#FT_LOAD_TARGET_LCD The thick bezels and deep 3D shading make it look retro as well.
Re: DlangIDE v0.7.60 released
On Wednesday, 30 August 2017 at 07:44:54 UTC, Vadim Lopatin wrote: There are a lot of improvements in DlangIDE since last announcement. DlangIDE is a cross-platform IDE for D programming language. Project link: https://github.com/buggins/dlangide Release: https://github.com/buggins/dlangide/releases Good work! I think DlangIde should gain support from D foundation, to become a future part of the distribution like DUB. So in the end there might be one package (with batteries included :-)) to get started with D, with just one download. My suggestion is to place a special D Foundation donate button for several highly useful projects to collect money and attract more resources to improve them faster. Regards mt.
Re: DlangIDE update
On Monday, 25 January 2016 at 20:00:57 UTC, Basile B. wrote: On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin wrote: - integration of DML GUI builder (Delphi like) Can you explain me how do you think it can be done while there is even no official object streaming for D ? Just one thing: "@widget" is not enough. I don't know how to explain you the problem. But let's say you have an object inspector that displays the properties of an object. The D way doesn't work (templates). You won't be able to assign an untyped Object to an inspector if your object doesn't store runtime informations. It's just impossible. Furthemore properties are not just for the visual things... You won't be able to make a good run-time designer "à la Delphi" until the D standard library gets a serialization library. And when this will happen, you won't be able to use this serialization library because it won't work at run-time (object inspectors, property bindings, etc.). It won't work. Currently it's being done by adding lines like following into modules which contain widgets to publish: import dlangui.widgets.metadata; mixin(registerWidgets!(Widget, TextWidget, ScrollBar, CanvasWidget)()); Unless widgets are registered, it's impossible to create them from DML like this: auto layout = parseDML!VerticalLayout(q{ VerticalLayout { layoutWidth: fill; layoutHeight: fill; backgroundColor: #FF8080 TextWidget { text: "Input text here" } EditLine { id: edName } } }); Sample DML editor: dub run dlangui:dmledit
Re: DlangIDE update
On Monday, 25 January 2016 at 20:00:57 UTC, Basile B. wrote: On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin wrote: - integration of DML GUI builder (Delphi like) Can you explain me how do you think it can be done while there is even no official object streaming for D ? Just one thing: "@widget" is not enough. I don't know how to explain you the problem. But let's say you have an object inspector that displays the properties of an object. The D way doesn't work (templates). You won't be able to assign an untyped Object to an inspector if your object doesn't store runtime informations. It's just impossible. Furthemore properties are not just for the visual things... You won't be able to make a good run-time designer "à la Delphi" until the D standard library gets a serialization library. And when this will happen, you won't be able to use this serialization library because it won't work at run-time (object inspectors, property bindings, etc.). It won't work. Just register the metadata for the control types. I use https://shardsoft.com/stash/projects/SHARD/repos/shardtools/browse/source/ShardTools/Reflection.d and it seems to work fine, with the caveat that you have to do createMetadata!MyControl at some point (I generally do it in a mixin that all, in my case content processors, are supposed to include). Theoretically one could use rtInfo to make this automatic.
Re: DlangIDE project update
On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin wrote: DlangIDE is getting close to usable. DlangIDE is and IDE for D programming language written in D using DlangUI library. [...] Recent changes: DCD is now integrated as a library instead of using commandline dcdclient/dcdserver --contrubuted by Keywan Ghadami GDB support fixes Some crashes fixed
Re: DlangIDE - initial GDB debugger support
On Monday, 21 December 2015 at 18:03:32 UTC, Vadim Lopatin wrote: On Sunday, 20 December 2015 at 13:53:33 UTC, default0 wrote: This is quick progress! Awesome! I finally have some free time on my hands, so I deleted my workspace and tried to set things up following the How to hack on DlangIDE steps again. After doing that and trying to compile on Debug/Win32 I get output with a linker error: ... Any help in somehow getting this all to build would be much appreciated. Oh and of course "dub run" works just fine. For me, Visual Studio 2015 Community Edition + recent Visual D works ok. Try to create some helloworld project using VisualD and build it. Does it work? Clone dlangui and dlangide into the same directory (!!!) Inside dlangui directory create directory /deps and clone dependencies into it (as described in readme). Open dlangui/dlangui-msvc.sln In workspace, select dlangide as a startup project. Build dlangide. As well you can try to build other projects (e.g. dmledit, tetris, example1) - does it work? Simple Hello World project compiles and runs okay. I did do that. My directory structure is like this: DCode/dlangide DCode/dlangui DCode/dlangui/deps/ Which I assume is what you are describing. I just tried opening the setup I had from last time (ie dlangui-msvc.sln) and compile that (startup project set and all), now I get http://www.digitalmars.com/ctg/optlink.html OPTLINK : Warning 9: Unknown Option : OUT OPTLINK : Error 12: Number Overflow : Building Debug\dlangide.exe failed! I'm starting to think that either my VS or VD installation is cursed (I recently reinstalled VS though, so that shouldn't be it, maybe VD? But it generally works and I do have the latest stable version of it). I redid my setup again right now, though, but apparently the current master has some compiler errors: src\dlangui\core\files.d(264): Error: cannot implicitly convert expression (lastSlash + 1LU) of type ulong to uint src\dlangui\core\files.d(354): Error: cannot implicitly convert expression (start) of type ulong to uint. After crudely fixing these with cast(uint) I got it to build though. So, something about my computer is definitely cursed (I ran the EXACT same commands as always - basically straight copy-paste from the Readme in DlangIDE and I didn't notice any changes to this file since I first did the setup). Anyhow, it finally builds! \o/ Thanks a lot for the help and putting up with my incompetence at diagnosing issues through this, will probably start hacking away on things as time permits :-)
Re: DlangIDE - initial GDB debugger support
On Sunday, 20 December 2015 at 13:53:33 UTC, default0 wrote: This is quick progress! Awesome! I finally have some free time on my hands, so I deleted my workspace and tried to set things up following the How to hack on DlangIDE steps again. After doing that and trying to compile on Debug/Win32 I get output with a linker error: ... Any help in somehow getting this all to build would be much appreciated. Oh and of course "dub run" works just fine. For me, Visual Studio 2015 Community Edition + recent Visual D works ok. Try to create some helloworld project using VisualD and build it. Does it work? Clone dlangui and dlangide into the same directory (!!!) Inside dlangui directory create directory /deps and clone dependencies into it (as described in readme). Open dlangui/dlangui-msvc.sln In workspace, select dlangide as a startup project. Build dlangide. As well you can try to build other projects (e.g. dmledit, tetris, example1) - does it work?
Re: DlangIDE - initial GDB debugger support
On Friday, 18 December 2015 at 10:41:13 UTC, Vadim Lopatin wrote: On Thursday, 17 December 2015 at 08:27:05 UTC, ZombineDev wrote: GDB support improvements: stack and local variables windows added. This is quick progress! Awesome! I finally have some free time on my hands, so I deleted my workspace and tried to set things up following the How to hack on DlangIDE steps again. After doing that and trying to compile on Debug/Win32 I get output with a linker error: Building Debug\dlangide.exe... Microsoft (R) Incremental Linker Version 14.00.23026.0 Copyright (C) Microsoft Corporation. All rights reserved. "Debug\dlangide.obj,Debug\dlangide.exe,Debug\dlangide.map,C:\Users\Administrator\Documents\DCode\dlangui\Debug\dlangui.lib+" ole32.lib+ kernel32.lib+ user32.lib+ comctl32.lib+ comdlg32.lib+ psapi.lib+ user32.lib+ kernel32.lib/NOMAP/CO/NOI/DELEXE /SUBSYSTEM:WINDOWS LINK : fatal error LNK1104: Datei "Debug\dlangide.obj,Debug\dlangide.exe,Debug\dlangide.map,C:\Users\Administrator\Documents\DCode\dlangui\Debug\dlangui.lib+" kann nicht geöffnet werden. Building Debug\dlangide.exe failed! The dlangui project builds correctly btw (it's the only one in the solution that does). If I change to Debug/x64 I get a popup from VS telling me that it couldn't find the right project to launch since there are no startup projects set (even though I did set DlangIDE as startup project and it shows). If I explicitly tell it to build dlangide (right-click the project > build) I get another linker error telling me it cannot open "phobos64.lib". I do have phobos64.lib in the normal directory it is in after installation (ie windows/lib64), but for some reason it doesn't pick up on that. I even tried setting PATH directly to it, but that also didn't help. I started up ProcessMonitor and looked at where it was searching for phobos64.lib and the results were pretty worrying: C:\Users\Administrator\Documents\DCode\dlangide\phobos64.lib C:\Users\Administrator\Documents\DCode\dlangide\phobos64.lib C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\amd64\phobos64.lib C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\amd64\phobos64.lib C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x64\phobos64.lib C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x64\phobos64.lib C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64\phobos64.lib C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64\phobos64.lib C:\Users\Administrator\Documents\DCode\dlangide\phobos64.lib C:\Users\Administrator\Documents\DCode\dlangide\phobos64.lib C:\Users\Administrator\Documents\DCode\dlangide\phobos64.lib Where DCode\dlangide is obviously the path where I set things up. The rest seem to be things coming from automatic configuration VS has done at some point. I'm not sure how or where I can tell it to also look into my dmd installation paths. Now instead of going for a proper fix I simply attempted copying the phobos64.lib to the dlangide directory just to see if this would get it to compile: Turns out it doesn't. When trying to compile like that, I get a popup saying std.utf.UTFException@c:\s\d\rainers\phobos\std\utf.d(1109): Invalid UTF-8 sequence (at index 1) Is this an ICE? Is my Visual D installation broken (I did reinstall Visual D a few times by now already)? I'm using dmd 2.069.2 which is the most recent version to my knowledge. Pretty stumped about all of this and this looks a lot like something in my VS or VD setup is horribly broken (especially looking at the Win32 linker errors and the lack of properly configured search paths for phobos64.lib), but I'm not sure what exactly or how to go about fixing it/narrowing down the problem. Any help in somehow getting this all to build would be much appreciated. Oh and of course "dub run" works just fine.
Re: DlangIDE - initial GDB debugger support
On Thursday, 17 December 2015 at 08:27:05 UTC, ZombineDev wrote: Initial GDB debugging support is implemented. You can start / stop debugging, set breakpoints, step in/out/over, continue. TODO: stack trace & local variables display As well, following features implemented: - bookmarks in source files (toggle, go to next/prev) - recent workspace list Exellent progress! Congrats! GDB support improvements: stack and local variables windows added.
Re: DlangIDE - initial GDB debugger support
On Wednesday, 16 December 2015 at 12:50:25 UTC, Vadim Lopatin wrote: On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin wrote: Hello, DlangIDE is getting close to usable. DlangIDE is and IDE for D programming language written in D using DlangUI library. Project page: https://github.com/buggins/dlangide To try, use `dub fetch dlangide && dub run dlangide` try to create and run DlangUI Helloworld project, or open Tetris project from workspaces/tetris. Initial GDB debugging support is implemented. You can start / stop debugging, set breakpoints, step in/out/over, continue. TODO: stack trace & local variables display As well, following features implemented: - bookmarks in source files (toggle, go to next/prev) - recent workspace list Exellent progress! Congrats!
Re: DlangIDE - initial GDB debugger support
On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin wrote: Hello, DlangIDE is getting close to usable. DlangIDE is and IDE for D programming language written in D using DlangUI library. Project page: https://github.com/buggins/dlangide To try, use `dub fetch dlangide && dub run dlangide` try to create and run DlangUI Helloworld project, or open Tetris project from workspaces/tetris. Initial GDB debugging support is implemented. You can start / stop debugging, set breakpoints, step in/out/over, continue. TODO: stack trace & local variables display As well, following features implemented: - bookmarks in source files (toggle, go to next/prev) - recent workspace list
Re: DlangIDE update
On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin wrote: Hello, DlangIDE is getting close to usable. DlangIDE is and IDE for D programming language written in D using DlangUI library. Project page: https://github.com/buggins/dlangide Recent changes: Settings for DUB, GDB, DMD, LDC, GDC, xterm. Project settings allow to select toolchain, architecture for building, commandline parameters and working directory for running. Running of project is done as spawn instead of DUB run. External terminal is supported. New project wizard is improved. New source file wizard added. Workspace tree context menus allow to add/remove projects, files, build/clean/rebuild/run projects. Current activity: GDB debugging support.
Re: DlangIDE update
On Wednesday, 9 December 2015 at 05:47:07 UTC, Vadim Lopatin wrote: On Tuesday, 8 December 2015 at 18:18:29 UTC, default0 wrote: Sweet! Glad you're back and working on this! Was wanting to give it a shot, but typing } on my keyboard (german layout, right-alt + 0) did not actually insert the character into the opened document, so I gave up. What is a platform? Linux with SDL? How do I reproduce it? Could you please submit a bug on github? Done! One of the things I did manage to try was putting a readln() into the standard hello-world-console-app preset. Turns out that it causes dlangide to hang up because it's not actually possible to have user input (or to configure dlangide to start the project separately so a regular console window appears). Killing the started process also was not possible since the respective option to stop debugging is still grayed out. Input hangs because running currently is just invoking of `dub run` - with input and output redirected. Output is shown in IDE message log, but for input just nothing is sent. I'm working on debugging, and as well will implement running apps w/o debugger with separate console. Sounds good! When the typical edit-compile-debug cycle works this will probably already be enough to start using it for smaller projects :-) I still haven't written much D code and my time is somewhat limited, but if there are simple tasks you need to get done, I would be glad to offer help! It would be great. Will be looking through GitHub and try to set DlangUI etc. up locally, too and see what I can do :-) Here's to hoping this IDE will keep going and turn out well :-) I think for programming language, it's big + to have native GUI library and IDE written in the same language. Adding Delphi style GUI builder could attract newbies. Yeah, also has the advantage of being able to work on DlangIDE while using DlangIDE, once it's come along some ways.
Re: DlangIDE update
On Wednesday, 9 December 2015 at 09:18:37 UTC, default0 wrote: One of the things I did manage to try was putting a readln() into the standard hello-world-console-app preset. Turns out that it causes dlangide to hang up because it's not actually possible to have user input (or to configure dlangide to start the project separately so a regular console window appears). Killing the started process also was not possible since the respective option to stop debugging is still grayed out. Input hangs because running currently is just invoking of `dub run` - with input and output redirected. Output is shown in IDE message log, but for input just nothing is sent. I'm working on debugging, and as well will implement running apps w/o debugger with separate console. Sounds good! When the typical edit-compile-debug cycle works this will probably already be enough to start using it for smaller projects :-) Running in external console is implemented. Run button now starts dub build, and if build is successful executes program in external console. Stop button added. Xterm is used as external console on posix. Tested under windows and linux.
Re: DlangIDE update
On Wednesday, 9 December 2015 at 09:18:37 UTC, default0 wrote: I still haven't written much D code and my time is somewhat limited, but if there are simple tasks you need to get done, I would be glad to offer help! It would be great. Will be looking through GitHub and try to set DlangUI etc. up locally, too and see what I can do :-) Added development environment setup instructions (VisualD, Mono-D) to README.
Re: DlangIDE update
On Wednesday, 9 December 2015 at 15:31:46 UTC, default0 wrote: On Wednesday, 9 December 2015 at 12:10:33 UTC, Vadim Lopatin Thanks for the instructions! I followed them, but when I tried to build in Visual Studio, I got the following error: C:\Users\Administrator\Documents\DCode\DlangUI\src\dlangui\graphics\images.d(34): Error: module io is in file 'dlib\image\io\io.d' which cannot be read ... I checked the import path[9] it listed, and relative to that path, there is the dlib/image/io/io.d file (ie in "C:\Users\Administrator\Documents\DCode\DlangUI\..\dlib\dlib\image\io\io.d"). I'm not sure why it doesn't find that file, despite listing a path that contains this file in the imports (and has the necessary permissions for reading it, and the file obviously not being used by anything). I'm using Visual D. Pretty stumped on that right now, building with dub obviously works, and I suppose I could then attach the debugger from within Visual Studio, but that's not a workflow I'm looking forward to (nor do I know if it works the way I hope)... Looks like you have opened obsolete project. Deps should be in dlangui/deps, not in dlangui/.. Probably, you have used old build instructions. See at end of dlangide's README.md Open dlangui/dlangui-msvc.sln
Re: DlangIDE update
On Wednesday, 9 December 2015 at 16:26:14 UTC, Vadim Lopatin wrote: On Wednesday, 9 December 2015 at 15:31:46 UTC, default0 wrote: Looks like you have opened obsolete project. Deps should be in dlangui/deps, not in dlangui/.. Probably, you have used old build instructions. See at end of dlangide's README.md Open dlangui/dlangui-msvc.sln I did open that solution (I even double checked I got the right one). So no, that's not it, I'm afraid :/
Re: DlangIDE update
I should mention that the dlangui\.. is some build artifact, too, the files are in dlangui\deps locally (it probably tries to shorten the path name?)
Re: DlangIDE update
On Tuesday, 8 December 2015 at 18:18:29 UTC, default0 wrote: On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin wrote: Hello, DlangIDE is getting close to usable. DlangIDE is and IDE for D programming language written in D using DlangUI library. Sweet! Glad you're back and working on this! Was wanting to give it a shot, but typing } on my keyboard (german layout, right-alt + 0) did not actually insert the character into the opened document, so I gave up. As a European, I have a secret trick about keyboards, that I "got for free" with my Kaypro-II computer (the blue-key version), back in 1984. Always use the en-US keyboard when programming. Period! Keys, such as []{}\/?|*$ etc. are in very handy and quick places. The inventors of programming languages and operating systems have put the most used characters in easy-to-reach keys. -- And on top of it, all of the funky key combinations just work. On Linux, I merely press both Shifts to temporarily switch to my native language, which I only need for text strings, nothing else. I'd expect Windows and Mac to provide something similar. After a couple of weeks, you'll never look back.
Re: DlangIDE update
On Wednesday, 9 December 2015 at 19:24:19 UTC, default0 wrote: I should mention that the dlangui\.. is some build artifact, too, the files are in dlangui\deps locally (it probably tries to shorten the path name?) I found that I forgot to change project import paths for all configurations. I used Debug/X64 only so did not notice it. You probably using Debug/win32. Fixed. Project file is updated.
Re: DlangIDE update
On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin wrote: Hello, DlangIDE is getting close to usable. DlangIDE is and IDE for D programming language written in D using DlangUI library. Sweet! Glad you're back and working on this! Was wanting to give it a shot, but typing } on my keyboard (german layout, right-alt + 0) did not actually insert the character into the opened document, so I gave up. Most of the UI stuff looks really neat (especially like the directory structure preview when creating a new project/workspace), but obviously still needs a lot of work (you cannot drag dialogs around, fe). One of the things I did manage to try was putting a readln() into the standard hello-world-console-app preset. Turns out that it causes dlangide to hang up because it's not actually possible to have user input (or to configure dlangide to start the project separately so a regular console window appears). Killing the started process also was not possible since the respective option to stop debugging is still grayed out. From the looks of it, this is very promising though. I like the Workspace layout and the general feel of the IDE (very responsive, very clean) and it all kind of makes me wish it wouldn already have enough features (especially debugging!) to be a viable option. I still haven't written much D code and my time is somewhat limited, but if there are simple tasks you need to get done, I would be glad to offer help! Here's to hoping this IDE will keep going and turn out well :-)
Re: DlangIDE update
On Tuesday, 8 December 2015 at 15:58:43 UTC, Vadim Lopatin wrote: Hello, DlangIDE is getting close to usable. DlangIDE is and IDE for D programming language written in D using DlangUI library. [...] Congrats! Glad to see that project is not abandoned.
Re: DlangIDE update
Awesome! Is there any chance of bundling DCD? It would be a lot more convenient if I didn't even have to think about getting another completion program and running it on my project.
Re: DlangIDE update
On Tuesday, 8 December 2015 at 18:18:29 UTC, default0 wrote: Sweet! Glad you're back and working on this! Was wanting to give it a shot, but typing } on my keyboard (german layout, right-alt + 0) did not actually insert the character into the opened document, so I gave up. What is a platform? Linux with SDL? How do I reproduce it? Could you please submit a bug on github? Most of the UI stuff looks really neat (especially like the directory structure preview when creating a new project/workspace), but obviously still needs a lot of work (you cannot drag dialogs around, fe). Dialogs are currently displayed as popup widgets instead of separate windows due to issue with OpenGL contexts under Win32 when multiple windows are being used. One of the things I did manage to try was putting a readln() into the standard hello-world-console-app preset. Turns out that it causes dlangide to hang up because it's not actually possible to have user input (or to configure dlangide to start the project separately so a regular console window appears). Killing the started process also was not possible since the respective option to stop debugging is still grayed out. Input hangs because running currently is just invoking of `dub run` - with input and output redirected. Output is shown in IDE message log, but for input just nothing is sent. I'm working on debugging, and as well will implement running apps w/o debugger with separate console. From the looks of it, this is very promising though. I like the Workspace layout and the general feel of the IDE (very responsive, very clean) and it all kind of makes me wish it wouldn already have enough features (especially debugging!) to be a viable option. Debugging is high priority task now. I still haven't written much D code and my time is somewhat limited, but if there are simple tasks you need to get done, I would be glad to offer help! It would be great. Here's to hoping this IDE will keep going and turn out well :-) I think for programming language, it's big + to have native GUI library and IDE written in the same language. Adding Delphi style GUI builder could attract newbies.
Re: DlangIDE update
On Tuesday, 8 December 2015 at 23:45:47 UTC, Chris Wright wrote: Awesome! Is there any chance of bundling DCD? It would be a lot more convenient if I didn't even have to think about getting another completion program and running it on my project. For win32, it's bundled with dcd-client and dcd-server binaries (although of quite old version). For mac, I suppose there should not be a problem too to add dcd binaries. But for Linux I'm unsure how to build DCD which is able to work on all distributions.
Re: DlangIDE
On Friday, 22 May 2015 at 13:12:28 UTC, JohnnyK wrote: Thanks for the reply. Is the IDE ever going to be a full install package that can be deployed like the compiler (ie.. Windows setup, Linux package, or Mac install)? IMHO dub is too confusing, very proprietary and is not user friendly at all for people that are new to the language. An IDE with a nice install package for the OS your using would put it on par with every other language out there and make it seem more like a professional language system. As far as I remember from the last time I built DlangIDE, it's as simple as cloning the source, opening a command prompt, and just typing dub.
Re: DlangIDE
On 23/05/2015 1:12 a.m., JohnnyK wrote: On Wednesday, 13 May 2015 at 10:26:10 UTC, Vadim Lopatin wrote: On Tuesday, 12 May 2015 at 21:03:05 UTC, JohnnyK wrote: On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide It's in alpha stage but already allows: * Open DUB based projects * Edit source files * Build and run projects using DUB * D source code syntax highlight Requires DUB for building projects. Features missing so far: * Debugging support * Code completion * Code folding * Go to definition * Smart indentation Best regards, Vadim Is DUB required to install and use the IDE? DUB is required to build IDE, and to build and run projects using IDE. Thanks for the reply. Is the IDE ever going to be a full install package that can be deployed like the compiler (ie.. Windows setup, Linux package, or Mac install)? IMHO dub is too confusing, very proprietary and is not user friendly at all for people that are new to the language. An IDE with a nice install package for the OS your using would put it on par with every other language out there and make it seem more like a professional language system. Dub is not at all proprietary. It is the exact opposite. However it is meant for building dev copies not install copies of projects. Aka its not an installer. Regarding dlangide's future no idea. My guess is till most features are implemented, installation packages will take a back seat.
Re: DlangIDE
On Wednesday, 13 May 2015 at 10:26:10 UTC, Vadim Lopatin wrote: On Tuesday, 12 May 2015 at 21:03:05 UTC, JohnnyK wrote: On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide It's in alpha stage but already allows: * Open DUB based projects * Edit source files * Build and run projects using DUB * D source code syntax highlight Requires DUB for building projects. Features missing so far: * Debugging support * Code completion * Code folding * Go to definition * Smart indentation Best regards, Vadim Is DUB required to install and use the IDE? DUB is required to build IDE, and to build and run projects using IDE. Thanks for the reply. Is the IDE ever going to be a full install package that can be deployed like the compiler (ie.. Windows setup, Linux package, or Mac install)? IMHO dub is too confusing, very proprietary and is not user friendly at all for people that are new to the language. An IDE with a nice install package for the OS your using would put it on par with every other language out there and make it seem more like a professional language system.
Re: DlangIDE
On Tuesday, 12 May 2015 at 21:03:05 UTC, JohnnyK wrote: On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide It's in alpha stage but already allows: * Open DUB based projects * Edit source files * Build and run projects using DUB * D source code syntax highlight Requires DUB for building projects. Features missing so far: * Debugging support * Code completion * Code folding * Go to definition * Smart indentation Best regards, Vadim Is DUB required to install and use the IDE? DUB is required to build IDE, and to build and run projects using IDE.
Re: DlangIDE
On Friday, 8 May 2015 at 17:26:18 UTC, Chris wrote: On Tuesday, 10 March 2015 at 10:39:16 UTC, Vadim Lopatin wrote: On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide It's in alpha stage but already allows: * Open DUB based projects * Edit source files * Build and run projects using DUB * D source code syntax highlight Requires DUB for building projects. Features missing so far: * Debugging support * Code completion * Code folding * Go to definition * Smart indentation Recent changes in DlangIDE: Settings dialog added (editor settings and UI options, including options for tuning of font rendering) Dark theme implemented (available for all DlangUI apps as well) Search feature - contributed by Freakazo Best regards, Vadim Does DlangIDE offer plugin mechanisms? Would be great, if we could write plugins. Plugins are not planned in nearest future. IMHO so far it's better just to embed functionality into app.
Re: DlangIDE
On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide It's in alpha stage but already allows: * Open DUB based projects * Edit source files * Build and run projects using DUB * D source code syntax highlight Requires DUB for building projects. Features missing so far: * Debugging support * Code completion * Code folding * Go to definition * Smart indentation Best regards, Vadim Is DUB required to install and use the IDE?
Re: DlangIDE
On Tuesday, 10 March 2015 at 10:39:16 UTC, Vadim Lopatin wrote: On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide It's in alpha stage but already allows: * Open DUB based projects * Edit source files * Build and run projects using DUB * D source code syntax highlight Requires DUB for building projects. Features missing so far: * Debugging support * Code completion * Code folding * Go to definition * Smart indentation Recent changes in DlangIDE: Settings dialog added (editor settings and UI options, including options for tuning of font rendering) Dark theme implemented (available for all DlangUI apps as well) Search feature - contributed by Freakazo Best regards, Vadim Does DlangIDE offer plugin mechanisms? Would be great, if we could write plugins.
Re: DlangIDE
On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide It's in alpha stage but already allows: * Open DUB based projects * Edit source files * Build and run projects using DUB * D source code syntax highlight Requires DUB for building projects. Features missing so far: * Debugging support * Code completion * Code folding * Go to definition * Smart indentation Recent changes in DlangIDE: Settings dialog added (editor settings and UI options, including options for tuning of font rendering) Dark theme implemented (available for all DlangUI apps as well) Search feature - contributed by Freakazo Best regards, Vadim
Re: DlangIDE
On Monday, 2 March 2015 at 10:28:54 UTC, Vadim Lopatin wrote: On Sunday, 1 March 2015 at 10:16:32 UTC, Rainer Schuetze wrote: On 28.02.2015 10:50, Vadim Lopatin wrote: I suspect that is implemented by the Visual Studio debugger. Have you tried creating an IDebugPortSupplier2? https://msdn.microsoft.com/en-us/library/bb145819.aspx It might also only be possible from within Visual Studio, though. To host a debug engine you might have to implement these yourself... To create IDebugPortSupplier2, I need at least GUID for class implementing it. You can find some in the registry, e.g.: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0_Config\AD7Metrics\Engine\{3B476D35-A401-11D2-AAD4-00C04F990171}\PortSupplier I guess you can only create them while running inside Visual Studio, so that might not really help any further... Tried several CLSIDs from registry, but always getting REGDB_E_CLASSNOTREG Trying to use same approach as in MagoWrapper as suggested by michaelc37 http://forum.dlang.org/thread/mchmzlgdnzmcgwiti...@forum.dlang.org#post-zeqckcayqzkpsfxhznlz:40forum.dlang.org
Re: DlangIDE
On Sunday, 1 March 2015 at 10:16:32 UTC, Rainer Schuetze wrote: On 28.02.2015 10:50, Vadim Lopatin wrote: I suspect that is implemented by the Visual Studio debugger. Have you tried creating an IDebugPortSupplier2? https://msdn.microsoft.com/en-us/library/bb145819.aspx It might also only be possible from within Visual Studio, though. To host a debug engine you might have to implement these yourself... To create IDebugPortSupplier2, I need at least GUID for class implementing it. You can find some in the registry, e.g.: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0_Config\AD7Metrics\Engine\{3B476D35-A401-11D2-AAD4-00C04F990171}\PortSupplier I guess you can only create them while running inside Visual Studio, so that might not really help any further... Tried several CLSIDs from registry, but always getting REGDB_E_CLASSNOTREG
Re: DlangIDE
On 28.02.2015 10:50, Vadim Lopatin wrote: I suspect that is implemented by the Visual Studio debugger. Have you tried creating an IDebugPortSupplier2? https://msdn.microsoft.com/en-us/library/bb145819.aspx It might also only be possible from within Visual Studio, though. To host a debug engine you might have to implement these yourself... To create IDebugPortSupplier2, I need at least GUID for class implementing it. You can find some in the registry, e.g.: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0_Config\AD7Metrics\Engine\{3B476D35-A401-11D2-AAD4-00C04F990171}\PortSupplier I guess you can only create them while running inside Visual Studio, so that might not really help any further...
Re: DlangIDE
On 26.02.2015 11:17, Vadim Lopatin wrote: On Wednesday, 18 February 2015 at 08:21:19 UTC, Rainer Schuetze wrote: On 17.02.2015 20:41, Vadim Lopatin wrote: It looks like we need to develop some universal debugger library. For linux, it can use gdb as a backend. For windows - I'm not sure. Is there any console debugger which can debug dmd generated executables? I've checked windbg shipped with dmd, but it looks like it is GUI, and cannot be used as backend via console. Trying to play with my own implementation of debugger using win32 API. Probably there is already some debugger interface written in D? On Windows, there is mago (https://github.com/rainers/mago), a debug engine that integrates with Visual Studio, but it's actually not limited to that. It might be rather complicated to host it, though, you'll have to interface with IDebugEngine2 and all its subclasses (https://msdn.microsoft.com/en-us/library/bb145310.aspx). If you want a text interface, the Debugging Tools for Windows (https://msdn.microsoft.com/en-us/windows/hardware/hh852365) also contain cdb, a command line version of windbg (forget about the one distributed with dmd). For Win32, you'll have to convert the old CodeView debug info written by optlink to PDB format using cv2pdb, though. Trying to integrate MAGO. I can easy create instance of MAGO DebugEngine, but having problems with obtaining of IDebugPort which is needed for invoking of LaunchSuspended. It looks like to get IDebugPort, I need IDebugCoreServer2 instance. Does anybody know how to do it? I suspect that is implemented by the Visual Studio debugger. Have you tried creating an IDebugPortSupplier2? https://msdn.microsoft.com/en-us/library/bb145819.aspx It might also only be possible from within Visual Studio, though. To host a debug engine you might have to implement these yourself...
Re: DlangIDE
On Saturday, 28 February 2015 at 08:06:59 UTC, Rainer Schuetze wrote: On 26.02.2015 11:17, Vadim Lopatin wrote: On Wednesday, 18 February 2015 at 08:21:19 UTC, Rainer Schuetze wrote: On 17.02.2015 20:41, Vadim Lopatin wrote: It looks like we need to develop some universal debugger library. For linux, it can use gdb as a backend. For windows - I'm not sure. Is there any console debugger which can debug dmd generated executables? I've checked windbg shipped with dmd, but it looks like it is GUI, and cannot be used as backend via console. Trying to play with my own implementation of debugger using win32 API. Probably there is already some debugger interface written in D? On Windows, there is mago (https://github.com/rainers/mago), a debug engine that integrates with Visual Studio, but it's actually not limited to that. It might be rather complicated to host it, though, you'll have to interface with IDebugEngine2 and all its subclasses (https://msdn.microsoft.com/en-us/library/bb145310.aspx). If you want a text interface, the Debugging Tools for Windows (https://msdn.microsoft.com/en-us/windows/hardware/hh852365) also contain cdb, a command line version of windbg (forget about the one distributed with dmd). For Win32, you'll have to convert the old CodeView debug info written by optlink to PDB format using cv2pdb, though. Trying to integrate MAGO. I can easy create instance of MAGO DebugEngine, but having problems with obtaining of IDebugPort which is needed for invoking of LaunchSuspended. It looks like to get IDebugPort, I need IDebugCoreServer2 instance. Does anybody know how to do it? I suspect that is implemented by the Visual Studio debugger. Have you tried creating an IDebugPortSupplier2? https://msdn.microsoft.com/en-us/library/bb145819.aspx It might also only be possible from within Visual Studio, though. To host a debug engine you might have to implement these yourself... To create IDebugPortSupplier2, I need at least GUID for class implementing it.
Re: DlangIDE
On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide Recent changes: Package dependencies are now visible in workspace tree. When DUB project is being loaded, all DUB dependency packages are being loaded into workspace tree too. Now it's possible to use GoToDefinition and autocompletion using dependencies. Limitation: so far dependency list is being read from file dub.selections.json on project loading. If dub build was never executed, try run build or dub Upgrade Dependencies, and then reload workspace.
Re: DlangIDE
On Wednesday, 18 February 2015 at 08:21:19 UTC, Rainer Schuetze wrote: On 17.02.2015 20:41, Vadim Lopatin wrote: It looks like we need to develop some universal debugger library. For linux, it can use gdb as a backend. For windows - I'm not sure. Is there any console debugger which can debug dmd generated executables? I've checked windbg shipped with dmd, but it looks like it is GUI, and cannot be used as backend via console. Trying to play with my own implementation of debugger using win32 API. Probably there is already some debugger interface written in D? On Windows, there is mago (https://github.com/rainers/mago), a debug engine that integrates with Visual Studio, but it's actually not limited to that. It might be rather complicated to host it, though, you'll have to interface with IDebugEngine2 and all its subclasses (https://msdn.microsoft.com/en-us/library/bb145310.aspx). If you want a text interface, the Debugging Tools for Windows (https://msdn.microsoft.com/en-us/windows/hardware/hh852365) also contain cdb, a command line version of windbg (forget about the one distributed with dmd). For Win32, you'll have to convert the old CodeView debug info written by optlink to PDB format using cv2pdb, though. Trying to integrate MAGO. I can easy create instance of MAGO DebugEngine, but having problems with obtaining of IDebugPort which is needed for invoking of LaunchSuspended. It looks like to get IDebugPort, I need IDebugCoreServer2 instance. Does anybody know how to do it? Best regards, Vadim
Re: DlangIDE
On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide Project update: Smart autoindents implemented for D source code editors. So far, can be configured only manually in settings file: ~/.dlangide/settings.json: { editors: { textEditor: { useSpacesForTabs: true, tabSize: 4, smartIndents: true, smartIndentsAfterPaste: true } }, interface: { theme: theme_default, language: en } } Best regards, Vadim
Re: DlangIDE
On 17.02.2015 20:41, Vadim Lopatin wrote: It looks like we need to develop some universal debugger library. For linux, it can use gdb as a backend. For windows - I'm not sure. Is there any console debugger which can debug dmd generated executables? I've checked windbg shipped with dmd, but it looks like it is GUI, and cannot be used as backend via console. Trying to play with my own implementation of debugger using win32 API. Probably there is already some debugger interface written in D? On Windows, there is mago (https://github.com/rainers/mago), a debug engine that integrates with Visual Studio, but it's actually not limited to that. It might be rather complicated to host it, though, you'll have to interface with IDebugEngine2 and all its subclasses (https://msdn.microsoft.com/en-us/library/bb145310.aspx). If you want a text interface, the Debugging Tools for Windows (https://msdn.microsoft.com/en-us/windows/hardware/hh852365) also contain cdb, a command line version of windbg (forget about the one distributed with dmd). For Win32, you'll have to convert the old CodeView debug info written by optlink to PDB format using cv2pdb, though.
Re: DlangIDE
On Wednesday, 18 February 2015 at 08:21:19 UTC, Rainer Schuetze wrote: On 17.02.2015 20:41, Vadim Lopatin wrote: It looks like we need to develop some universal debugger library. For linux, it can use gdb as a backend. For windows - I'm not sure. Is there any console debugger which can debug dmd generated executables? I've checked windbg shipped with dmd, but it looks like it is GUI, and cannot be used as backend via console. Trying to play with my own implementation of debugger using win32 API. Probably there is already some debugger interface written in D? On Windows, there is mago (https://github.com/rainers/mago), a debug engine that integrates with Visual Studio, but it's actually not limited to that. It might be rather complicated to host it, though, you'll have to interface with IDebugEngine2 and all its subclasses (https://msdn.microsoft.com/en-us/library/bb145310.aspx). If you want a text interface, the Debugging Tools for Windows (https://msdn.microsoft.com/en-us/windows/hardware/hh852365) also contain cdb, a command line version of windbg (forget about the one distributed with dmd). For Win32, you'll have to convert the old CodeView debug info written by optlink to PDB format using cv2pdb, though. I'll check mago, thank you!
Re: DlangIDE
On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide It's in alpha stage but already allows: * Open DUB based projects * Edit source files * Build and run projects using DUB * D source code syntax highlight Requires DUB for building projects. Features missing so far: * Debugging support * Code completion * Code folding * Go to definition * Smart indentation Best regards, Vadim Created thread DlangIDE in D.IDE for discussion. http://forum.dlang.org/thread/lfcyzzjcavedxhici...@forum.dlang.org
Re: DlangIDE
On Tuesday, 17 February 2015 at 10:42:18 UTC, Chris wrote: On Monday, 16 February 2015 at 09:11:19 UTC, Vadim Lopatin wrote: On Thursday, 12 February 2015 at 14:24:05 UTC, ketmar wrote: i don't want to give you any orders, but i think that it's better to make shortcuts user-definable ASAP. you may skip GUI for that now and just make a keymap file of some kind, and it will still be much better than hard-coded shourtcuts. Keyboard shortcuts settings support is added. For linux and macos settings are placed in file ~/.dlangide/shortcuts.json For Windows, C:\Users\user\AppData\Roaming\.dlangide\shortcuts.json If no such file exists, it's being created on DlangIDE start, filling with default values to simplify configuration. Great stuff. Just occured to me that font size, tab width and colors are very important too. I for my part prefer a dark background. It's easier on the eye, when you spend a lot of time looking at the screen. Texatadept and other editors have themes to choose from (and allow custom themes). That would be a great addition further down the road. Dark theme and settings editors are planned for nearest future.
Re: DlangIDE
On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide It's in alpha stage but already allows: * Open DUB based projects * Edit source files * Build and run projects using DUB * D source code syntax highlight Requires DUB for building projects. Features missing so far: * Debugging support * Code completion * Code folding * Go to definition * Smart indentation Best regards, Vadim Project update: Hans-Albert Maritz (Freakazo) sent pull request with implementation of DCD integration. Now DlangIDE supports autocompletion (Ctrl+Space or Ctrl+Shift+G) and GoToDefinition (Ctrl+G or F12). DlangIDE becomes real IDE :) For using of autocompletion, you need to install DCD. DlangIDE starts its own copy of daemon on port 9167. dcd-client and dcd-server must be in the same directory as dlangide executable or in one of PATH dirs. Now most wanted feature is debugging support (IMHO).
Re: DlangIDE
On Tuesday, 17 February 2015 at 17:53:56 UTC, extrawurst wrote: On Tuesday, 17 February 2015 at 13:48:27 UTC, Vadim Lopatin wrote: Project update: Hans-Albert Maritz (Freakazo) sent pull request with implementation of DCD integration. Now DlangIDE supports autocompletion (Ctrl+Space or Ctrl+Shift+G) and GoToDefinition (Ctrl+G or F12). DlangIDE becomes real IDE :) For using of autocompletion, you need to install DCD. DlangIDE starts its own copy of daemon on port 9167. dcd-client and dcd-server must be in the same directory as dlangide executable or in one of PATH dirs. Now most wanted feature is debugging support (IMHO). I think soo too. Whats the way to go there for targeting all these platforms ? It looks like we need to develop some universal debugger library. For linux, it can use gdb as a backend. For windows - I'm not sure. Is there any console debugger which can debug dmd generated executables? I've checked windbg shipped with dmd, but it looks like it is GUI, and cannot be used as backend via console. Trying to play with my own implementation of debugger using win32 API. Probably there is already some debugger interface written in D?
Re: DlangIDE
On Tuesday, 17 February 2015 at 13:48:27 UTC, Vadim Lopatin wrote: For using of autocompletion, you need to install DCD. DlangIDE starts its own copy of daemon on port 9167. dcd-client and dcd-server must be in the same directory as dlangide executable or in one of PATH dirs. Now most wanted feature is debugging support (IMHO). Thank you very much! And why not use the libdparse library directly? It will give much more possibilities.
Re: DlangIDE
On Tuesday, 17 February 2015 at 13:48:27 UTC, Vadim Lopatin wrote: On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide It's in alpha stage but already allows: * Open DUB based projects * Edit source files * Build and run projects using DUB * D source code syntax highlight Requires DUB for building projects. Features missing so far: * Debugging support * Code completion * Code folding * Go to definition * Smart indentation Best regards, Vadim Project update: Hans-Albert Maritz (Freakazo) sent pull request with implementation of DCD integration. Now DlangIDE supports autocompletion (Ctrl+Space or Ctrl+Shift+G) and GoToDefinition (Ctrl+G or F12). DlangIDE becomes real IDE :) For using of autocompletion, you need to install DCD. DlangIDE starts its own copy of daemon on port 9167. dcd-client and dcd-server must be in the same directory as dlangide executable or in one of PATH dirs. Now most wanted feature is debugging support (IMHO). I think soo too. Whats the way to go there for targeting all these platforms ?
Re: DlangIDE
On Monday, 16 February 2015 at 09:11:19 UTC, Vadim Lopatin wrote: On Thursday, 12 February 2015 at 14:24:05 UTC, ketmar wrote: i don't want to give you any orders, but i think that it's better to make shortcuts user-definable ASAP. you may skip GUI for that now and just make a keymap file of some kind, and it will still be much better than hard-coded shourtcuts. Keyboard shortcuts settings support is added. For linux and macos settings are placed in file ~/.dlangide/shortcuts.json For Windows, C:\Users\user\AppData\Roaming\.dlangide\shortcuts.json If no such file exists, it's being created on DlangIDE start, filling with default values to simplify configuration. Great stuff. Just occured to me that font size, tab width and colors are very important too. I for my part prefer a dark background. It's easier on the eye, when you spend a lot of time looking at the screen. Texatadept and other editors have themes to choose from (and allow custom themes). That would be a great addition further down the road.
Re: DlangIDE
On Tuesday, 17 February 2015 at 17:55:14 UTC, data man wrote: On Tuesday, 17 February 2015 at 13:48:27 UTC, Vadim Lopatin wrote: For using of autocompletion, you need to install DCD. DlangIDE starts its own copy of daemon on port 9167. dcd-client and dcd-server must be in the same directory as dlangide executable or in one of PATH dirs. Now most wanted feature is debugging support (IMHO). Thank you very much! And why not use the libdparse library directly? It will give much more possibilities. Good idea. Let me check it.
Re: DlangIDE
On Tuesday, 17 February 2015 at 19:41:10 UTC, Vadim Lopatin wrote: On Tuesday, 17 February 2015 at 17:53:56 UTC, extrawurst wrote: On Tuesday, 17 February 2015 at 13:48:27 UTC, Vadim Lopatin wrote: Project update: Hans-Albert Maritz (Freakazo) sent pull request with implementation of DCD integration. Now DlangIDE supports autocompletion (Ctrl+Space or Ctrl+Shift+G) and GoToDefinition (Ctrl+G or F12). DlangIDE becomes real IDE :) For using of autocompletion, you need to install DCD. DlangIDE starts its own copy of daemon on port 9167. dcd-client and dcd-server must be in the same directory as dlangide executable or in one of PATH dirs. Now most wanted feature is debugging support (IMHO). I think soo too. Whats the way to go there for targeting all these platforms ? It looks like we need to develop some universal debugger library. For linux, it can use gdb as a backend. For windows - I'm not sure. Is there any console debugger which can debug dmd generated executables? I've checked windbg shipped with dmd, but it looks like it is GUI, and cannot be used as backend via console. Trying to play with my own implementation of debugger using win32 API. Probably there is already some debugger interface written in D? maybe this helps: http://wiki.dlang.org/Debuggers
Re: DlangIDE
On Friday, 13 February 2015 at 14:47:08 UTC, Vadim Lopatin wrote: On Friday, 13 February 2015 at 10:00:33 UTC, Chris wrote: On Thursday, 12 February 2015 at 14:16:49 UTC, Vadim Lopatin wrote: On Thursday, 12 February 2015 at 09:55:53 UTC, Chris wrote: On Wednesday, 11 February 2015 at 17:49:53 UTC, Vadim Lopatin Got an error message after cloning and running dub run Compiling using dmd... Error: cannot read file ../../.dub/packages/dlangui-master/examples/helloworld/bin/helloworld.d FAIL .dub/build/application-debug-linux.posix-x86_64-dmd_2066-51E212BAD4DDA2DE13262C4DBFEB2E69/ dlangide executable Error executing command run: dmd failed with exit code 1. I used dmd 2.066.1 Btw, have you thought of integrating the version manager dvm somehow. I find it extremely useful, especially when upgrading my code to a new version of dmd. I'm really looking forward to using this IDE for my D projects one day. Following works for me: dub fetch dlangui dub run dlangui:helloworld dub run dlangui:example1 dub run dlangui:tetris I see no errors. DMD is v2.066.0 and DUB is 0.9.22 That works for me too, but the error I got was from this: git clone https://github.com/buggins/dlangide.git cd dlangide dub run Building dlangide 0.2.1 configuration application, build type debug. Compiling using dmd... Error: cannot read file ../../.dub/packages/dlangui-master/examples/helloworld/bin/helloworld.d FAIL .dub/build/application-debug-linux.posix-x86_64-dmd_2066-51E212BAD4DDA2DE13262C4DBFEB2E69/ dlangide executable Error executing command run: dmd failed with exit code 1. (dmd 2.066.0) Looks like DUB issue. It selects dlangui:helloworld instead if dlangui git clone https://github.com/buggins/dlangide.git cd dlangide dub run It's working for me. $ dub run WARNING: A deprecated branch based version specification is used for the dependency dlangui. Please use numbered version s instead. Also note that you can still use the dub.selections.json file to override a certain dependency to use a branc h instead. Building dlib ~master configuration library, build type debug. Running dmd... Target derelict-util 1.9.1 is up to date. Use --force to rebuild. Target derelict-ft 1.0.2 is up to date. Use --force to rebuild. Target derelict-sdl2 1.9.2 is up to date. Use --force to rebuild. Target derelict-gl3 1.0.12 is up to date. Use --force to rebuild. Building dlangui ~master configuration library, build type debug. Running dmd... Building dlangide 0.2.3 configuration application, build type debug. Compiling using dmd... Linking... Copying files for dlangui... Running .\bin\dlangide.exe Try dub upgrade --force-remove As well, check your DUB version. 0.9.22 should work ok. dub upgrade --force-remove This worked, thanks. I think I had this issue before, maybe you could add it as a note on your github page. My dub version is: DUB version 0.9.22, built on Sep 16 2014
Re: DlangIDE
On Thursday, 12 February 2015 at 14:24:05 UTC, ketmar wrote: i don't want to give you any orders, but i think that it's better to make shortcuts user-definable ASAP. you may skip GUI for that now and just make a keymap file of some kind, and it will still be much better than hard-coded shourtcuts. Keyboard shortcuts settings support is added. For linux and macos settings are placed in file ~/.dlangide/shortcuts.json For Windows, C:\Users\user\AppData\Roaming\.dlangide\shortcuts.json If no such file exists, it's being created on DlangIDE start, filling with default values to simplify configuration.
Re: DlangIDE
On Thursday, 12 February 2015 at 14:16:49 UTC, Vadim Lopatin wrote: On Thursday, 12 February 2015 at 09:55:53 UTC, Chris wrote: On Wednesday, 11 February 2015 at 17:49:53 UTC, Vadim Lopatin Got an error message after cloning and running dub run Compiling using dmd... Error: cannot read file ../../.dub/packages/dlangui-master/examples/helloworld/bin/helloworld.d FAIL .dub/build/application-debug-linux.posix-x86_64-dmd_2066-51E212BAD4DDA2DE13262C4DBFEB2E69/ dlangide executable Error executing command run: dmd failed with exit code 1. I used dmd 2.066.1 Btw, have you thought of integrating the version manager dvm somehow. I find it extremely useful, especially when upgrading my code to a new version of dmd. I'm really looking forward to using this IDE for my D projects one day. Following works for me: dub fetch dlangui dub run dlangui:helloworld dub run dlangui:example1 dub run dlangui:tetris I see no errors. DMD is v2.066.0 and DUB is 0.9.22 That works for me too, but the error I got was from this: git clone https://github.com/buggins/dlangide.git cd dlangide dub run Building dlangide 0.2.1 configuration application, build type debug. Compiling using dmd... Error: cannot read file ../../.dub/packages/dlangui-master/examples/helloworld/bin/helloworld.d FAIL .dub/build/application-debug-linux.posix-x86_64-dmd_2066-51E212BAD4DDA2DE13262C4DBFEB2E69/ dlangide executable Error executing command run: dmd failed with exit code 1. (dmd 2.066.0)
Re: DlangIDE
On Friday, 13 February 2015 at 10:00:33 UTC, Chris wrote: On Thursday, 12 February 2015 at 14:16:49 UTC, Vadim Lopatin wrote: On Thursday, 12 February 2015 at 09:55:53 UTC, Chris wrote: On Wednesday, 11 February 2015 at 17:49:53 UTC, Vadim Lopatin Got an error message after cloning and running dub run Compiling using dmd... Error: cannot read file ../../.dub/packages/dlangui-master/examples/helloworld/bin/helloworld.d FAIL .dub/build/application-debug-linux.posix-x86_64-dmd_2066-51E212BAD4DDA2DE13262C4DBFEB2E69/ dlangide executable Error executing command run: dmd failed with exit code 1. I used dmd 2.066.1 Btw, have you thought of integrating the version manager dvm somehow. I find it extremely useful, especially when upgrading my code to a new version of dmd. I'm really looking forward to using this IDE for my D projects one day. Following works for me: dub fetch dlangui dub run dlangui:helloworld dub run dlangui:example1 dub run dlangui:tetris I see no errors. DMD is v2.066.0 and DUB is 0.9.22 That works for me too, but the error I got was from this: git clone https://github.com/buggins/dlangide.git cd dlangide dub run Building dlangide 0.2.1 configuration application, build type debug. Compiling using dmd... Error: cannot read file ../../.dub/packages/dlangui-master/examples/helloworld/bin/helloworld.d FAIL .dub/build/application-debug-linux.posix-x86_64-dmd_2066-51E212BAD4DDA2DE13262C4DBFEB2E69/ dlangide executable Error executing command run: dmd failed with exit code 1. (dmd 2.066.0) Looks like DUB issue. It selects dlangui:helloworld instead if dlangui git clone https://github.com/buggins/dlangide.git cd dlangide dub run It's working for me. $ dub run WARNING: A deprecated branch based version specification is used for the dependency dlangui. Please use numbered version s instead. Also note that you can still use the dub.selections.json file to override a certain dependency to use a branc h instead. Building dlib ~master configuration library, build type debug. Running dmd... Target derelict-util 1.9.1 is up to date. Use --force to rebuild. Target derelict-ft 1.0.2 is up to date. Use --force to rebuild. Target derelict-sdl2 1.9.2 is up to date. Use --force to rebuild. Target derelict-gl3 1.0.12 is up to date. Use --force to rebuild. Building dlangui ~master configuration library, build type debug. Running dmd... Building dlangide 0.2.3 configuration application, build type debug. Compiling using dmd... Linking... Copying files for dlangui... Running .\bin\dlangide.exe Try dub upgrade --force-remove As well, check your DUB version. 0.9.22 should work ok.
Re: DlangIDE
On Thursday, 12 February 2015 at 18:55:39 UTC, Vadim Lopatin wrote: On Thursday, 12 February 2015 at 14:24:05 UTC, ketmar wrote: On Thu, 12 Feb 2015 14:10:31 +, Vadim Lopatin wrote: On Thursday, 12 February 2015 at 09:48:28 UTC, ketmar wrote: On Thu, 12 Feb 2015 09:44:14 +, Chris wrote: Isn't Ctrl+Y redo in most editors (Ctrl+Z = undo, Ctrl+Y = redo). That could cause some serious confusion. not in mcedit and wordstar clones. i suspect that ^Y -- delete line comes from turbo c editor here. ;-) Yes, it's from DOS times. Many modern editors still use it for line deletion. I've reassigned delete line shortcut to Ctrl+D and Ctrl+L Redo now can be done using Ctrl+Y or Ctrl+Shift+Z BTW, toolbar button tooltips were implemented today. i don't want to give you any orders, but i think that it's better to make shortcuts user-definable ASAP. you may skip GUI for that now and just make a keymap file of some kind, and it will still be much better than hard-coded shourtcuts. Will do it soon. I just thought that app in current state is not practically usable anyway. It is, i recommend developing dlangide itself in dlangide, that makes the stuff obvious that the user needs ;)
Re: DlangIDE
On Thursday, 12 February 2015 at 14:24:05 UTC, ketmar wrote: On Thu, 12 Feb 2015 14:10:31 +, Vadim Lopatin wrote: On Thursday, 12 February 2015 at 09:48:28 UTC, ketmar wrote: On Thu, 12 Feb 2015 09:44:14 +, Chris wrote: Isn't Ctrl+Y redo in most editors (Ctrl+Z = undo, Ctrl+Y = redo). That could cause some serious confusion. not in mcedit and wordstar clones. i suspect that ^Y -- delete line comes from turbo c editor here. ;-) Yes, it's from DOS times. Many modern editors still use it for line deletion. I've reassigned delete line shortcut to Ctrl+D and Ctrl+L Redo now can be done using Ctrl+Y or Ctrl+Shift+Z BTW, toolbar button tooltips were implemented today. i don't want to give you any orders, but i think that it's better to make shortcuts user-definable ASAP. you may skip GUI for that now and just make a keymap file of some kind, and it will still be much better than hard-coded shourtcuts. Will do it soon. I just thought that app in current state is not practically usable anyway.
Re: DlangIDE
On Wednesday, 11 February 2015 at 13:16:55 UTC, Vadim Lopatin wrote: On Friday, 6 February 2015 at 19:04:06 UTC, Chris wrote: Other important features: - delete line - duplicate line - format block, i.e. select code and all the indentation levels will be put right (jEdit has a great automatic indentation functionality). - highlight matching brackets and braces - highly configurable behavior (again jEdit is very good there too) I'll come up with more suggestions next week. Now it's weekend Matching [ { ( ) } ] highlight is implemented Delete line is available with Ctrl+Y Isn't Ctrl+Y redo in most editors (Ctrl+Z = undo, Ctrl+Y = redo). That could cause some serious confusion. Indent/unindent - new shortcuts added Ctrl + [ ]
Re: DlangIDE
On Wednesday, 11 February 2015 at 17:49:53 UTC, Vadim Lopatin wrote: On Wednesday, 11 February 2015 at 13:40:32 UTC, Martin Drašar wrote: Dne 11.2.2015 v 14:16 Vadim Lopatin via Digitalmars-d-announce napsal(a): Matching [ { ( ) } ] highlight is implemented Delete line is available with Ctrl+Y Indent/unindent - new shortcuts added Ctrl + [ ] Hi, when you say that a certain combination is used for something, does that mean that you are not supporting setup of actions for key combinations? So I could, e.g., map Ctrl+L or Shift-Del as line delete as in Notepad++ or Visual Studio respectively? Anyway, it is a nice project. Thanks for doing that! Martin Currently shortcuts are hardcoded. I will add customization later. It will not take more than one day. Got an error message after cloning and running dub run Compiling using dmd... Error: cannot read file ../../.dub/packages/dlangui-master/examples/helloworld/bin/helloworld.d FAIL .dub/build/application-debug-linux.posix-x86_64-dmd_2066-51E212BAD4DDA2DE13262C4DBFEB2E69/ dlangide executable Error executing command run: dmd failed with exit code 1. I used dmd 2.066.1 Btw, have you thought of integrating the version manager dvm somehow. I find it extremely useful, especially when upgrading my code to a new version of dmd. I'm really looking forward to using this IDE for my D projects one day.
Re: DlangIDE
On Thu, 12 Feb 2015 09:44:14 +, Chris wrote: Isn't Ctrl+Y redo in most editors (Ctrl+Z = undo, Ctrl+Y = redo). That could cause some serious confusion. not in mcedit and wordstar clones. i suspect that ^Y -- delete line comes from turbo c editor here. ;-) signature.asc Description: PGP signature
Re: DlangIDE
On Thu, 12 Feb 2015 14:10:31 +, Vadim Lopatin wrote: On Thursday, 12 February 2015 at 09:48:28 UTC, ketmar wrote: On Thu, 12 Feb 2015 09:44:14 +, Chris wrote: Isn't Ctrl+Y redo in most editors (Ctrl+Z = undo, Ctrl+Y = redo). That could cause some serious confusion. not in mcedit and wordstar clones. i suspect that ^Y -- delete line comes from turbo c editor here. ;-) Yes, it's from DOS times. Many modern editors still use it for line deletion. I've reassigned delete line shortcut to Ctrl+D and Ctrl+L Redo now can be done using Ctrl+Y or Ctrl+Shift+Z BTW, toolbar button tooltips were implemented today. i don't want to give you any orders, but i think that it's better to make shortcuts user-definable ASAP. you may skip GUI for that now and just make a keymap file of some kind, and it will still be much better than hard-coded shourtcuts. signature.asc Description: PGP signature
Re: DlangIDE
On Thursday, 12 February 2015 at 09:48:28 UTC, ketmar wrote: On Thu, 12 Feb 2015 09:44:14 +, Chris wrote: Isn't Ctrl+Y redo in most editors (Ctrl+Z = undo, Ctrl+Y = redo). That could cause some serious confusion. not in mcedit and wordstar clones. i suspect that ^Y -- delete line comes from turbo c editor here. ;-) Yes, it's from DOS times. Many modern editors still use it for line deletion. I've reassigned delete line shortcut to Ctrl+D and Ctrl+L Redo now can be done using Ctrl+Y or Ctrl+Shift+Z BTW, toolbar button tooltips were implemented today.
Re: DlangIDE
On Thursday, 12 February 2015 at 09:55:53 UTC, Chris wrote: On Wednesday, 11 February 2015 at 17:49:53 UTC, Vadim Lopatin Got an error message after cloning and running dub run Compiling using dmd... Error: cannot read file ../../.dub/packages/dlangui-master/examples/helloworld/bin/helloworld.d FAIL .dub/build/application-debug-linux.posix-x86_64-dmd_2066-51E212BAD4DDA2DE13262C4DBFEB2E69/ dlangide executable Error executing command run: dmd failed with exit code 1. I used dmd 2.066.1 Btw, have you thought of integrating the version manager dvm somehow. I find it extremely useful, especially when upgrading my code to a new version of dmd. I'm really looking forward to using this IDE for my D projects one day. Following works for me: dub fetch dlangui dub run dlangui:helloworld dub run dlangui:example1 dub run dlangui:tetris I see no errors. DMD is v2.066.0 and DUB is 0.9.22
Re: DlangIDE
On Wednesday, 11 February 2015 at 13:40:32 UTC, Martin Drašar wrote: Dne 11.2.2015 v 14:16 Vadim Lopatin via Digitalmars-d-announce napsal(a): Matching [ { ( ) } ] highlight is implemented Delete line is available with Ctrl+Y Indent/unindent - new shortcuts added Ctrl + [ ] Hi, when you say that a certain combination is used for something, does that mean that you are not supporting setup of actions for key combinations? So I could, e.g., map Ctrl+L or Shift-Del as line delete as in Notepad++ or Visual Studio respectively? Anyway, it is a nice project. Thanks for doing that! Martin Currently shortcuts are hardcoded. I will add customization later. It will not take more than one day.
Re: DlangIDE
On Tuesday, 10 February 2015 at 21:31:47 UTC, extrawurst wrote: On Tuesday, 10 February 2015 at 14:05:38 UTC, Vadim Lopatin wrote: On Friday, 6 February 2015 at 18:31:19 UTC, extrawurst wrote: Good work! On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: * Code completion * Go to definition Please do not create yet another parser/lexer for this, looks like DCD would be a good fit for the job: https://github.com/Hackerpilot/DCD ~Stephan Ok, I will check it. BWT, thank you for pull request with build log parsing and navigation to place of error or warning in code. My pleasure, I am really looking forward for this IDE, I think it has all the features I want in an awesome showcase of a D Product: * all written in D * platform independent * assembling mature D tools like DCD for code completion and DScanner for analysis (To-Be-Done i know) I think focusing on the last part is important because it speeds up development and makes use of the great and proven work of others instead of reinventing the wheel. added an issue to track ideas on DCD integration: https://github.com/buggins/dlangide/issues/20 ~Stephan Another important feature for IDE is debugger support. Is there already some existing D code to reuse? If no, it makes sense to implement some library.
Re: DlangIDE
On Friday, 6 February 2015 at 19:04:06 UTC, Chris wrote: Other important features: - delete line - duplicate line - format block, i.e. select code and all the indentation levels will be put right (jEdit has a great automatic indentation functionality). - highlight matching brackets and braces - highly configurable behavior (again jEdit is very good there too) I'll come up with more suggestions next week. Now it's weekend Matching [ { ( ) } ] highlight is implemented Delete line is available with Ctrl+Y Indent/unindent - new shortcuts added Ctrl + [ ]
Re: DlangIDE
Dne 11.2.2015 v 14:16 Vadim Lopatin via Digitalmars-d-announce napsal(a): Matching [ { ( ) } ] highlight is implemented Delete line is available with Ctrl+Y Indent/unindent - new shortcuts added Ctrl + [ ] Hi, when you say that a certain combination is used for something, does that mean that you are not supporting setup of actions for key combinations? So I could, e.g., map Ctrl+L or Shift-Del as line delete as in Notepad++ or Visual Studio respectively? Anyway, it is a nice project. Thanks for doing that! Martin smime.p7s Description: Elektronicky podpis S/MIME
Re: DlangIDE
On Tuesday, 10 February 2015 at 14:05:38 UTC, Vadim Lopatin wrote: On Friday, 6 February 2015 at 18:31:19 UTC, extrawurst wrote: Good work! On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: * Code completion * Go to definition Please do not create yet another parser/lexer for this, looks like DCD would be a good fit for the job: https://github.com/Hackerpilot/DCD ~Stephan Ok, I will check it. BWT, thank you for pull request with build log parsing and navigation to place of error or warning in code. My pleasure, I am really looking forward for this IDE, I think it has all the features I want in an awesome showcase of a D Product: * all written in D * platform independent * assembling mature D tools like DCD for code completion and DScanner for analysis (To-Be-Done i know) I think focusing on the last part is important because it speeds up development and makes use of the great and proven work of others instead of reinventing the wheel. added an issue to track ideas on DCD integration: https://github.com/buggins/dlangide/issues/20 ~Stephan
Re: DlangIDE
On Friday, 6 February 2015 at 17:56:05 UTC, Jeremy Powers wrote: What is best shortcut for it? Ideally key shortcuts would match existing IDEs, so don't have to relearn. I'm used to these: https://www.jetbrains.com/idea/help/keyboard-shortcuts-and-mouse-reference.html (un/comment is ctrl+/ or cmd+/ on mac, ctrl+shift+/ for block comments) Implemented toggling line comments with ctrl+/ and block comments with ctrl+shift+/ Merged pull request with ability to navigate to source code by clicking on build log lines. As well I've added some coloring to build log. I see strange issue on Ubuntu: Ctrl key is not working in SDL2 - neither KeyDown nor key modifiers state flag. As a result, shortcuts like Ctrl+Z, Ctrl+C, Ctrl+/ do not work. Does someone see the same?
Re: DlangIDE
On Friday, 6 February 2015 at 18:31:19 UTC, extrawurst wrote: Good work! On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: * Code completion * Go to definition Please do not create yet another parser/lexer for this, looks like DCD would be a good fit for the job: https://github.com/Hackerpilot/DCD ~Stephan Ok, I will check it. BWT, thank you for pull request with build log parsing and navigation to place of error or warning in code.
Re: DlangIDE
On Friday, 6 February 2015 at 17:44:04 UTC, Vadim Lopatin wrote: On Friday, 6 February 2015 at 15:17:53 UTC, Chris wrote: On Friday, 6 February 2015 at 14:43:02 UTC, Vadim Lopatin wrote: On Friday, 6 February 2015 at 14:32:24 UTC, Chris wrote: On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide ... .dub/build/application-debug-linux.posix-x86_64-dmd_2066-B4CC9A972252F02EBBDEC316D316367F/ dlangide executable Error executing command run: dmd failed with exit code 1. Looks like older version of dlangui is used. Please try `dub upgrade` This one worked for me, however, it has to be $ dub upgrade --force-remove else you get this message: Upgrading project in /home/christoph/D/dlangide Re-installing branch based dependency derelict-ft ~master Error executing command upgrade: Untracked file found, aborting package removal, file: /home/name/.dub/packages/derelict-ft-master/lib/libDerelictFT.a Please remove the package folder manually or use --force-remove. Great stuff! Looks very promising. It definitely needs more features on the editing side of things (shift left/right, line comment, block comment). Maybe it would be good to have snippets too. Especially for ranges and other D idioms that are commonly used. Shift left/right: tab / shift+tab Comment/uncomment: will add soon. What is best shortcut for it? Ctrl+/ is my favorite (for line comments) Other important features: - delete line - duplicate line - format block, i.e. select code and all the indentation levels will be put right (jEdit has a great automatic indentation functionality). - highlight matching brackets and braces - highly configurable behavior (again jEdit is very good there too) I'll come up with more suggestions next week. Now it's weekend
Re: DlangIDE
On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide It's in alpha stage but already allows: * Open DUB based projects * Edit source files * Build and run projects using DUB * D source code syntax highlight Requires DUB for building projects. Features missing so far: * Debugging support * Code completion * Code folding * Go to definition * Smart indentation Best regards, Vadim Not working for me on OS X 10.10 with any of the released compilers I tried, see https://github.com/buggins/dlangui/pull/50 and https://github.com/buggins/dlangui/issues/51
Re: DlangIDE
On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide It's in alpha stage but already allows: * Open DUB based projects * Edit source files * Build and run projects using DUB * D source code syntax highlight Requires DUB for building projects. Features missing so far: * Debugging support * Code completion * Code folding * Go to definition * Smart indentation Best regards, Vadim The following: Fetching derelict-util 1.9.1 (getting selected version)... Placing derelict-util 1.9.1 to /home/name/.dub/packages/... WARNING: A deprecated branch based version specification is used for the dependency dlangui:dlanguilib. Please use numbered versions instead. Also note that you can still use the dub.selections.json file to override a certain dependency to use a branch instead. Building derelict-util 1.9.1 configuration library, build type debug. Running dmd... Building derelict-ft ~master configuration library, build type debug. Running dmd... Building derelict-sdl2 ~master configuration library, build type debug. Running dmd... Building derelict-fi ~master configuration library, build type debug. Running dmd... Building derelict-gl3 ~master configuration library, build type debug. Running dmd... Building dlangui:dlanguilib ~master configuration library, build type debug. Running dmd... Building dlangide 0.1.5 configuration application, build type debug. Compiling using dmd... src/dlangide/ui/frame.d(7): Error: module srcedit is in file 'dlangui/widgets/srcedit.d' which cannot be read import path[0] = src/ import path[1] = ../../.dub/packages/dlangui-master/src/ import path[2] = ../../.dub/packages/derelict-ft-master/source/ import path[3] = ../../.dub/packages/derelict-util-1.9.1/source/ import path[4] = ../../.dub/packages/derelict-sdl2-master/source/ import path[5] = ../../.dub/packages/derelict-fi-master/source/ import path[6] = ../../.dub/packages/derelict-gl3-master/source/ import path[7] = /home/name/.dvm/compilers/dmd-2.066.0/linux/bin/../../src/phobos import path[8] = /home/name/.dvm/compilers/dmd-2.066.0/linux/bin/../../src/druntime/import FAIL .dub/build/application-debug-linux.posix-x86_64-dmd_2066-B4CC9A972252F02EBBDEC316D316367F/ dlangide executable Error executing command run: dmd failed with exit code 1.
Re: DlangIDE
On Friday, 6 February 2015 at 14:23:28 UTC, John Colvin wrote: On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide It's in alpha stage but already allows: * Open DUB based projects * Edit source files * Build and run projects using DUB * D source code syntax highlight Requires DUB for building projects. Features missing so far: * Debugging support * Code completion * Code folding * Go to definition * Smart indentation Best regards, Vadim Not working for me on OS X 10.10 with any of the released compilers I tried, see https://github.com/buggins/dlangui/pull/50 and https://github.com/buggins/dlangui/issues/51 Fixed, thank you!
Re: DlangIDE
On Friday, 6 February 2015 at 14:32:24 UTC, Chris wrote: On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide ... .dub/build/application-debug-linux.posix-x86_64-dmd_2066-B4CC9A972252F02EBBDEC316D316367F/ dlangide executable Error executing command run: dmd failed with exit code 1. Looks like older version of dlangui is used. Please try `dub upgrade`
Re: DlangIDE
On Friday, 6 February 2015 at 14:43:02 UTC, Vadim Lopatin wrote: On Friday, 6 February 2015 at 14:32:24 UTC, Chris wrote: On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide ... .dub/build/application-debug-linux.posix-x86_64-dmd_2066-B4CC9A972252F02EBBDEC316D316367F/ dlangide executable Error executing command run: dmd failed with exit code 1. Looks like older version of dlangui is used. Please try `dub upgrade` This one worked for me, however, it has to be $ dub upgrade --force-remove else you get this message: Upgrading project in /home/christoph/D/dlangide Re-installing branch based dependency derelict-ft ~master Error executing command upgrade: Untracked file found, aborting package removal, file: /home/name/.dub/packages/derelict-ft-master/lib/libDerelictFT.a Please remove the package folder manually or use --force-remove. Great stuff! Looks very promising. It definitely needs more features on the editing side of things (shift left/right, line comment, block comment). Maybe it would be good to have snippets too. Especially for ranges and other D idioms that are commonly used.
Re: DlangIDE
On Friday, 6 February 2015 at 15:17:53 UTC, Chris wrote: On Friday, 6 February 2015 at 14:43:02 UTC, Vadim Lopatin wrote: On Friday, 6 February 2015 at 14:32:24 UTC, Chris wrote: On Friday, 6 February 2015 at 14:03:07 UTC, Vadim Lopatin wrote: Hello, I'm working on cross-platform D language IDE - DlangIDE. It's written in D using DlangUI based GUI. Project on GitHub: https://github.com/buggins/dlangide ... .dub/build/application-debug-linux.posix-x86_64-dmd_2066-B4CC9A972252F02EBBDEC316D316367F/ dlangide executable Error executing command run: dmd failed with exit code 1. Looks like older version of dlangui is used. Please try `dub upgrade` This one worked for me, however, it has to be $ dub upgrade --force-remove else you get this message: Upgrading project in /home/christoph/D/dlangide Re-installing branch based dependency derelict-ft ~master Error executing command upgrade: Untracked file found, aborting package removal, file: /home/name/.dub/packages/derelict-ft-master/lib/libDerelictFT.a Please remove the package folder manually or use --force-remove. Great stuff! Looks very promising. It definitely needs more features on the editing side of things (shift left/right, line comment, block comment). Maybe it would be good to have snippets too. Especially for ranges and other D idioms that are commonly used. Shift left/right: tab / shift+tab Comment/uncomment: will add soon. What is best shortcut for it?
Re: DlangIDE
On Fri, 06 Feb 2015 17:44:03 +, Vadim Lopatin wrote: Shift left/right: tab / shift+tab Comment/uncomment: will add soon. What is best shortcut for it? ctrl+/ for line commenting, for example. signature.asc Description: PGP signature
Re: DlangIDE
What is best shortcut for it? Ideally key shortcuts would match existing IDEs, so don't have to relearn. I'm used to these: https://www.jetbrains.com/idea/help/keyboard-shortcuts-and-mouse-reference.html (un/comment is ctrl+/ or cmd+/ on mac, ctrl+shift+/ for block comments)