Maran23/script-ide

GDScriptmaran.tools/url/script-ide

Transforms the Script UI into an IDE like UI. Multiline Tabs, Splitting, Outline with unique icons that shows all members of the script. Quick search and function override functionality.

addongdscriptgodotgodot-addongodot-enginegodot-plugingodotengineplugin
스타 성장
스타
1k
포크
41
주간 성장
+0
이슈
5
5001k
2023년 10월2024년 9월2025년 9월2026년 9월
README

Script IDE

Transforms the Script UI into an IDE like UI. Multiline Tabs, Splitting, Outline with unique icons that shows all members of the script. Quick search and function override functionality.

Features

Scripts as Tabs

  • Scripts are now shown as Multiline Tab
  • Script Tab can be split – showing the current Script as readonly CodeEdit next to the main one. The original script can be reopened by right-clicking it
  • Scripts can be opened in a Popup with a shortcut or when clicking the three dots on the top right of the Tabs for quick navigation between scripts
  • The currently edited script is automatically selected in the Filesystem Dock

Outline with all members

  • The Outline got an overhaul and showed more than just the methods of the script. It includes the following members (types) with a unique icon:
    • Classes (Red Square)
    • Constants (Red Circle)
    • Signals (Yellow)
    • Export variables (Orange)
    • (Static) Variables (Red)
    • Engine callback functions (Blue)
    • (Static) Functions (Green)
      • Setter functions (Green circle, with an arrow inside it pointing to the right)
      • Getter functions (Green circle, with an arrow inside it pointing to the left)
  • All different member types of the script can be hidden or made visible again by the outline filter. This allows fine control of what should be visible (e.g., only signals, (Godot) functions, ...)
  • A Right Click enables only the clicked filter, another Right Click will enable all filters again
  • The Outline can be opened in a Popup with a shortcut for quick navigation without the mouse
  • You can navigate through the Outline with the Arrow keys (or Page up/Page down) and scroll to the selected item by pressing ENTER

Quick search / override

  • Files can be quickly searched by the Quick Search Popup with Shift+Shift
  • You can find and quickly override any method from your super classes with Alt+Ins

Customization

  • The Outline is on the right side (can be changed to be on the left side again)
  • The Outline can be toggled via File -> Toggle Scripts Panel. This will hide or show it
  • The order in the Outline can be changed
  • There is also the possibility to hide private members, this is all members starting with a _
  • The Script ItemList is not visible by default but can be made visible again

Settings

All settings can be changed in the Editor Settings under Plugin -> Script Ide.

  • Open Outline Popup = Shortcut to control how the Outline Popup should be triggered (default=CTRL+O or META+O)
  • Outline Position Right = Flag to control whether the outline should be on the right or on the left side of the script editor (default=true)
  • Outline Order = List which specifies the order of all different types in the Outline
  • Hide Private Members = Flag to control whether private members (methods/variables/constants starting with '_') should be hidden in the Outline or not (default=false)
  • Open Script Popup = Shortcut to control how the Script Popup should be triggered (default=CTRL+U or META+U)
  • Script List Visible = Flag to control whether the script list should still be visible or not (above the outline) (default=false)
  • Script Tabs Singleline = Flag to control whether the script tabs should be in a single line (instead of multiline) (default=false)
  • Script Tabs Visible = Flag to control whether the script tabs should be visible or not (default=true)
  • Script Tabs Position Top = Flag to control whether the script tabs should be on the top or on the bottom (default=true)
  • Script Tabs Close Button Always = Flag to control whether the script tabs should always have the close button or only the select tab (default=false)
  • Auto Navigate in FileSystem Dock = Flag to control whether the script that is currently edited should be automatically selected in the Filesystem Dock (default=true)
  • Open Quick Search Popup = Shortcut to control how the Quick Search Popup should be triggered (default=Shift+Shift, double press behavior is hardcoded for now)
  • Open Quick Search Popup Scenes = Shortcut to open the Quick Search Popup with the Scene Tab activated (default=CTRL+N or META+N)
  • Open Quick Search Popup Scripts = Shortcut to open the Quick Search Popup with the Script Tab activated (default=CTRL+SHIFT+N or META+SHIFT+N)
  • Open Quick Search Popup Resources = Shortcut to open the Quick Search Popup with the Resource Tab activated (default=CTRL+SHIFT+ALT+N or META+SHIFT+ALT+N)
  • Open Override Popup = Shortcut to control how the Override Popup should be triggered (default=Alt+Ins)
  • Cycle Tab forward = Shortcut to cycle the script tabs in the forward direction (only works in the 'Script' Editor Tab) (default=CTRL+TAB)
  • Cycle Tab backward = Shortcut to cycle the script tabs in the backward direction (only works in the 'Script' Editor Tab) (default=CTRL+SHIFT+TAB)
  • All outline visibility settings

