I love writing code so here are some script editor enhancements I would like to see in Godot. It's not a top priority but it might be a good material for 2.1. What do you think? Add your own ideas.
I would love to have additional ability to switch between script list on the left and script list in tabs (like in previous Godot versions). I have rather small laptop screen and this would make my life easier quite a lot :)
Multi-line editing and word-highlighting also sounds very good :+1: . I would also definitely add more colors, for the syntax highlighting, especially "variable"(local or member) and "method/function" highlighting/recognition (declaration and usage both a little different color, declaration could be bolded).
"I would love to have additional ability to switch between script list on the left and script list in tabs (like in previous Godot versions)." You mean like the old Resource tab?
Maybe I will post a picture that will illustrates what I meant:
https://goo.gl/photos/Ecp8N6Mj5ZQeRCYf7
(sorry for quality of the first example, took it from you tube video, since don't have any 1.1 project)
I see. Yeah, that's a good idea. Godot is pretty lighweight so I also use it on old laptop with small screen. And there isn't too much space for code. I added your idea to the first post.
The word (variable, method, etc) highlighting would be good to have.
Godot editor already support foreign characters you must,
just change font in editor settings to font imported with "Mode" set to "Unicode".
Auto complete for when you extending script.
Now is working only for extending build in classes.
Also auto complete for Globals.get("") and for paths to resources.
minimap should be pretty easy, and word highlighting for search i'm not so
sure but should be rather easy too i guess
the only feature that seems like a lot of work is code folding
On Sun, Dec 6, 2015 at 2:59 PM, Jeremi Biernacki [email protected]
wrote:
Auto complete for when you extending script.
Now is working only for extending build in classes.
Also auto complete for Globals.get("") and for paths to resources.—
Reply to this email directly or view it on GitHub
https://github.com/godotengine/godot/issues/2982#issuecomment-162332249.
I am not sure about OP, but I didn't mean search word highlighting (though this is cool too). When the cursor is over a variable (or method), this variable and all of its usages will be highlighted.
+1 (syntax highlighting, especially "variable"(local or member) and "method/function")
Couple more enhancements from me:
Would be happy if you @GlaDOSik could add these two to the list in the first post :)
edit: Thanks a lot for adding these @GlaDOSik :+1: :)
neikeq Yes, I meant highlighting selected word in the script.
Thanks for your ideas. I updated the first post.
jeremi360 Yes, but only script editor. Not the whole engine. I can write in script some_label.set_text("ěšěčšřčžý") but it won't work. I can't write that in Inspector either. So it's pointless.
Would love a full screen mode for coding in gdscript, nothing to distract or reduce the work area.
And a way to switch between scripts that would appear as a list only when needed.
many great ideas, let's label this 2.1
Hi, I have 3 requests to be added:
Numpad arrow/home/end/pgup/pgdn should work as usual when numlock is off
I have a notebook with a numpad, and I use the numpad with numlock off. Currently on Gotot when I press up/down/left/right/home/end/pgup/pgdn nothing happens. It would be great if they can work like the regular keys. This is on Linux.
Copy-on-select, and paste with middle-click
The other thing is, in Linux, when selecting text, it automatically copies it to your clipboard. Likewise, middle-click is paste. I find this extremely useful and is quite used to it. I understand that this could confuse people, but even as an option it would be great.
Tab should enter spaces instead of a tab character
Often on python editors (also a whitespace sensitive language), there is the option (and default behaviour) to enter four spaces (or tab equivalent) when pressing tab, instead of a tab character. This resolves confusion where people mix tabs and spaces, and have tabs configured to different sizes.
The list was updated. But I'm not sure about 3rd point. GDScript uses tab-based indentation so I don't know how it should work with spaces.
I have been using GDScript with tabs, but lots of sample code I find on the internet is space indented. I think it is clear as long as you stick to one or the other?
Maybe an option to clean indentation as a macro would be a better idea? I know Komodo can be configured to automatically fix indentation to a desired style on load, and it works well enough. It does the little things, like replace tabs with 4 spaces, removes all trailing space, etc...
But that it probably too complicated to implement to be worth it, as it could really break some peoples established workflow.
I do agree that point 3 as it currently stands probably isn't very useful.
Regarding this point 3, I once opened #1340 but it seems far from being consensual... Now I got used to tabs, but I'd like to have the possibility to use spaces too. It is not as simple as changing the effect of the tab key though, the editor hardcodes the addition of tabs in some context, e.g. to autoindent when opening a block, etc.. It would have to be made configurable too (and depend on the editor setting for indentation).
This function would be also cool to have.
node2d.set_pos(getNew 'click here' Pos())
func getNewPos():
return Vector2d(0,1)
I would also love to see word highlighting in script editor. This makes navigating through the script and finding multiple variables/objects or values so much easier!
I think the following requests should go into separated issues:
I could do it, but there's already a lot of issues and I think it's handy to have them on one nice list. Maybe, renaming the issue would be enough?
This list is good as a reference, but we should also make each item an individual issue that can be actually tackled. Then we can have PRs closing the individual issues in manageable steps and enhance the script editor gradually.
A neat thing to do, parallel to individual issues, would be to add checkboxes to the top post here.
Yeah I was gonna say this is 20 issues in one. Buy 1 get 19 for free. Each issue should be an individual topic makes life easier for devs I found out.
Yes, that's why we have the tracker label now.
Also about half of these are already done based on pull requests and comments? Is hard to close these issues when you have them all in one list.
Fine, I'll do it. I'm still not comfortable to make more issue requests. There's already more than a thousand of them and I feel the new ones will sink down very soon. But yeah, I get your point. I'm on it.
optional tree organized scripts and code minimap would be nice additions
On Sun, May 29, 2016 at 2:04 PM, GlaDOSik [email protected] wrote:
Fine, I'll do it. I'm still not comfortable to make more issue requests.
There's already more than a thousand of them and I feel the new ones will
sink down very soon. But yeah, I get your point. I'm on it.—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/2982#issuecomment-222371152,
or mute the thread
https://github.com/notifications/unsubscribe/AF-Z2wWoUuIKYGsMRYz7ZP6c_8-msKgfks5qGccogaJpZM4Gubns
.
It'd be nice if we could disable case sensitivity in autocomplete. So it'd stop caring that I typed in lowercase and just suggest matching uppercase items.
@wahming are you sure? https://github.com/godotengine/godot/issues/5964
Hmm, what about global search? It was kinda mentioned in #5747, but now it's closed and global search is nowhere on this list. Should i open a new issue?
@caryoscelus yes you should :)
ability to collapse bundled lines of code (ifs, functions, etc.) (Todor Imreorov via FB) #2732
Can be considered closed after the latest merge.
@HummusSamurai really, did I miss something? ;)
I haven't seen this being implemented recently.
I would like to add my minor improvement request.
@Hinsbart Ah my bad, the PR has not been merged yet.
But issue https://github.com/godotengine/godot/issues/2732 can be considered complete after PR https://github.com/godotengine/godot/pull/8974
I'll point it out in the issue if the PR doesn't close it.
@HummusSamurai AFAIK #8974 is just about functions overview, it does not implement code folding as is requested in #2732.
might also add :
Updated the OP to add the last two requests.
I would like to expand on:
split editor horizontally/vertically (vnen) #5315
It would be nice if you could pop out a script editor tab (or multiple tabs if you will) into it's own application window. This way you can position Godot's editors across multiple computer screens.
Support for multiple application windows in general could also add unique gameplay possibilities for games.
Found this issue and thought it's not worth to make a separate one.
My idea:
Allow for closing scripts with Middle Click, just like you can close scene tabs.
I think the editor is missing an auto-wrap option. Very useful when typing long strings / comments. You can write multiple strings and concatenate them with "+" but if you ever want to change the text again it's not a good solution.
i would only request a better Ctrl+Click and better autocomplete that can figure stuff out intelligently
@Jvanmourik it might be nice but the editor does not support multi window. the pop up window would simply be a subwindow inside that same window
@CarlGustavAlbertDwarfsteinYung
i would only request a better Ctrl+Click and better autocomplete that can figure stuff out intelligently
This is too vague. We all want a "better" engine. You should point out what exactly is failing, where it could complete but it's not doing (and preferably open a new issue about it, if there isn't one already). Especially since this is a tracker for multiple issues, this only adds noise, so please refrain to comment if you don't have a specific need.
Also, you are replying to a 6-month old comment, which is still a valid request (the editor will eventually support multiple windows).
@vnen you woke up on the wrong side of the bed eh? is okay man i like adding noise. get used to it ;)
but since you asked ""so nicely"" here is an actual example
when you Ctrl+Click on a member function of an array index like so
strings_array[0].begins_with("a")
it does nothing because the Ctrl+Click function cannot figure out strings_array[0] is a String object
there are other examples. I hope you don't want me to list them all do you?
also my reply to a 6 month old comment is still relevant because Godot cannot do multiple windows. In fact me and you right no we're replying to a 3 year old post. How do you feel about that? Haha. Is okay man you're a big boy you can deal with it.
@CarlGustavAlbertDwarfsteinYung Nobody has to "deal with it". If a core developer tells you that your comment is noise and counter productive, it's not about waking up on the wrong side of the bed, it's about trying to keep things organized and efficient with an issue tracker strong of thousands of issues, and 300 to 500 more per month (and contributors spending their free time handling all this).
This issue is a tracker, which means that it's meant to keep references to other issues opened regarding specific script editor enhancements. Describing vague enhancement here without opening a detailed issue is not only useless, but also a waste of our time.
there are other examples. I hope you don't want me to list them all do you?
So yes, open an issue and list them all. Then we can see how to improve the Ctrl-Click behaviour. We don't have a magic wand to "improve" things if we don't know what has to be done.
@akien-mga Nah
You guys are overworked. You need some time off.
Seeing how old this issue is and how many of these were implemented, I'll close this issue. New issues should go into new issues, and for feature proposals there is now the proposals repository. :)
Most helpful comment
@CarlGustavAlbertDwarfsteinYung
This is too vague. We all want a "better" engine. You should point out what exactly is failing, where it could complete but it's not doing (and preferably open a new issue about it, if there isn't one already). Especially since this is a tracker for multiple issues, this only adds noise, so please refrain to comment if you don't have a specific need.
Also, you are replying to a 6-month old comment, which is still a valid request (the editor will eventually support multiple windows).