Giter VIP home page Giter VIP logo

godot-command-palette's People

Contributors

ivanfon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

godot-command-palette's Issues

Add ProjectSettings and EditorSettings add/update support

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.

Add "quick set" support

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).

Add a Command layer abstraction

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).

Add "Quick Select Node" support.

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.

Add "New Script" command.

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).

Add support for regex matching on file names / class names, etc. for arbitrary operations.

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.