RAD Studio 10.4.1 is a quality-focused release, and this goes for the IDE! We’ve addressed many items including some very commonly requested changes; read more below.
A ‘quality-focused release’ means one where we introduce very few new features, and focus 95% of our development efforts on quality. 10.4.1 has had a lot of work in the IDE and will be much smoother for you once you install. But, in 10.4.1 we’ve also spent that time on new features, and we’ve implemented a couple of really commonly requested items.
There are two sections to this blog post: first, a change to an old IDE feature; second, a new feature, and key areas that you may be very happy we’ve focused on!
- The Floating Form Designer
- Layouts and Multiple Monitors: aka, ‘when does the IDE change things?’
- Notable Quality
Table of Contents
The Floating Form Designer
Ever since 2003, the RAD Studio IDE has been ‘docked’: that is, while you can drag tool windows like the Palette, Object Inspector, Messages, Watches and so forth to float, the overall design of the IDE is an integrated window. Specifically the editor and form designer are integrated in the main window.
The ‘floating form designer’ is when you turn this off, and it allows the form you are designing to be a window among other windows; that is, it’s not embedded in the main IDE, but mimics the Delphi 1-though-7 behaviour where the designed form can be above or behind the editor. This behaviour has been replaced by modern docked designing for seventeen years, requiring you to manually turn on the old-style feature, and unfortunately did not always behave well. When assessing the feature, we made the hard decision to remove it.
What does this mean? Does it mean you can’t have multiple editor or designer windows, for example? No! Very much not. In fact, you can still have multiple editor windows spread over multiple monitors too if you wish, with each one hosting a designed form… and we’ve even tweaked a wide range of areas and UX or behaviour tweaks while you do!
Two really notable items we’ve addressed in this area are:
- The IDE used to not work quite as you’d want when clicking on an item in the Structure pane: the Structure pane would sometimes scroll and the wrong item was selected. This is now resolved. If you click, it will select what you clicked on. I’m really glad to note this one.
- When you have multiple forms being designed at once, the Structure and Object Inspector windows would reflect the selection for the form designer in the window they were docked to. Now they always reflect the form you are editing. Ie, whatever you’re working on is what they’ll show information for, regardless of what’s docked where. The key to note here is how much better 10.4.1 is at handling form designing over multiple screens.
These were ‘annoyances’, things that might seem minor but got in the way when working. We’re glad to note the better behaviour in 10.4.1.
Layouts and Multiple Monitors: aka, ‘when does the IDE change things?’
When working with layouts and the designer, we also added one often-requested feature.
Desktop layouts save the position and location of your IDE windows, including the monitor your IDE is on. You can create your own or overwrite an existing one – just click the desktop/moon icon on the title bar, and save the desktop (choose a new name, or a pre-existing name.) The IDE switches between layouts automatically – which one it chooses when can be controlled on the IDE Options > IDE > Saving and Desktop page – but you can always choose one at any time by clicking one in the combo box on the title bar.
Although some people use the IDE across multiple monitors, eg designing on one screen and coding on another, it’s also common to have the IDE entirely full-screen on one monitor only and to move it to another screen when debugging. That is, you want your main monitor to display the IDE when doing normal development, and you want it to move to another monitor when debugging, so your app sits on the main monitor. This is possible by moving the IDE to another screen, and saving the Debug layout. Then, every time you debug the IDE will move to the second screen. The key is, this is every time. Sometimes you want some flexibility.
Many people don’t want to manually save layouts for specific screens. Instead, they want to just move the IDE and have it stay where you put it. In this scenario, in the past, if you dragged your IDE to the second screen and clicked Run, and hadn’t explicitly saved your Debug layout on the second monitor, the IDE would move itself back to the main screen as it switches layout. That’s likely not what you want.
In 10.4.1, we’ve introduced settings to control how the IDE moves itself, and this lets you tell the IDE ‘don’t move; stay where I put you’ or ‘only move in specific circumstances’. The new settings are in the Options dialog, IDE > Saving and Desktop section, ‘Layouts and multiple monitors’. This allows you to choose when the IDE can move screens when changing layouts.
The options are:
- Allow changing screen on any layout change: this is the old behaviour; the IDE will see which screen a layout was saved on, and move there
- Only allow changing screen toggling to/from the Debug Layout: this addresses the above scenario where you may want to have the IDE on your second monitor when debugging, but only then. It lets the IDE move only when starting or stopping debugging.
- Always keep the IDE on the same screen: the IDE will never change monitors. It will always stay where you put it.
These settings should greatly help you control where the IDE is placed. Remember, you can always save a layout via the desktop/moon icon on the title bar, and choose a layout via the combo box on the title bar. Doing so, combined with these new settings, will let you have the IDE both look and be located wherever you need, and let you configure it so it is always located and laid out how you want automatically.
There are over 800 quality fixes in 10.4.1, and the What’s New document has a huge list. This is just a selection of some issues you may have encountered that it’s particularly worth pointing out no longer occur:
- Packages can now have an automatic version suffix, instead of manually specifying the right version suffix with each new release
- The Options dialog (environment options) used to always open to show settings for the Win64 target platform; now it opens according to the currently active platform. This is a often-requested bug report, one we’re very glad to resolve.
- The Object Inspector also has tweaks around selection when clicking, as well as flickering when drawing.
- ‘Delete Invalid Paths’ in the path editors in the Options dialogs could, in the past, delete valid paths. Now, it only deletes invalid paths.
- You can scroll in the Options dialogs with the mousewheel
- The Projects view has some options available again through a dropdown on the toolbar
We don’t normally highlight issues, but these are worth noting because they are ones you likely encountered and it’s worth knowing they are resolved in 10.4.1.
RAD Studio 10.4.1 is out now. It’s a quality release, with a large focus on quality and improvements. As well as many tweaks and fixes in the IDE, there are some new features around layouts and multi-monitor that have been requested for some time, and which we hope you’ll really like having, as well as similarly some attention in quality areas that we think will be really popular.
10.4.1 is out now! Read more, see what’s new, see the fix list, or download it on my.embarcadero.com.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition
Hopefully, the next versions will also handle ‘speed’. The IDE is terribly slow and the CLANG compiler is 10x slower than the classic compiler making it useless for large projects that already take 1 hour to build on the classic compiler.
I just can fully agree! Without Andreas Hausladen’s IDEFixPack the whole thing takes appx. triple the time for compiling my application. Further switching between PAS/DFM (F12) is incredibly slow; this is also fixed with the IDEFixPack. I can’t understand why not all fixes from Andreas aren’t incorporated into the product? Why isn’t Emba in the position to supply us with a good/suitable/fast product as we pay thousands of €/$ each year…
Check out TwineCompile. It’s free with your update subscription and is in GetIt now. It can speed up your C++ build times by as many cores as you have, and sometimes even more – in some cases, it can be 50x faster.
> What does this mean? Does it mean you can’t have multiple editor or designer windows, for example? No!
You mean Yes when it comes to opening two edit windows on the *same* form. I used to like having two edit windows on the code behind the same form. Now you can only achieve this by manually editing the dsk file! If you try New Edit Window on a form then it creates a new edit window okay but removes the original tab so only once instance of the same form! If it’s the only tab on the new edit window then New Edit Windows does nothing.
Fixing the issues by removing the functionality is ridiculous. It is simply sad, similar to the (actual) removal of multiplatform support from C++ Builder.
Previously with the embedded designer switched off we were able to have the editor and the form in separate windows. This cannot be done with the new designer and is sorely missed!
this release is full of regressions, looking forward for a patch. asap
Hi Shavkat. Do you have specific QPs you’re finding a problem?
I don’t seem to be able to have the designer for a form, and the code for a form visible at the same time. Is it possible?
The problem with making the designer and the code editor share the same frame is that they are completely unrelated, why force the form into the code straightjacket?
But the bottom line is I still can’t see a form and edit code at the same time. This was the whole point of the floating designer… not having to constantly switch between a form and it’s code window. I really miss the ability to see both at the same time.
> ‘Delete Invalid Paths’ in the path editors in the Options dialogs could, in the past, delete valid paths. Now, it only deletes invalid paths.
This isn’t really true. It still deletes valid paths if they contain $(Platform) or $(Config).
Iow, if the DCU path of the base config is d:\Somepath\here\$(PLATFORM)\$(CONFIG) it will be
deleted, even though it is valid for all available platforms and configs.
Thanks. We’ll look into it.
Several people have commented a similar thing about the form designer, so I’ll reply here to everyone. The feedback is that the floating form designer was used not specifically because it was floating, but because it let you have the code and designer for the same unit open at once. Now, you can’t.
That’s a good point, and good to know it’s the main reason you use it. We’ll look into fixing this. Thankyou for the feedback.
Good to hear that. I hope you can fix this problem soon.
In all versions since the docked main window was introduced I’ve used regedit to edit the registry key to turn the floating form designer back on, and have the IDE behave as CBuilder 5 did.
One editor with multiple tabs, one tab for each unit open, and each form floating on the desktop. That’s basically the only way to have quick access to all components on all forms, and have the form and editor visible concurrently. The editor automatically switches tabs based on which form I currently have active, whenever I double click on an event handler. What’s more, due to the forms being floating forms, I can seen exactly where they will be when the application is build and run, especially in relation to one another. So I can position them correctly in the IDE simply by moving them around.
Not having this ability anymore is basically a deal breaker. That’s how important this is to me and my colleagues
I am voting very strongly for this FIX!
J.P. Dijkstra described definitely exactly why a floating desinger should not disappear! Constant switching with F12 is very irritating. Delphi has always had a better form designer than, for example, VS, but disabling this feature degrades it to its level.
We are yet considering upgrading to 10.4.1 and we are currently using Delphi Berlin. One annoyance here is if I am editing the code, then click on the form and then CTRL+ALT+P to put let’s say a panel on the form, the tool palete is searching among the “Delphi projects”/”Other files”/”Unit test…”. So one has to double click the form to search between GUI components…
The next thing is I hear from one ouf our outsourcer that is using Tokyo/Rio and using High DPI monitor. The menu fonts are terrible small and You can’t change them. Now imagine 8 px font on 3840×1920 27″ monitor. Are these things also resolved?
Hi Goran. To check, are you saying that when the form designer is open, you don’t see components in the Palette, just the list of available project types? We don’t have a bug report there, so please enter one (with a screenshot or steps if possible please) and if you let me know the number I’ll escalate it to QA as a high-priority one to check.
Re high DPI: we do not yet support high DPI, so the IDE is scaled by Windows. However, you can change the font size used in the main window. Please see here: http://docwiki.embarcadero.com/RADStudio/Sydney/en/System_Registry_Keys_for_IDE_Visual_Settings Also please read the note re resetting the Toolbars registry key after making this change.
Unable to aPPLY desktop LAYOUT “Classic Undocked”
Floating (Undocked) layouts are no longer supported !!!
PLZ provide atleast the option where we can Maximize the whole Form designer & the code editor to full screen
i can’t write any code or even design my forms inside a Narrow work space !!!
I got used to use CNWIZARD For maximizing or full screen my form designer or code editor…
but now unfortunately i can’t !!!
Hi Pedro. RAD Studio 10.4.2 supports having both the form designer and code editor for the same unit visible in different windows at the same time. I think that’s what you’re looking for! It came out a week or so ago – please check it out.
Re full-screening the form designer or code editor, can you explain a bit more about what you want please? Do you mean a “focus mode” where most other UI is hidden? Do you have any screenshots of what you did with CnWizard that illustrate what you used?
Installed Rad Studio 10.4.2.
Created “New Edit Window”
Design tab is disabled.
I really need Design in separate, big window.
Reinstalling to 10.4. What a shame 🙁
What we want is for the Design tab to be disabled when the Design tab is visible (for the same unit) in another window, and if you move from Design to Code there, the Design tab in your second window becomes enabled. This may be implemented in 10.5.
In 10.4.2, you could set up a desktop layout where most designer docked windows are docked to the second window?
I can’t see a form and edit code at the same time. This was the whole point of the floating designer. Having to constantly switch between a form and it’s code window is soooo slow….
This should work in the latest version (10.4.2) and we have even more improvements coming to it in 10.5.
Please return Classic Undocked.
Stay tuned for what’s coming in our future release 😉
We won’t reintroduce classic undocked exactly the same. But we do want to ensure you can edit code and forms easily at the same time in different windows.
As far as I am concerned, removing undocked form designers is a deal-breaker. We use 10.3 at work and I installed the latest Community edition now at home, which is still 10.4.2. Unless a newer Community edition which fixes this issue comes out soon, I’ll just go back to an older edition and I will advise my work NOT to upgrade past 10.3 – we used Delphi 7 for a decade before upgrading to 10.3 – we can use 10.3 for another decade.
Removing a feature used by so many user out here just because a handful of people at Embarcadero feel it shouldn’t be used, is unacceptable – a typical Microsoft attitude. Leave flexibility in your products – we need to see the full form we are designing! In my edition I can’t even seem to have it in two editor windows on one monitor! And I can’t see the whole form – too many stuff above and below it in the editor window.