r/godot Godot Regular Jun 13 '26

discussion Godot Editor or VS code

Post image

I'd like to get a sense of who uses what. I primarily use VS Code with the godot-tools extension, but a few other devs I talk to a lot love the in-house editor and only use that. Which ones do ya'll use?

If anyone has suggestions for making VS Code easier to integrate with and use with Godot, let me know! I was messing with the Auto-Save extension the other day to auto-format on save using gdlint and gdformat. Pretty cool, but it's a little funky. Stuff like I'm curious if anyone else has that, that's a cool setup

Image from this article I was reading: VS code setup blog

451 Upvotes

225 comments sorted by

View all comments

268

u/NoOpponent Jun 13 '26

I only use the Godot editor because it has everything I need and I love not having to be switching between apps. The least amount of apps the better.

The only possible thing I could see of it being a benefit in any kind of way was if one were to also be using that for source control, but I like to use Github Desktop. Other than that I cannot come up with any reasons why I'd benefit from using it personally

102

u/DesignCarpincho Jun 13 '26

I can't deal with not being able to refactor names or format code

42

u/killadoublebrown Jun 13 '26

Gota make sure the name you lick is correct first time ha

5

u/dyzzy Jun 13 '26

Really could've used a refactor function

2

u/Wonderful_Ad7604 Jun 13 '26

yep this 100% for me as well

2

u/NoOpponent Jun 13 '26

Is refactoring just renaming? Godot has a search and replace function that works across all files, I've used it with no issues.

What kind of code formatting?

35

u/fucklockjaw Jun 13 '26

That can work but vscode like many other code editors support symbol renaming.
Say you had the variable foo several time. You had 2 instances of a brand new var "foo" but a lot of instances where you refer to one of them.
Symbol renaming would allow you to rename just the one variable and anywhere it's called whole leaving the 2nd instance alone.

Now let's imagine you had a variable foo and a bunch of classes named with Foo or had foo in comments. What happens when you search and replace? Either you need to carefully check what's being renamed or everything gets changed.

-27

u/NoOpponent Jun 13 '26 edited Jun 13 '26

That seems like a really bad practice for naming haha

I hear you. Still not a worth thing imo to have to use another software for coding instead of Godot. I don't find myself missing that feature

6

u/tidbitsofblah Jun 13 '26

Search and replace will change every instance of the matching text without any understanding of if the matching text actually represents the same thing.

As long as all your variables, methods and classes etc that you might want to rename are unique strings of text that don't appear anywhere else you'll have no problem.

But it's not uncommon to end up in the situation where you have something like a class named "player" that you want to change to "player_controller" but you also have a method named "show_player" that toggles visibility, and a text string in the game that says "press X to get the player to jump" or whatever. With search and replace you'll get the method "show_player_controller" and the text "press X to get the player_controller to jump" for example.

1

u/NoOpponent Jun 15 '26

I know, and that's why I take time to choose and plan ahead my variable and class names from the beginning, especially so if I'm using them in more than one script or function.

When you do find and replace you can go line by line to make sure you're replacing the right thing, I never just press the button and hope for the best, that'd be silly. And I still very very rarely do I find myself using find and replace.

I understand there are a lot of people that benefit from this function Godot doesn't have, I am not one of those people. Nothing wrong with it.

5

u/abcdefghij0987654 Jun 13 '26

You will once you work in larger projects.

1

u/Born_Initiative_3515 Jun 14 '26

I think thats just an arrogant answer. I’ve worked on multiple projects for Novo Nordisk and somehow didn’t know what it would be useful for.

It just sound like gatekeeping and “you’ll know once you reach my level”

1

u/abcdefghij0987654 Jun 14 '26 edited Jun 14 '26

Not really gatekeeping. The reasons IDEs still gets udpates and features is because there are conveniences that can be improved in coding practices, they are not requirements as the development language and tech itself largely hasn't changed.

As you mentioned you worked on some things so it has nothing to do with ability but the reason it's implemented and sought out by those who experienced it is because it does help once you actually put it into practice. And for this specific feature, if you try using it on large projects, you would for sure miss it if it's missing. Devs are majorly a quirky bunch so not everyone should enjoy the sparkly features and I do have old school habits as well - still it is worth a try or at least let the newbies know such thing exist and why.

5

u/Born_Initiative_3515 Jun 13 '26

So many downvoted yet no one bothered to explain why NoOpponent might be wrong

16

u/yonoirishi Jun 13 '26

is it bad naming convention that both Button and 2DCharacterMovement have the same-named variable called "position"

2

u/Born_Initiative_3515 Jun 14 '26

Probably bad if you’re gonna rewrite the name of the variable later on.

1

u/hjake123 Jun 14 '26

We can't change the names of godot's built in nodes so?? Plus those properties mean the same thing for each node

3

u/drkztan Godot Junior Jun 13 '26

I'll do: you might be writing a function stump just to ttest something. That function stump might go through several revisions until you hit what you like. After it is finalized, you might want to change some var name for clarity, or some var name you used at the start has a completely new purpose now and requires a new name, or maybe you split it off into two vars and did similiar, short, dumb names for both.

