The Reverse Statement expert in GExperts has received a major upgrade. Previously, it could reverse simple assignments and swap a small set of hardcoded function pairs. Now it uses configurable regex-based rules that you can customize to match your own coding patterns. What Does Reverse Statement Do? When you press Alt+Shift+R in the Delphi IDE, … Continue reading GExperts Reverse Statement Expert: Now with Configurable Regex Rules
Category: Delphi
GExperts Code Formatter: Align Assignment Operators
The GExperts Code Formatter can already var blocks, const blocks and single line comments at a configurable column position. The latest addition brings the same capability to assignment operators (:=) in regular code as suggested in this feature request (Yes, I do read those.) How It Works When enabled, the formatter pads the space before … Continue reading GExperts Code Formatter: Align Assignment Operators
GExperts: Sharing Identifier Casing across Experts
The GExperts Uses Clause Manager (UCM) has always parsed the identifiers exported by all units in the search path. It uses this information for its own purposes, like showing you which unit to add to your uses clause when you type an unknown identifier. But that parsed data just sat there, unused by any other … Continue reading GExperts: Sharing Identifier Casing across Experts
GExperts: The Dialog That Ate My Screen (and How I Finally Fixed It)
If you've been using GExperts' "Edit Unit Search Path" dialog on a multi-monitor setup with mixed DPI scaling, you may have noticed something odd: The dialog gets a little bigger every time you open it. Not dramatically - just enough to be annoying. Open it ten times and it's noticeably larger. Open it twenty times … Continue reading GExperts: The Dialog That Ate My Screen (and How I Finally Fixed It)
Exploring DelphiLSP: A Small Experiment
Today I got curious about Embarcadero's DelphiLSP - the Language Server Protocol implementation that powers code intelligence in the Delphi IDE. I wanted to understand how it worked under the hood and whether it could be useful outside of RAD Studio. The result was DelphiLSP Tools, a pair of small Delphi applications: DelphiLspProbe is a … Continue reading Exploring DelphiLSP: A Small Experiment
GExperts 1.3.26 2026-02-07 released
The new GExperts version still supports all Delphi versions back to Delphi 6 (with the notable exception of Delphi 8) and even the Delphi 13 version is no longer in Beta state. There is also a 64 bit DLL to be used in the new 64 bit IDE of Delphi 13. And guess what? Dark … Continue reading GExperts 1.3.26 2026-02-07 released
Context-Sensitive Preview in GExperts Code Formatter Configuration
The formatter configuration dialog now shows context-relevant preview code when you switch between settings tabs. Previously, the same preview.pas file was shown regardless of which tab you were configuring. This made it difficult to see the effect of certain settings because the preview code didn't contain relevant examples. Now each tab loads its own preview … Continue reading Context-Sensitive Preview in GExperts Code Formatter Configuration
GExperts Win64: Enabling the Explicit Filter Expert
The GExperts 64-bit build just got a little more capable. The Filter Explicit Properties expert, which prevents the IDE from writing ExplicitLeft, ExplicitTop, ExplicitWidth, and ExplicitHeight properties to .dfm files, now works in the 64-bit IDE. Since Delphi 2006, the IDE has been adding these Explicit* properties to .dfm files. While they serve a purpose … Continue reading GExperts Win64: Enabling the Explicit Filter Expert
GExperts Code Formatter: Delphi 13 Language Support
The GExperts code formatter has been updated to support three new language constructs introduced in Delphi 13: The noreturn Directive Delphi 13 introduces the noreturn directive for procedures that never return (e.g., procedures that always raise an exception or call Halt). The formatter now correctly keeps this directive on the same line as the procedure … Continue reading GExperts Code Formatter: Delphi 13 Language Support
Using svn:global-ignores for Project-Wide Ignore Patterns
Note to self: If you're using Subversion and want ignore patterns that apply to your entire repository and work for all team members, svn:global-ignores is the solution. Unlike client-side configuration (like TortoiseSVN's global ignore settings), this property lives in the repository itself. Setting It Up Set the property on your repository root: svn propset svn:global-ignores … Continue reading Using svn:global-ignores for Project-Wide Ignore Patterns