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
Disable Bing search in Windows 11 Start menu
Note to self: There is an easy way to disable Bing search in the Windows 11 Start menu: Add the following Registry entry: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search [DWORD] BingSearchEnabled=0 To activate the setting you need to either reboot or run the following command: gpupdate /force Source: makeuseof.com
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
More on inline if expressions
In my previous post I announced that the code formatter now supports inline if expressions (aka ternary operators). That was technically true, as long as these expressions were in one line of source code: [delphi] Value := if Condition then TrueValue else FalseValue; [/delphi] But as soon as you tried to split longer expressions into … Continue reading More on inline if expressions
GExperts Code Formatter supports the Delphi inline if expression aka “ternary operator”
In Delphi 13 Embarcadero introduced a new syntax construct for inline if expressions which they call "ternary operator". It implements what previously had to be implemented with the overloaded IfThen functions as a native compiler feature. These look like this. [delphi] Variable := if Condition then TrueValue else FalseValue; [/delphi] At the same time they … Continue reading GExperts Code Formatter supports the Delphi inline if expression aka “ternary operator”
Enumerating enum types in Delphi AI answer
Regarding my previous post on Enumerating enum types in Delphi I asked claude.ai: Question: I need a way to iterate over all values of an enum type in Delphi. Something like: [delphi] var e: SomeEnumType; for e in SomeEnum do begin doSomethingWith(e); end; [/delphi] But that doesn't compile. I'd like to avoid programming a for-loop … Continue reading Enumerating enum types in Delphi AI answer