www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ide - Trying new IDE: I cannot make Dexed work

reply Eric P626 <ericp lariennalibrary.com> writes:
I was currently using Code::Blocks since I used to code in C. But 
I realized that there is limited D language support in this IDE. 
There is no code completion and refactoring variable names does 
not work for example. I can still manage to compile and run the 
program with ldc.

In order to find a new alternative on linux, I was checking the 
list of IDE found here:

https://wiki.dlang.org/IDEs

I did not want to use IntelliJ because it's fat, slow and memory 
hungry. The interface is also overcrowded.

I did not want to use VScode because ... it's Microsoft. Still, I 
am willing to use it as a last resort option.

Dexed was one of the available options. So I installed the 
software and managed to run it. Now I tried just to create a DUB 
project add a file to it and compile and run.

* I cannot add source files to projects
* Even if I selected LDC as the default compiler and specified 
its path, it still try uses DMD to compile code.
* Variable renaming does not work, nothing happens.

So I was beginning to wonder if Dexed was actually a solid IDE or 
it's just me that does not understand how to use it.

Else, I wondered if I could try a generic IDE like Geany and try 
to configure the compilation process manually. Still, not sure I 
would be getting advanced feature like code completion.

Anybody familiar with dexed?

Else, should I stick to Code::Blocks or switch to something else?
Jun 10
next sibling parent reply Ferhat =?UTF-8?B?S3VydHVsbXXFnw==?= <aferust gmail.com> writes:
On Monday, 10 June 2024 at 14:23:34 UTC, Eric P626 wrote:
 I was currently using Code::Blocks since I used to code in C. 
 But I realized that there is limited D language support in this 
 IDE. There is no code completion and refactoring variable names 
 does not work for example. I can still manage to compile and 
 run the program with ldc.

 [...]
I recommend you to use visual studio code with dlang extensions. İt is cross-platform and has a good support.
Jun 10
parent reply Eric P626 <ericp lariennalibrary.com> writes:
On Monday, 10 June 2024 at 15:58:41 UTC, Ferhat Kurtulmuş wrote:
 On Monday, 10 June 2024 at 14:23:34 UTC, Eric P626 wrote:
 I was currently using Code::Blocks since I used to code in C. 
 But I realized that there is limited D language support in 
 this IDE. There is no code completion and refactoring variable 
 names does not work for example. I can still manage to compile 
 and run the program with ldc.

 [...]
I recommend you to use visual studio code with dlang extensions. İt is cross-platform and has a good support.
I tried VScode, I could not manage to create a project or compile and run a simple file. It also complained about missing serve-d, I realinstalled it at vscode's demand, not sure if it will actually solve the issue.
Jun 11
parent reply Ferhat =?UTF-8?B?S3VydHVsbXXFnw==?= <aferust gmail.com> writes:
On Wednesday, 12 June 2024 at 05:03:25 UTC, Eric P626 wrote:
 On Monday, 10 June 2024 at 15:58:41 UTC, Ferhat Kurtulmuş wrote:
 On Monday, 10 June 2024 at 14:23:34 UTC, Eric P626 wrote:
 I was currently using Code::Blocks since I used to code in C. 
 But I realized that there is limited D language support in 
 this IDE. There is no code completion and refactoring 
 variable names does not work for example. I can still manage 
 to compile and run the program with ldc.

 [...]
