ivanfon / godot-command-palette Goto Github PK
View Code? Open in Web Editor NEWA quick file finder and command palette for the Godot game engine.
License: GNU General Public License v3.0
A quick file finder and command palette for the Godot game engine.
License: GNU General Public License v3.0
...or remap ctrl-s to save whatever thing you're in?
If the string you type in indicates a desire to add a project setting or editor setting, you could have those options come up as commands in the default Ctrl+P popup. If that command is selected, you could pull the property list from the engine's corresponding singleton and do a subsequence match on a new LineEdit popup for the user to define and match a property name.
Maybe for bools, you could show the current value beside it as they look up the property. If they then hit enter, instead of Esc to quit the popup, you could open another popup for them to type in a new value (or just toggle it in the case of a bool).
Using the editor's UndoRedo object would be important here.
If a node is selected in the Scene dock, you could match subsequences on the list of properties associated with that Node in the Inspector (any property with "usage" that includes PROPERTY_USAGE_EDITOR
- it's a bitwise flag enum). You could then open a popup to set the value of the property (or toggle it in case of a bool) while also showing the current value of the property as a string while people are searching (this is actually identical to #3 since both of them involve calling set
on an Object upon which whose get_property_list()
results you are iterating).
In the interest of supporting multiple command operations, you'll need an abstraction level to indicate what the command is, and potentially even what category the command belongs to, rather than just assuming "Quick Find" is the command being used.
With this, you can develop all sorts of other quick operations that can indicate what operation is being performed beside the value it is being performed on (much like VS Code does).
If the user starts typing out the name of a node in the scene, you could subsequence match on the list of nodes in the scene and, if selected, automatically grab focus of that Node in the Scene dock.
Whenever the user double clicks on one of the items in the Quick Find list, it also starts editing/opens that item.
Would simply make a keyboard-accessible shortcut for creating a new script by opening the ScriptCreateDialog. Could also make an optional parameter for adding it to a node at a specific NodePath within the current scene (where it gives autocompletion on the NodePaths available).
As the title suggests, the release has been updated to godot-command-palette
, but the preload
on line 4 of quick_find.gd
is still expecting godot-quick-find
.
It will be more powerful if users are able to take advantage of RegEx for any of the commands that they need to use (especially things that get extrapolated to groups, e.g. if #4 is expanded to also allow grabbing all nodes whose name and/or NodePath match a certain regex). Not sure if there is a way to offer this globally for all relevant commands (each command could just opt-in to it?), but if not, I suppose you don't need a dedicated Issue for it, unless you wanna use this as a Tracker to identify all the features that do/don't yet have regex support added.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.