Screenshots

Example of Script-IDE

Example of the Outline Popup

Example of the Script Tabs Popup

Example of the Quick Search Popup

Example of the Override Popup

Example of Script Splitting

Example of the Settings

Videos

Further notes

  • This plugin tries to modify as little as possible in the Engine. Since each version can introduce changes in the layout, every change can risk stability.
  • The plugin initialization will fail fast if something is unexpected. A log message is printed and nothing else will be changed.
  • The plugin code is aware of the structure in 'script_editor_plugin.cpp', which is the native part of the script tree structure that this plugin modifies
  • This plugin is written with performance in mind:
    • Everything that you might not use will also not consume any resources.
      • Example: The quick open menu will only rebuild (lazily) when you open it
    • There are no unneeded features.
      • Example: If the functionality is most likely not relevant for many users, it probably should be its own plugin

Contributing

In order to open this project in the Engine, you need to create (or copy) a project.godot into it. Example file:

config_version=5

[application]

config/name="Script-IDE"
config/features=PackedStringArray("4.7")
config/icon="uid://eln8vh0yruef"

[editor_plugins]

enabled=PackedStringArray("res://addons/script-ide/plugin.cfg")
관련 저장소
domlysz/BlenderGIS

Blender addons to make the bridge between Blender and geographic data

PythonPyPIGNU General Public License v3.0blenderaddon
9.4k1.5k
windingwind/zotero-better-notes

Everything about note management. All in Zotero.

TypeScriptnpmappGNU Affero General Public License v3.0knowledgemarkdown
8.2k271
dialogic-godot/dialogic

💬 Create Dialogs, Visual Novels, RPGs, and manage Characters with Godot to create your Game!

GDScriptMIT Licenseaddonplugin
dialogic.pro
6k348
MuiseDestiny/zotero-style

Ethereal Style for Zotero

JavaScriptnpmGNU Affero General Public License v3.0zoterozotero-addon
5.2k165
ClearURLs/Addon

ClearURLs is an add-on based on the new WebExtensions technology and will automatically remove tracking elements from URLs to help protect your privacy.

JavaScriptnpmappGNU Lesser General Public License v3.0securityprivacy
docs.clearurls.xyz
5k147
code-charity/youtube

YouTube / Video Browser-Extension. [Top1 FOSS.] Enrich your experience & choice! 🧰Smart features📌set & forget📌300+ tweaks. Longest-standing. Join🧩us?👨‍👩‍👧‍👧 ⋮ {playback|discovery|extra player buttons|quality|codec|full tab|full screen|no distraction|shorts}

JavaScriptnpmappOtherextensionchrome-extension
improvedtube.com
4.6k988
Vhonowslend/StreamFX-Public

StreamFX is a plugin for OBS® Studio which adds many new effects, filters, sources, transitions and encoders! Be it 3D Transform, Blur, complex Masking, or even custom shaders, you'll find it all here.

C++GNU General Public License v2.0pluginaddon
streamfx.vhonowslend.com
4.2k3.1k
nathanhoad/godot_dialogue_manager

A powerful nonlinear dialogue system for Godot

GDScriptMIT Licensegodotdialogue
dialogue.nathanhoad.net
3.8k269
piroor/treestyletab

Tree Style Tab, Show tabs like a tree.

JavaScriptnpmappOtherfirefox-addonvertical-tabs
piro.sakura.ne.jp/xul/treestyletab/
3.8k301
FastForwardTeam/FastForward

Don't waste your time with compliance. FastForward automatically skips annoying link shorteners.

JavaScriptnpmappThe Unlicenseextensionchrome-extension
fastforward.team
3.8k281
ramokz/phantom-camera

A Camera addon for Godot 4. Inspired by Cinemachine.

GDScriptMIT Licensecameragodot
phantom-camera.dev
3.5k136
windingwind/zotero-actions-tags

Customize your Zotero workflow.

TypeScriptnpmappGNU Affero General Public License v3.0zoterozotero-plugin
2.8k64