I recommend you to use visual studio code with dlang extensions. İt is cross-platform and has a good support.
I tried VScode, I could not manage to create a project or compile and run a simple file. It also complained about missing serve-d, I realinstalled it at vscode's demand, not sure if it will actually solve the issue.
I always start a new project by creating this folder structure. Then open yourprojectroot with vscode. Maybe vscode extensions have automation for it, but I never bother using it. /yourprojectroot/ /yourprojectroot/dub.json //minimum content: {"name": "myproject"} /yourprojectroot/source/app.d For the serve-d issue, you can open an issue or ask WebFreak001. https://github.com/WebFreak001
Jun 12
parent Eric P626 <ericp lariennalibrary.com> writes:
On Wednesday, 12 June 2024 at 07:30:35 UTC, Ferhat Kurtulmuş 
wrote:
 On Wednesday, 12 June 2024 at 05:03:25 UTC, Eric P626 wrote:
 On Monday, 10 June 2024 at 15:58:41 UTC, Ferhat Kurtulmuş 
 wrote:
 On Monday, 10 June 2024 at 14:23:34 UTC, Eric P626 wrote:
 I was currently using Code::Blocks since I used to code in 
 C. But I realized that there is limited D language support 
 in this IDE. There is no code completion and refactoring 
 variable names does not work for example. I can still manage 
 to compile and run the program with ldc.

 [...]
I recommend you to use visual studio code with dlang extensions. İt is cross-platform and has a good support.
I tried VScode, I could not manage to create a project or compile and run a simple file. It also complained about missing serve-d, I realinstalled it at vscode's demand, not sure if it will actually solve the issue.
I always start a new project by creating this folder structure. Then open yourprojectroot with vscode. Maybe vscode extensions have automation for it, but I never bother using it. /yourprojectroot/ /yourprojectroot/dub.json //minimum content: {"name": "myproject"} /yourprojectroot/source/app.d For the serve-d issue, you can open an issue or ask WebFreak001. https://github.com/WebFreak001
I explored further, and from what I understand, there is no project management in VScode. I can browse and edit files, and that is almost all of it. If you are building a website, this is not an issue, because there is nothing to build, the browser will read the files. But it does not work for software that requires compilation. Maybe you need the real Visual Studio. In fact, I don't think there is any way to build any software from VScode without plug-ins. So you need to use an external builder to do so. The only positive is that there is recognition of the code with code completion. For now, I am not convinced that this is the best solution for me unless I desperately need code completion.
Jun 20
prev sibling parent reply Basile B. <b2.temp gmx.com> writes:
On Monday, 10 June 2024 at 14:23:34 UTC, Eric P626 wrote:
 I was currently using Code::Blocks since I used to code in C. 
 But I realized that there is limited D language support in this 
 IDE. There is no code completion and refactoring variable names 
 does not work for example. I can still manage to compile and 
 run the program with ldc.

 In order to find a new alternative on linux, I was checking the 
 list of IDE found here:

 https://wiki.dlang.org/IDEs

 I did not want to use IntelliJ because it's fat, slow and 
 memory hungry. The interface is also overcrowded.

 I did not want to use VScode because ... it's Microsoft. Still, 
 I am willing to use it as a last resort option.

 Dexed was one of the available options. So I installed the 
 software and managed to run it. Now I tried just to create a 
 DUB project add a file to it and compile and run.

 * I cannot add source files to projects
You must refresh in the project inspector so that new sources got detected and visible in the the tree. DUB projects usually dont use specific sources, rather a root folder However you can add specific sources, that can be made in the "DUB project editor". Once done you still need to save the project (and eventually to refresh... I dont remember how that is implemented RN).
 * Even if I selected LDC as the default compiler and specified 
 its path, it still try uses DMD to compile code.
you must also define that DUB projects are compiled with the "global" compiler (options/DUB build/compiler). There's no notion of "default" so I suppose you meant "global".
 * Variable renaming does not work, nothing happens.
Variable renaming is based on a DCD feature that only works within a function body.
 So I was beginning to wonder if Dexed was actually a solid IDE 
 or it's just me that does not understand how to use it.
Well it's a bit both. Dexed actually matches to its author needs. The author does not program in D anymore so it's possible that a few things are broken and the he did not notice. Nowadays he almost entirely uses Dexed to work on another language called STYX (dexe support it too), so DUB support, completion support, etc. are not really maintained.
Jun 21
parent reply Basile B. <b2.temp gmx.com> writes:
On Friday, 21 June 2024 at 09:04:11 UTC, Basile B. wrote:
 [...]
 Nowadays he almost entirely uses Dexed to work on another 
 language called STYX (dexed supports it too), so DUB support, 
 completion support, etc. are not really maintained.