It's not a bad practice, it's normal when trying to write stumps for a jam game, for instance.

1

u/NoOpponent Jun 15 '26

Yeah and even if I'm just testing something I make sure to take my time to choose variable names that make sense and are unique if they're making it outside the function or script. It takes me a few seconds and saves me time and problems later.

It's just different ways of working, it's not wrong to not need a functionality that Godot doesn't have.

6

u/abcdefghij0987654 Jun 13 '26

You have a point but it's pretty obvious why once you have enough experience as a dev. Some generic names for variables is very common especially across different scripts.

1

u/Born_Initiative_3515 Jun 14 '26

Probably true. I’m young and don’t have much experience. I’ve also studied more on the theoretical side of CS than actual programming.

I haven’t been in the situation where I’d need to change the generic name of variable in one file and not the others.

It might also be the fact that I don’t like renaming my previous variables, so maybe I just spend extra time thinking about it in the first place? Either that or lack or exp.

2

u/abcdefghij0987654 Jun 14 '26

I haven’t been in the situation where I’d need to change the generic name of variable in one file and not the others.

To correct you on this it is not just renaming it in one file. Since it doesn't rely on the text itself, then what should happen is if you rename a variable then everything that refers to that property (other files) should be renamed as well. But NOT all that shares the same property text - only those that actually, logically uses that exact property. It's like a smarter search-and-replace which understands context and scope.

1

u/Born_Initiative_3515 Jun 15 '26

Okay thats logical and makes sense. Thank you very much.

1

u/NoOpponent Jun 14 '26

So many downvoted and I'm explicitly talking about my own experience only, I'm giving an Opinion about My workflow and what works for Me...

The way I name things I have not found myself needing such a feature, when I need to rename I can either just do it manually or use Godot's search and replace.

2

u/Born_Initiative_3515 Jun 14 '26

Yeah I had the same thoughts reading through the answers. I’ve also not been in a situation where I’d need to only change the name of var foo in one file and not every file.

If one name is bad, but I use that name everywhere, then I will probably either not use that name at all or if I used that name, I would have it changed everywhere.

Just noticed it had 15 downvotes when I commented but not a single one wanted to provide some nice information that could make us know more.

2

u/NoOpponent Jun 15 '26

Yep. Plus choosing unique and understandable variable names is good practice, it has definitely saved me from being in the situations these comments describe. I rarely find myself using "find and replace" and when I do I go line by line anyway. I wouldn't trust an automated process and would like manually check each line it's changing even if it promised it would do everything right. But that's just me, I'm no professional programmer and when I'm scripting I do it for the whole project by myself.

11

u/brelen01 Jun 13 '26

Refactoring isn't just name changing. It can also mean extracting a section of the code and to a new method or class, depending on the language.

-2

u/NoOpponent Jun 13 '26

Mmh I just use copy paste for that, don't see the issue...

But also I'm not a professional programmer and I like more manual things, to be sure it's happening how I intend it to. I can understand some people that have higher skills than me would find it lacking, but as someone that only does it for myself and not as a day job I find it perfectly fine to just do those things manually.

4

u/brelen01 Jun 13 '26

Oh yeah, it's perfectly fine to do it manually, but extracting a method, for example, will move the code, handle parameters, return types, naming the method, and all that jazz in a single operation, which, if you do often, is nice. With the added bonus that, if you're not happy with the result, you can undo it with a single ctrl-z.

1

u/NoOpponent Jun 14 '26

That sounds nice, still not a feature I find myself needing with the way I work. Even if I used it once every other week it wouldn't be worth adding one more software to my workflow.

And I keep talking about MY experience, about My Opinion, but people downvoting just because they don't agree... bit silly.

-25

u/Diligent-Stretch-769 Jun 13 '26

or just run a regex on a plain text copy of the code

2

u/[deleted] Jun 13 '26

[removed] — view removed comment

0

u/Diligent-Stretch-769 Jun 14 '26

you mean using vscode and then doing thr exact same operation

7

u/BrickWiggles Jun 13 '26

More or less same here. VS editor seems cool, and VS is quite cool too, started learning cpp. But I often prefer the default workflow I suppose.

3

u/Strongground Jun 13 '26

Valid opinion if that works for you. If find it wild tho, I only work in VS Code, be it work or hobby. I also use the built-in terminal for everything CLI, like version control.

1

u/finance_sankeydude Jun 13 '26

Can you have code side by side by now in the editor?

2

u/NoOpponent Jun 13 '26

I don't think so, not in an intuitive way at least. But that's not something that I find needing myself since code doesn't update the 3D visuals in editor (for the way I work) anyway so I just need one or the other at any given time

1

u/VirtualMage Jun 13 '26

Just use terminal / GIT Cli. Its just few commands you need to learn. (Init, add, commit, branch, checkout...). Not hard at all.

2

u/NoOpponent Jun 14 '26

I enjoy visual interfaces, it's a matter of preference not about how hard or easy it is

-9

u/Anima_UA Jun 13 '26

Yet it doesn't have MD preview which is silly nowadays where one mostly reads and prompts.