This is a list of list of features and API additions that would make the experience of using DataRefTool better in X-Plane:
When a plugin crashes list the name of the relevant dataref or command if it crashes in a dataref accessor callback, or command handler.
For example, if a plugin registers a dataref, and I read the value, the error message could be something like:
This application has crashed because of the plugin: XYZPlugin while reading dataref xyz/plugin/value
Why: DataRefTool tends to cause crashes in other plugins; because it reads datarefs every frame, it tends to expose bugs. By providing the user with the dataref name, the user can ask DataRefTool to avoid reading that dataref, avoid ing the crash. (How? Put the dataref name in drt_ignore.txt)
An API to notify plugins of new/existing commands would mean I could avoid scanning files in DRT. This is a hack I'd love to get rid of.
API to get attributes of commands and datarefs:
a. Description (as provided in the UI, and DataRefs.txt), etc. The description is often informative for people trying to understand what a dataref found in DRT does. It would also be useful to describe commands to users using this text in the same way that the Settings window does.
b. Check if a dataref is deprecated. The current version of DRT scans DataRefs.txt for the word DEPRECATED for this purpose.
c. Check if a command has been mapped to a keyboard button or joystick. To me this seems like it might be broadly useful. As an example, PlaneCommand needs the user to push a PTT button; if the user hasn't configured it, I could show a helpful dialog explaining the process.