Delphi 10.1 Berlin
The IDE for Delphi 10.1 Berlin released in April 2016 had quite a few enhancements. In all previous versions of Delphi, units with forms shared the same IDE window—you had to switch between code and form design mode. Finally, in Delphi 10.1 Berlin, using an Embedded Designer is now an option in the Form Designer section of the Tools | Options dialog. Switching this option off allows you to move a floating window for both the VCL and FireMonkey form designers separately from the code editing window.
FireUI Live Preview is an amazing new tool that gives FireMonkey application designers the ability to preview and debug their user interfaces in real time on remote devices. The IDE acts as a "client" that communicates with a Platform Assistant Server you need to install on the target device, which connects over a local network or a connected USB cable. The server capability is built into the Windows IDE, and PAServer for Windows, Linux, and OS X is included with the Delphi installation. Details on setting this up will be explained in Chapter 4, Multiple Platforms, One Code Base.
GetIt Package Manager was introduced a few versions back and allows quick access to open source, trial, and commercial components, program templates, and styles. In Delphi 10.1 Berlin, the Project Options dialog window gained a new section called GetIt Dependencies. Here, you can check off one or more GetIt packages that are used in your project. Then, when you open a project where one or more of those marked GetIt packages are not installed, you'll get a message that the project has dependencies that are not installed.
NOTE
If any of these dependencies are not installed when you try to build your application and you get an MSBuild error stating the GetItCmd task failed unexpectedly, you need to add an environment variable (Tools | Options | Environment Variables): New Variable: Name = "BDSHost
" and Value = "true
".
If you ever purchased the Castalia for Delphi suite of IDE tools from TwoDesk Software, you may recall several nifty features they added to Delphi. Embarcadero acquired Castalia in 2015 and has incorporated many of those features into Delphi 10 Seattle, as previously noted. One of my favorites is bookmark stacks. This allows you to drop a temporary bookmark in your code, go to another section of code, or even another file, then recall the temporary bookmark to jump right back to where you were coding, cleaning up the temporary bookmark. However, you may want to customize the default keys for this as it uses a difficult key sequence to drop (Ctrl + K and Ctrl + G) and pick up (Ctrl + Q and Ctrl + G) the bookmarks.
NOTE
In the Delphi 10.3 Rio section, you'll learn about the Navigator plugin that has been added that provides nice keyboard shortcuts for this feature.
If you're most efficient when keeping your hands on the keyboard, you may really like Selection Expansion. This allows you to click Ctrl + W in the code, and with repeated clicks of Ctrl + W, expand the selected text to increasingly larger code blocks, starting with the current identifier and moving up to statement, line, block, method, and so on.
There's a new menu item under Projects called Method Toxicity Metrics that gives you statistics about the procedures and functions in the active project and that may indicate good candidates for refactoring. You can export these metrics and customize thresholds under Tools | Options | Toxicity Metrics.
Other improvements include more support for Android services, Android smart watches, iOS ad hoc applications, CPU view support for iOS and Android, a new File Associations page on the Options window, and the ability to show or hide the Navigation Toolbar. Finally, the IDE is now DPI-aware.