godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.12k stars 69 forks source link

Allow for language plugins in the godot editor #1568

Closed Shadowblitz16 closed 3 years ago

Shadowblitz16 commented 3 years ago

Describe the project you are working on: spaceship game

Describe the problem or limitation you are having in your project: I don't like gdscript but its the only supported language in the godot editor

Describe the feature / enhancement and how it helps to overcome the problem or limitation: I suggest that godot gets code editor plugins that are able to support custom/other languages

Describe how your proposal will work, with code, pseudocode, mockups, and/or diagrams: I'm not sure how code editor plugins work but the idea would be that it would be simple to bind custom syntax's or languages and also support things like auto complete, intellisense, and syntax highlighting.

If this enhancement will not be used often, can it be worked around with a few lines of script?: IDK how often this would be used but the idea would be that you wouldn't be limited to language plugins. I don't think this can be worked around with a few lines of script

Is there a reason why this should be core and not an add-on in the asset library?: Godot has a built in script editor and I think we should utilize it more.

YuriSizov commented 3 years ago

As far as I know, custom language bindings implemented via PluginScript (as opposed to NativeScript) can support the built-in editor as a platform for editing scripts written in those languages. So this is already possible for some languages supported by the Godot community (see Lua and Python).

There is also a thought to consider, that for many languages there is already a very powerful set of tools which would be both pointless and impossible to compete with. Namely, C# developers would rather prefer to use MSVS or Rider than a half-baked solution in the Godot Editor. Such editors are pretty much power tools and industry standard.

Shadowblitz16 commented 3 years ago

@pycbouh msvs is windows only and rider costs money.

the idea would be to turn the godot script editor into something similar to vs code which would be built in and would be good for single screen users.

I think vs code is also not an ideal solution because its hard to setup and compile even with plugins because of the god awful command palette.

YuriSizov commented 3 years ago

msvs is windows only and rider costs money.

It was just one example, and in this example (C#) people who'd prefer to use the language have probably already sorted this out. And if you don't like VS Code as your general and free code editor, imagine that Godot's editor will always be much much worse.

Shadowblitz16 commented 3 years ago

@pycbouh godot's editor will improve. and besides the godot editor has always worked better then vs code for me

YuriSizov commented 3 years ago

The point is not that it won't improve. The point is that it is a side feature of a complex editor for a free engine, while VS Code is a dedicated code editor with massive community and a very rich company making it. It will always be better for coding. There is no point arguing this fact, even if your personal preference is not aligned with it.

Shadowblitz16 commented 3 years ago

so we are just going not not improve the editor because something else is better? that's a dumb reason.

YuriSizov commented 3 years ago

That's not what I'm saying, though. The script editor will always be improving with the Godot Editor, but it won't ever be on par with the tools designed for this particular purpose, always be lacking some QoL or productivity features.

Improvement is also not free, it takes time from the core contributors and other active community members to implement. When considering this time it must be evaluated if the effort is worth it. So while it would be nice to have feature A or feature B that you see in VS Code or other code editor or IDE as a feature in the Godot Editor's script editor, it may often be more reasonable to just use that other editor instead.

That being said, as I've mentioned in the beginning PluginScript already allows bindings maintainers to interact with the script editor. So this proposal is already implemented?

Shadowblitz16 commented 3 years ago

Is it documented though? I don't see many language addons for godot like what about adding c syntax to gdscript?

aaronfranke commented 3 years ago

GDScript is not the only supported language in the Godot editor. You can make editor plugins using C# and probably also VisualScript and GDNative.

Shadowblitz16 commented 3 years ago

oh ok then the only problem left is someone integrating these languages into the godot editor