Code Monkey home page Code Monkey logo

maran23 / script-ide Goto Github PK

View Code? Open in Web Editor NEW
188.0 6.0 10.0 68 KB

Script-IDE is a plugin for Godot. It transforms the Script UI into an IDE like UI. Tabs are used for navigating between scripts. The default Outline got an overhaul and now shows all members of the script (not just methods) with unique icons for faster navigation.

License: MIT License

GDScript 100.00%
addon gdscript godot godot-addon godot-engine godot-plugin godotengine plugin

script-ide's People

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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

script-ide's Issues

Outline not working on built-in scripts

Not sure if this is intentional, but as for now the outline is not working if you are editing on a built-in scripts (The one that isn't a stand alone .gd file)

image

Setter function can't be located in source code

Hi, thank you for your work!

The issue happens with all setters associated with exported properties. I will give an easy to replicate example.

The code:

@export var max_height: float = 1.0 :
	set(value):
		max_height = value
		_update_height()

The setter is shown as @max_height_setter with a green tag in the lateral panel.

The error, when clicking on @max_height_setter:

func core/variant/variant_utility.cpp:1091 - func @max_height_setter( or static not found in source code

My system: Windows 10 latest update, Godot 4.2.1 stable

Timer was not added to the SceneTree / `add_child()` failed

When I run Script-IDE, I often see this error, both at startup as well as on script reloads or during runtime in general

This happens on 4.1.2.stable and 4.2.beta

Godot Engine v4.1.2.stable.official (c) 2007-present Juan Linietsky, Ariel Manzur & Godot Contributors.
--- Debug adapter server started ---
--- GDScript language server started ---
  Timer was not added to the SceneTree. Either add it or set autostart to true.
  Parent node is busy setting up children, `add_child()` failed. Consider using `add_child.call_deferred(child)` instead.
  scene/main/window.cpp:1565 - Condition "!is_inside_tree()" is true.

I was able to work around the "add_child" issue by calling deferred _setup and _teardown functions fron _enter_tree and _exit_tree (deferred add child calls themselves are problematic because the setup code in _enter_tree refers to some of the added nodes directly)

The timer issue remains, nothing in Script-IDE's code seems to directly reference timers, but I think it may be something it does internally. There is no such error message when I remove the plugin.

When adding plugin to and empty new project lots of errors are reported

This is an excellent add-on and for me it is a must have.
It works perfectly fine and the following errors disappear when the project is reloaded.
I notice the following when installing this on an empty project ie no scenes or scripts:

Missing required editor-specific import metadata for a texture (please reimport it using the 'Import' tab): 'res://.godot/imported/class.svg-e6f2816a1f06041fb421c2af52817a4a.editor.meta'
Missing required editor-specific import metadata for a texture (please reimport it using the 'Import' tab): 'res://.godot/imported/constant.svg-f6e857276565573c7540f3c32801842a.editor.meta'
Missing required editor-specific import metadata for a texture (please reimport it using the 'Import' tab): 'res://.godot/imported/export.svg-d2d18132258a7a219ec1af1f0316c91c.editor.meta'
Missing required editor-specific import metadata for a texture (please reimport it using the 'Import' tab): 'res://.godot/imported/func.svg-139842caa5b4b7e4839711b6c756d0f7.editor.meta'
Missing required editor-specific import metadata for a texture (please reimport it using the 'Import' tab): 'res://.godot/imported/func_get.svg-093f0ce02889d1f102ff9cc3e7f72654.editor.meta'
Missing required editor-specific import metadata for a texture (please reimport it using the 'Import' tab): 'res://.godot/imported/func_set.svg-c31168d90866ff1707ad9834754bd2c9.editor.meta'
Missing required editor-specific import metadata for a texture (please reimport it using the 'Import' tab): 'res://.godot/imported/keyword.svg-15ea12cc9eda85ed385533fe57e3bba8.editor.meta'
Missing required editor-specific import metadata for a texture (please reimport it using the 'Import' tab): 'res://.godot/imported/property.svg-9e228499f30651faad74aa99e4499d7e.editor.meta'
Missing required editor-specific import metadata for a texture (please reimport it using the 'Import' tab): 'res://.godot/imported/signal.svg-97182e1498b520a1ff5b8b9017c3b480.editor.meta'

Godot 4.2 dev5
Ubuntu 20.04.6 LTS

Thanks for this add-on.

Cannot call method 'has_focus' on a null value

I added this addon for the first time in a recently created project, and after a project reload I got this

image

I have no idea why, so I just changed the line 255 of plugins.gd if (!filter_txt.has_focus()): for if (not filter_txt or !filter_txt.has_focus()):
I do have two more plugins: project timer tracker by fifut and inputmapperpresetloader by light1c3. But uninstalling those did not fix it.
Is this error normal? I can make a PR but I'm not sure if this is something that shouldn't happen.

And well, even after changing that line, I still get some errors when closing or opening a tab

image

BUG: Recognizes inner class as a const and therefore causing error

Hi there, thanks for the helpful plugin! I hope to report this bug:

When you have an inner class in the script, defined with class keyword, inheriting from any class other than RefCounted, it will be recognized as a constant rather than a class.

For example, even if you have class Inner extends Resource (which is a subclass of RefCounted) it will still trigger this bug. But as long as the inner class inherits from RefCounted, no matter implicitly (which is the default case when you don't write the extends keyword) or explicitly by class Inner extends RefCounted, it will be correctly identified as a class.

The wrongly classified ones will show in the side pane along with a red empty circle icon, instead of the red square for classes. And if you click on them, the console will have the following error output:

core/variant/variant_utility.cpp:1091 - const Inner or enum not found in source code

hardisk_original.png 404s

First off, thanks for making this addon! It's a great middle ground between staying in Godot and a more typical script editor.

I've hit on a warning unrelated to #22 after installing from AssetLib on Godot 4.2.1.stable.mono and reimporting .svg files.

I get the following output:

Have checked outside of Godot and it 404s. Has this file gone away?

File explorer on the left

It could be perfect to add a file explorer of the current project on the left

So while working in full screen WE Can easily Switch between scripts ( even non opened one )

Thats for me the only missing feature ( except a run button directly into the view )

Plugin features not working

For some reason, the outline is not working, it's on the left instead of right, there are no coloour, I have less settings than your screenshots... Apart from all the other errors I mentioned.

image

image

I tried reinstalling the plugin but it doesn't work. You can see in that screenshot that I have "Outline Position Right" as true, but in the previous one it appears on the left. Control + O and Windows + O commands aren't working either

Allow Outline to optionally be on the left

I am experimenting with this addon, and so far I enjoy a lot of things about it. It's great potential that could someday even be in the core editor.

But there's one thing that I cannot get used to. The so-called Outline is to the right. The existing, built-in Script/Method list is on the left and it's what me, and possibly other users, have gotten accustomed to. Is it feasible to optionally move the new Outline to the left, instead?

show popup centered relative to godot and not the screen

Ive just tried out your plugin and really love what I see so far, thank you for that!

I'm working on a 4k monitor and am wondering if you can control the popup position? Currently it opens centered on the screen but the expected position would be the center of the application. Take a look at this example:

Bildschirmfoto 2023-10-02 um 12 42 31

type icons too small on 4k display

When looking on your screenshots the type icons in the outline (the filter on top and the icons before the symbols) they have a good size. On my 4k display they are too small, maybe half the size?

image

Reload Current Project Crash to Desktop

Window 10
Godot 4.1.1.official

Blank project with only Script-IDE plugin installed and enabled.
When doing "Reload Current Project" crashes to desktop, crashes console as well.

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.