Last 3 commits specific to D, most recent one is from 10 months ago. Least recent is almost from 12 months ago. - https://gitlab.com/basile.b/dexed/-/commit/052e49aa35f7c2097bd714033a5ac75dac5fe992 - https://gitlab.com/basile.b/dexed/-/commit/f06ad0ad8cada35e83ed54b010f3f80dc9426cef - https://gitlab.com/basile.b/dexed/-/commit/bd2a5d16dfc059910318f0089e581e45d680a0db I was not sure, after my answer, but yes, about the D support, you can consider dexed as dead.
Jun 21
parent reply Eric P626 <ericp lariennalibrary.com> writes:
On Friday, 21 June 2024 at 11:37:21 UTC, Basile B. wrote:
 On Friday, 21 June 2024 at 09:04:11 UTC, Basile B. wrote:
 [...]
 Nowadays he almost entirely uses Dexed to work on another 
 language called STYX (dexed supports it too), so DUB support, 
 completion support, etc. are not really maintained.
Last 3 commits specific to D, most recent one is from 10 months ago. Least recent is almost from 12 months ago. - https://gitlab.com/basile.b/dexed/-/commit/052e49aa35f7c2097bd714033a5ac75dac5fe992 - https://gitlab.com/basile.b/dexed/-/commit/f06ad0ad8cada35e83ed54b010f3f80dc9426cef - https://gitlab.com/basile.b/dexed/-/commit/bd2a5d16dfc059910318f0089e581e45d680a0db I was not sure, after my answer, but yes, about the D support, you can consider dexed as dead.
I am going to give another try to Dexed to see if I can make it work. Normally, I want the IDE to compile the software just for when I am developing to test if what I am coding works. It's not used to build the final product. Else, I need to use an external builder, go into command line mode and build/run the project. It's just more convenient from the IDE. Apparently there is a plugin for Geany that supports the D language, I am also going to give a try: https://github.com/denizzzka/geany_dlang
Jun 21
parent Basile B. <b2.temp gmx.com> writes:
On Saturday, 22 June 2024 at 06:03:55 UTC, Eric P626 wrote:
 On Friday, 21 June 2024 at 11:37:21 UTC, Basile B. wrote:
 On Friday, 21 June 2024 at 09:04:11 UTC, Basile B. wrote:
 [...]
 Nowadays he almost entirely uses Dexed to work on another 
 language called STYX (dexed supports it too), so DUB support, 
 completion support, etc. are not really maintained.
Last 3 commits specific to D, most recent one is from 10 months ago. Least recent is almost from 12 months ago. - https://gitlab.com/basile.b/dexed/-/commit/052e49aa35f7c2097bd714033a5ac75dac5fe992 - https://gitlab.com/basile.b/dexed/-/commit/f06ad0ad8cada35e83ed54b010f3f80dc9426cef - https://gitlab.com/basile.b/dexed/-/commit/bd2a5d16dfc059910318f0089e581e45d680a0db I was not sure, after my answer, but yes, about the D support, you can consider dexed as dead.
I am going to give another try to Dexed to see if I can make it work. Normally, I want the IDE to compile the software just for when I am developing to test if what I am coding works. It's not used to build the final product. Else, I need to use an external builder, go into command line mode and build/run the project. It's just more convenient from the IDE. Apparently there is a plugin for Geany that supports the D language, I am also going to give a try: https://github.com/denizzzka/geany_dlang
Yeah but, to come back to the "problem" with new files, seriously it's very embarassing when you have to explain something that appears obvious. Once you have made your JSON, you just save new sources in your src/ folder and then next time you hit F9 the build system will handle it. How to explain... like there's no problem ? You see even with styx there's no issue. The IDE handles the makefile as a project. When I save a new source I eventually have to hit the "refresh" button in the project inspector but that's optional. ¯\(°_o)/¯
Jun 22