NOTE: This is still experimental and has been tested with Godot 4.7 but should work with recent versions. The current version uses a script for filling the String registry that only works with GDScript files but can be easily augmented for C# files by adding a custom handler. The inspector controls should work regardless, but have not been tested with C# at all.
Create a directory file that lists paths/uids to scan for valid String(Name)s to place into a registry (okay it's just an array). (You can right-click desired files in the filesystem and copy either the path or the UID.) Set the path to this directory in the project settings (see below). Optionally, implement a custom scanner by extending StringRegistryFiller as desired, in which case the directory file may contain whatever data is expected by your scanner.
When editing a resource in the inspector with exported Strings or StringNames, this add-on opens a live-filtered dropdown list in a popup panel for viewing matching names from the registry and shows a verification checkmark when the value in the property is in the registry.
Live-filtering is through an ItemList in a PanelContainer on a high-valued CanvasLayer, and the popup currently does not adjust if it goes off-screen. Hopefully that will be updated in the future.
Current default implementation uses directory file with a list of paths/uids for GDSCript files and pulls all (and only) const StringNames defined within those files. This behavior is easily modified with a custom class extending StringRegistryFiller and implementing get_list(filename).
The list is repopulated whenever a resource is opened in the inspector, so you don't have to do anything special if you change the directory.
Changelog for version v0.2.0
No changelog provided for this version.