dummzeuch 1506 Posted November 25, 2023 (edited) I've moved this to a new topic because it is not much related to Delphi 12 being released. 1 hour ago, Dalija Prasnikar said: 2 hours ago, dummzeuch said: OK, so what are examples for editors that are not "stuck in the Stone Age"? Anything from JetBrains... I am not saying that Delphi is stuck in the Stone Age... but it is lagging behind in some areas. OK, I bite: What's your favorite feature(s) in a JetBrains editor that Delphi does not offer? (Excluding things that Delphi offers but that don't work.) Edited November 25, 2023 by dummzeuch Share this post Link to post
Dalija Prasnikar 1399 Posted November 25, 2023 12 minutes ago, dummzeuch said: I've moved this to a new topic because it is not much related to Delphi 12 being released. OK, I bite: What's your favorite feature(s) in a JetBrains editor that Delphi does not offer? (Excluding things that Delphi offers but that don't work.) Inlay parameter hints. It is extremely useful for reading and understanding the code https://www.jetbrains.com/help/idea/inlay-hints.html#change-inlay-hints-appearance Excluding things that Delphi offers but don't work is tough restriction 😉 Well working code completion and refactoring are next. 1 Share this post Link to post
dummzeuch 1506 Posted November 25, 2023 8 minutes ago, Dalija Prasnikar said: Inlay parameter hints. It is extremely useful for reading and understanding the code https://www.jetbrains.com/help/idea/inlay-hints.html#change-inlay-hints-appearance Hm, I have just read through that page and another one but I'm not quite sure whether I would find inline hints useful or annoying. I'd probably have to try it. Share this post Link to post
Dalija Prasnikar 1399 Posted November 25, 2023 9 minutes ago, dummzeuch said: Hm, I have just read through that page and another one but I'm not quite sure whether I would find inline hints useful or annoying. I'd probably have to try it. I am used to named parameters in Swift (which you have to explicitly write), so once you get used to the fact there there is more information in code, you learn to easily ignore it when you don't need it, but when you do need it is extremely helpful when you are going through code you are not familiar with or your own old code. Yes, you could also hover over the method to see the names and types, but that significantly slows down reading the code. I even find it helpful for the code I know well. I guess my brain likes the extra information being served on a plate. 2 Share this post Link to post
Dalija Prasnikar 1399 Posted November 25, 2023 There is one other feature I like, is ability to change editor font size in pixels. I would like to use Consolas, but size 10 is too small (13 pix) and size 11 is too large (15 pix). I am using 14 pix in other editors. I would post the QP number for that feature request, but it is currently down. But it seems that this would have to wait for new editor because AFAIK the current one can only deal with size in points. One thing they implemented in Delphi 12 is increasing the line height, which is another important feature, when my eyes switch to overly sensitive mode. Share this post Link to post
pyscripter 689 Posted November 25, 2023 (edited) Features missing in the Delphi editor: Proper Unicode handling . It does not even support combining characters. Multi-cursor/selection editing Modification (track changes) bar that works with undo. Accessibility support Drag & drop editing triple and quadruple click support double/triple click and drag support Enhanced scroll bar as in VS Code ... Edited November 25, 2023 by pyscripter 2 Share this post Link to post
PaPaNi 23 Posted November 25, 2023 I don't know if other IDEs have such functions. But I often need a "Undo"-function for working with the form. For example, you changed the width of one component with the mouse and want to return the previous value. ( Or I just didn't see this function in Delphi). 3 Share this post Link to post
Uwe Raabe 2059 Posted November 25, 2023 1 hour ago, PaPaNi said: I often need a "Undo"-function for working with the form Saving the form will add an entry to the history, which can be reverted to later. 1 Share this post Link to post
Dalija Prasnikar 1399 Posted November 25, 2023 2 hours ago, Uwe Raabe said: Saving the form will add an entry to the history, which can be reverted to later. Only if you have saved the previous steps, too. It is not useful for situations where you have already changed multiple things and then accidentally make a wrong move which you cannot revert. Share this post Link to post
JonRobertson 72 Posted November 25, 2023 I agree that Undo would be beneficial in the form designer. Saying that, "change history" is one of many benefits of good source control, such as git. I use "Git diff with previous version" quite often with both DFM and PAS files. And DPROJ, for that matter. I have Beyond Compare installed with Delphi IDE integration. Unfortunately I am not a fan of BC's Delphi integration. It has bit me more than once. Share this post Link to post
dummzeuch 1506 Posted November 26, 2023 8 hours ago, JonRobertson said: I have Beyond Compare installed with Delphi IDE integration. Unfortunately I am not a fan of BC's Delphi integration. It has bit me more than once. Did you know that the limited Beyond Compare that comes with Delphi, can be used to show the differences of two arbitrary files? Just start it with parameters or even just start it and use drag and drop to diff the files. I have even configured it in TortoiseSVN as the diff viewer. Share this post Link to post
JonRobertson 72 Posted November 26, 2023 Yes. I have a license for Pro Edition. I have been a user and fan of BC since version 1. But I do not care for the Delphi IDE integration. I use the Explorer integration and have TortoiseGit configured to use BC. Share this post Link to post
Lars Fosdal 1792 Posted November 27, 2023 I love BC, but using GitKraken, the built in comparer there is pretty nice as well. Share this post Link to post
Der schöne Günther 316 Posted November 27, 2023 VS Code's frontend, for example, can run on any device (like an iPad) while the backend (compiler, linter, ...) runs elsewhere (like a computer, the raspberry in my broomcloset or in the cloud). Share this post Link to post
dummzeuch 1506 Posted November 27, 2023 10 hours ago, JonRobertson said: But I do not care for the Delphi IDE integration. I use the Explorer integration and have TortoiseGit configured to use BC. I wrote my own IDE "integration" using the tools menu a few years ago. Scooter Software actually contacted me about it when they ware approached by Embarcadero to license BC for the IDE integration. I like to think that my simple work was what sparked the idea. Having said that I don't like the IDE integration either. Its complicated to use. Share this post Link to post
dummzeuch 1506 Posted November 27, 2023 7 minutes ago, Der schöne Günther said: VS Code's frontend, for example, can run on any device (like an iPad) while the backend (compiler, linter, ...) runs elsewhere (like a computer, the raspberry in my broomcloset or in the cloud). That's not really an editor feature, is it? Share this post Link to post
Der schöne Günther 316 Posted November 27, 2023 I'd say it absolutely is. You run your editor on any system, and things like inlay hints, code suggestions and compilation itself happens elsewhere. With Delphi/C++ Builder, everything is tied to running locally on a Windows computer. Or are we focusing exclusively on text editor capabilities? I might have missed that. Share this post Link to post
JonRobertson 72 Posted November 27, 2023 4 hours ago, Der schöne Günther said: I'd say it absolutely is. You run your editor on any system, and things like inlay hints, code suggestions and compilation itself happens elsewhere. With Delphi/C++ Builder, everything is tied to running locally on a Windows computer. Or are we focusing exclusively on text editor capabilities? I might have missed that. Except you don't run the Delphi IDE on any system. An IDE that is not cross-platform will have limited cross-platform capabilities. Going down that discussion is going off-topic, imo. That said, I agree that an editor having "front-end" capabilities is a good thing. And some of those may depend on integrating with backend services, such as a LSP server, which may or may not be on the local machine. 1 Share this post Link to post
Lars Fosdal 1792 Posted November 27, 2023 VS Code + C# Dev Kit + .NET MAUI extension for C# Dev Kit is pretty cool. .NET cross platform GUI development on Windows, Mac & Linux. Your Operating System Supported Target DEBUG Platforms Windows Windows, Android macOS Android, iOS, macOS Linux Android You can argue that this is not an editor capability - but well, it is a pretty nifty editor that allows pretty nifty integrations. See also Share this post Link to post
Lars Fosdal 1792 Posted December 4, 2023 Another interesting tool set: https://platform.uno/blog/the-rise-of-c-markup-for-cross-platform-development/ Share this post Link to post
Fr0sT.Brutal 900 Posted December 28, 2023 What I miss in Delphi is caused mainly by buggy/awkward implementation. Structure view is unusable as it always expands fully what is especially annoying when you want to navigate between classes (luckily they added navigation combobox). Method generation always uses alpha ordering while I prefer grouping by meaning. As for inlay hints, I find them handy for dynamic languages but never felt the need for compiled ones. 2c's for Delphi compared to another editors... Currently I use VSCode more than RAD studio and features I really miss from the latter are 1 - subject-aware folding. In Delphi I can fold regions, methods. Other editors I tried only have structure-aware folding - fold level 1, 2, etc. It is really boring and unhandy 2 - sync edit (Ctrl-Shift-J) of a selected fragment. VSCode only can rename a variable (but it must be declared somewhere) or multi-edit but that's not the same. Share this post Link to post
David Heffernan 2347 Posted December 28, 2023 I opened Visual Studio the other day and made some edits to a C# module that implements an API interface for our software. We have interfaces in a variety of languages, C++, Python, C#, etc. I was blown away when VS offered me suggestions for the code I was writing. Clearly it's using some AI library to do this. Honestly, the quality of the suggested code blew my mind. I knew what I wanted to write, and so did VS. This is only going to get better and better, but it's already amazing. So far as I know, there's nothing remotely like this for us Delphi users. Or would we get this is we wrote our code in an editor like VS Code?? Share this post Link to post
angusj 126 Posted December 28, 2023 (edited) 1 hour ago, David Heffernan said: I was blown away when VS offered me suggestions for the code I was writing. MSVS does even better that that, it also suggests how to improve your code. (Well it does for me, but perhaps not for you if your code can't be improved 😜.) Over almost 30yrs, I've written a lot of very useful (ie reuseable) Delphi code, otherwise I would have ditched Delphi years ago. Edited December 28, 2023 by angusj 1 Share this post Link to post
Der schöne Günther 316 Posted December 28, 2023 (edited) One of my favourite was when an editor (obviously not RAD Studio) suggested me to rename a function slightly, so that it would become clearer that the data is processed in a specific way. Meanwhile, Delphis compiler won't even tell you when you're accidentally reading uninitialized values from records. Edited December 28, 2023 by Der schöne Günther 1 Share this post Link to post
Dalija Prasnikar 1399 Posted December 28, 2023 3 hours ago, David Heffernan said: Clearly it's using some AI library to do this. https://learn.microsoft.com/en-us/visualstudio/ide/ai-assisted-development-visual-studio 3 hours ago, David Heffernan said: This is only going to get better and better, but it's already amazing. So far as I know, there's nothing remotely like this for us Delphi users. Or would we get this is we wrote our code in an editor like VS Code?? You can use GitHub Copilot with VS Code. My current problem with those AI tools is accuracy (which is less of a problem if you know what you are doing and you are using it for small code snippets completion), potential legal issues (they trained on open source, but that does not mean that they haven't violated open source licenses), and next question is how much of my code ends up in training data which may leak security sensitive data. 2 Share this post Link to post