Commit Graph

636 Commits

Author SHA1 Message Date
Zi Ye 9281c441f6 Improved text editor status bar and zooming UX. 2024-02-21 17:33:16 -06:00
kit eb6ca91ba6 Extract BottomPanel from EditorNode 2024-02-20 15:09:07 -05:00
kobewi a031911c82 Use check_changed_settings_in_group() everywhere 2024-02-19 21:34:45 +01:00
Michael Alexsander 7b42c24550
Make auto translation inheritable 2024-02-15 16:51:19 -03:00
Paul Joannon 9fa2355cef
Disable signal callback generation in C# 2024-02-14 13:26:45 +01:00
Hugo Locurcio 04a930d9a6
Disable multi-window buttons instead of hiding them when support is unavailable
This is more explicit as for why this functionality isn't available
depending on editor settings and current platform.

This also exposes a `EditorInterface.is_multi_window_enabled()` method
so that editor plugins can easily query whether the editor is able and
expected to create multiple windows.
2024-01-27 19:38:39 +01:00
Yuri Sizov c027aecc2e Merge pull request #86676 from rune-scape/sparse-script-reload
GDScript: Hot-reload changed scripts only
2024-01-17 18:52:54 +01:00
Yuri Sizov 95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Rémi Verschelde ee42c9e7ef
Merge pull request #82498 from aXu-AP/docs-double-navigation
Fix opening docs writing extra navigation history
2024-01-09 15:30:38 +01:00
Rémi Verschelde 5eb22a317d
Merge pull request #83577 from DennisManaa/fix-translation-for-item-list
Add automatic translation of items to ItemList
2024-01-04 16:39:36 +01:00
Rémi Verschelde 6c390b620d
Merge pull request #84445 from Rubonnek/add-const-references-clang-tidy
Add const references detected by clang-tidy
2024-01-04 14:25:33 +01:00
rune-scape cde478bda6 Hot-reload only changed scripts 2024-01-02 17:56:52 -08:00
kobewi e534dbf53a Improve saving of built-in resources 2024-01-02 12:53:18 +01:00
Yuri Sizov 5c848174a3 Merge pull request #84898 from rsubtil/fix_dap_breakpoints_closed_scripts
Fix DAP breakpoints being cleared on closed scripts
2023-12-18 18:17:46 +01:00
Wilson E. Alvarez a3cb1b096f
Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
Yuri Sizov 8f33b4e83a Merge pull request #84882 from Invertex/select-instance-asset
Add "Show In FileSystem" to the Scene hierarchy right-click
2023-12-14 17:38:30 +01:00
Invertex 59787683a9 Added "Show In FileSystem" right-click option to Scene hierarchy nodes.
-Implemented shared function for focusing FileSystem tab and highlighting the node path.
-Created right-click option that shows up in the Scene-Hierarchy on Nodes that have a file-system source path.
-Created custom icon for this right-click option
-Implemented the shared function and icon for other places that already had this features (Open Node tab, Inspector Resource)

Co-authored-by: MewPurPur <mew.pur.pur@gmail.com>
2023-12-13 07:43:39 -08:00
Yuri Sizov 0f5a14c397 Make script/shader editor save shortcuts unique again 2023-11-15 14:10:12 +01:00
Ricardo Subtil 760ff2e933 Fix DAP breakpoints being cleared on closed scripts 2023-11-14 16:51:38 +00:00
kobewi da55c06322 Save scene when saving built-in resource 2023-11-13 16:34:17 +01:00
Rémi Verschelde 38c3e5aae9
Merge pull request #82956 from Chtau/GDScript-external-Editor-Engine-crash
Fixes internal Script Editor crash with External Editor active
2023-11-10 10:43:58 +01:00
jsjtxietian 155d738163 Fix _get_debug_tooltip will crash if tooltip string is too large 2023-11-06 20:09:17 +08:00
Jordyfel 50b7387a3f Use Hashset for dependency list when moving 2023-10-25 21:05:53 +03:00
DennisManaa 1a1c542836 Implement automatic translation for ItemList 2023-10-23 10:14:08 +02:00
Rémi Verschelde c2d410a19e
Merge pull request #82868 from SaracenOne/multi_session_debugger_fixes
Fix debugger behaviour with multi-session debugging
2023-10-16 10:38:58 +02:00
Rémi Verschelde 25fa5eadd5
Merge pull request #82986 from OmarShehata/fix-external-editor-hot-reload
Fix external editor hot reload for GDScript
2023-10-11 22:38:42 +02:00
Christoph Taucher 2929993575 Prevent the internal Script Editor from reloading
when the external Editor is active in the settings.

This prevents a crash from different race conditions
from edititing files in the external editor while the internal editor
tries to reload open file tabs.

Some conditions that cause the crash where:
* Syntax highlighting (gdscript_highlighter.cpp, syntax_highlighter.cpp)
* Code analysis (code_edit.cpp)
* ... and more
2023-10-11 21:41:09 +02:00
Danil Alexeev de7cbe8789
Highlight doc comments in a different color 2023-10-08 19:26:10 +03:00
Omar Shehata c25a2d832b Fix external editor hot reload 2023-10-07 22:14:54 -04:00
Saracen 3defc17646 Fix debugger behaviour with multi-session debugging:
Fixes script editor debug menu on sessions other than 1
Fixes breakpoint toggle from menu in sessions other than 1
Removes execution display when switching to non-breaked sessions
2023-10-06 19:20:37 +01:00
kobewi 5d85551ab3 Fix unsaved changes not getting discarded 2023-10-05 14:03:02 +02:00
aXu-AP 0506d6f192 Fix opening docs writing extra navigation history
Fix #82292
Removes extraneous call to change the tab if the page wasn't yet open when opening class member description.
2023-09-29 00:03:18 +03:00
the-sink 524e7acfc3 Set `open_dominant_script_on_scene_change` to off by default 2023-09-19 01:22:29 -07:00
A Thousand Ships 75ee58fd04 [Editor] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-09-15 20:15:39 +02:00
Yuri Sizov 8ecc0c4f47 Fix accessing editor theme items throughout the UI
This also exposes `EditorInterface::get_editor_theme`.
2023-09-15 14:51:01 +02:00
Yuri Sizov 512182f147 Add theme contexts to various parts of the editor
This change defines additional theme contexts for editor
branches to prevent theme leaking between the default
theme, the project theme, and the editor theme.

- Both editor window and EditorNode define an editor-specific
context with the editor theme and the default theme.
- The 2D viewport defines a project-specific context with
the project theme and the default theme.
- Theme editor preview tabs define the default-only context
with the default theme.

Additionally, the default theme context now only includes
the project theme for running projects (both export and debug).
This prevents the project theme from leaking into the editor.

This commit also does a little clean up on the theming aspects
of the EditorNode.
2023-09-06 19:40:43 +02:00
kobewi 6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
Rémi Verschelde 00d1fafc77
Merge pull request #81022 from YuriSizov/editor-run-scripts-valid-and-toasty
Improve warnings when running scripts in the editor
2023-08-28 12:08:37 +02:00
Rémi Verschelde 0655a7d7d3
Merge pull request #80517 from YuriSizov/tsa-randomly-picked-you-for-mandatory-inspection-i-think-not
Avoid unnecessary inspector updates when loading or switching scenes
2023-08-28 12:05:06 +02:00
Yuri Sizov 2270f4917a Improve warnings when running scripts in the editor 2023-08-27 13:59:06 +02:00
jsjtxietian fec0396cac fix CollisionShape3D Shape Size handle will missing
when Script editor floating
2023-08-15 12:41:20 +08:00
Yuri Sizov 2445414aa0 Avoid unnecessary inspector updates when loading or switching scenes
This should result in some noticeable performance improvements,
aside from fixing bugs due to conflicts in logic.
This also simplifies some related code identified while debugging.
2023-08-12 13:32:59 +02:00
Rémi Verschelde 2132638937
Merge pull request #79404 from raulsntos/dotnet/lines-open-in-external-editor
C#: Fix line in OpenInExternalEditor
2023-08-02 12:17:31 +02:00
Yuri Sizov bf73ac2891 Merge pull request #73641 from KoBeWi/yolo_exiting
Don't save scripts when exiting editor
2023-07-21 17:15:14 +02:00
kobewi b883f32188 Check for unsaved changes when closing a scene 2023-07-18 14:27:56 +02:00
kobewi 000471ee56 Add unsaved status for script and shader editors 2023-07-18 14:18:36 +02:00
Raul Santos 132a1daf1a
C#: Fix line in OpenInExternalEditor 2023-07-17 18:44:17 +02:00
Yuri Sizov 770b7e974b Merge pull request #79337 from KoBeWi/best_fix_ever
Change default Save Script shortcut
2023-07-12 17:17:11 +02:00
Yuri Sizov c457480ca9 Merge pull request #78604 from KoBeWi/gotta_close_fast
Speed up closing multiple scripts
2023-07-12 17:16:24 +02:00
kobewi 6a7567e8f7 Change default Save Script shortcut 2023-07-12 14:25:36 +02:00
kobewi 44bec97d5e Unify window title format 2023-06-23 12:21:56 +02:00
kobewi 9a302e32c8 Speed up closing multiple scripts 2023-06-23 11:19:09 +02:00
ajreckof 13e65da804 Fix wrong placement of the Make Floating Button. 2023-06-21 01:00:37 +02:00
Hendrik Brucker dc46163b12 Improve editor state persistence 2023-05-11 04:17:03 +02:00
trollodel b4d6b47c17 Add multi window code and shader editors 2023-05-10 09:14:21 +02:00
Paulb23 0b3fba45c6 Move convert_indent into CodeEdit 2023-05-07 13:08:37 +01:00
kobewi 88ea3dd4db Remove erroneous signal connection 2023-05-05 22:26:19 +02:00
Max Hilbrunner f6bf51ca49
Merge pull request #75864 from KoBeWi/assassin_of_shaders 2023-05-05 14:37:54 +02:00
Yuri Sizov 26fb911f79
Merge pull request #72095 from anvilfolk/gd-docs
Improve GDScript documentation generation & behavior
2023-04-26 16:54:25 +02:00
ocean (they/them) 6783ff69c0 Improve and fix GDScript documentation generation & behavior
Removes documentation generation (docgen) from the GDScript compiler to
its own file. Adds support for GDScript enums and signal parameters and
quite a few other assorted fixes and improvements.
2023-04-21 10:17:30 -04:00
Yuri Sizov 8a74d8438f Extract editor run toolbar into its own component
- Simplify and update its logic.
- Simplify EditorScript.
- Improve EditorNode and other relevant includes.
- Fix scene-based path in the movie writer when
reloading a scene.
2023-04-19 17:12:28 +02:00
Dipal Zambare c4f31e3333 Add Close Docs item in script editor context menu 2023-04-18 16:42:54 +02:00
Rémi Verschelde c5d9470c7c
Merge pull request #75765 from YuriSizov/editor-node-optimize-includes
Improve includes of `EditorNode` (and everything else)
2023-04-11 19:40:24 +02:00
kobewi 71011e0855 Adjust size of some dialogs 2023-04-10 17:04:53 +02:00
kobewi aaf02ec04a Close built-in shaders when closing scene 2023-04-09 22:10:43 +02:00
Yuri Sizov 4154039832 Improve includes of EditorNode (and everything else)
Also start organizing editor-specific GUI components
into a dedicated folder, `editor/gui`.
Also move `editor_file_server` next to the rest of debugger classes.
2023-04-07 18:59:49 +02:00
Rémi Verschelde e359eaf451
Merge pull request #74319 from jbuck3/script-file-menu
Re-enable script editor File menu shortcuts when the menu is hidden
2023-04-03 16:00:17 +02:00
stmSi f1f4c5b10b Fix `Find in Files` Search Results cannot open builtin script 2023-03-07 02:49:14 +06:30
James Buck de49bec30e Re-enable script editor File menu shortcuts when the menu is hidden 2023-03-03 12:14:51 -06:00
bruvzg b3c64675cc
[macOS] Replace all `Alt/Option+Letter/Number` default shortcuts to avoid conflicts with special character input. 2023-02-20 22:02:47 +02:00
kobewi 97bd6c0539 Don't save scripts when exiting editor 2023-02-20 19:29:20 +01:00
kobewi f579c0a79f Fix Save All trying to save empty scene paths 2023-02-15 17:29:52 +01:00
Rémi Verschelde bed1ebd527
Merge pull request #72259 from Paulb23/json-editing
Support editing JSON in ScriptEditor
2023-02-14 11:04:17 +01:00
Paulb23 a197d6ef4e Support editing JSON in ScriptEditor 2023-01-28 16:06:13 +00:00
Rindbee 64edc7a5c2 Fix internal editor not updating when using external editor via LSP 2023-01-22 18:27:22 +08:00
kobewi c0083e431b Cleanup unused engine code v2 2023-01-19 13:02:18 +01:00
Rémi Verschelde 4679f8724a
Merge pull request #71628 from reduz/fixup-editor-file-system-script-parsing
Clean up EditorFileSystem script parsing
2023-01-19 10:09:55 +01:00
Juan Linietsky 5bdc0d97d3 Clean up EditorFileSystem script parsing
* Optimize only update modified/added/removed files.
* Clean up documentation parsing.
2023-01-18 20:56:45 +01:00
Rémi Verschelde bcaf048f33
Merge pull request #71379 from KoBeWi/destruction_of_compatibility_function
Remove set_drag_forwarding_compat()
2023-01-18 17:40:13 +01:00
Christoh Prenissl 85aa03baaf Checking path variable if empty before opening external editor to fix #71528 2023-01-17 15:07:15 +01:00
Adam Scott 0dc1bcb0c9 Save history when goto script line in the text editor. 2023-01-15 18:04:35 -05:00
Paulb23 659d9b0fa3 Globalise path for New TextFile in FileSystemDock 2023-01-14 16:43:33 +00:00
kobewi 59ea36b87c Remove set_drag_forwarding_compat() 2023-01-14 15:16:51 +01:00
Juan Linietsky e6a4debede Change set_drag_forwarding() to use callables.
* This solution is much cleaner than the one in 3.x thanks to the use of callables.
* Works without issues in any language (no need to worry about camel or snake case).
* Editor code uses a compatibility function (too much work to redo).

Fixes #59899
2023-01-10 14:09:24 +01:00
Juan Linietsky 0e0a6bb39b
Removed unused property hints and `Object::get_translatable_strings()`
* Remove unused `EditorPropertyMember` and related hints, previouly used by
  VisualScript. Such logic should be implemented in the VS module itself.
* As the above broke compatibility with the VS module, clean up the other
  hacks that were still in core in support of VisualScript.
* `PROPERTY_USAGE_INTERNATIONALIZED` was only used in Object's
  `get_translatable_strings()`, which is a legacy function not used anywhere.
  So both are removed.
* Reordered some usage flags after the above removal to minimize the diff.
* General clean up.

Fixes #30203.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-01-09 16:56:01 +01:00
Rémi Verschelde 2db593ac2f
Merge pull request #70580 from timothyqiu/drop-extern
Fix error when dropping script into script editor
2023-01-09 09:22:08 +01:00
Rémi Verschelde d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Haoyu Qiu 5c498f714d Fix error when dropping script into script editor 2022-12-26 14:34:37 +08:00
stmSi 350eda02cb Fix Editor Shortcut keys are inserting in Script Editor 2022-12-24 07:22:19 +06:30
trollodel c90d0bd84f Use forward-declarations in big editor classes 2022-11-29 09:59:43 +01:00
Zae b68b26b27e Fix reload scripts error after saving in external editor. 2022-11-03 17:06:51 +08:00
Rémi Verschelde 5947f22be9
Merge pull request #67578 from KoBeWi/GEDITOR
Unify usage of GLOBAL/EDITOR_GET
2022-10-31 13:15:58 +01:00
Rémi Verschelde be126d42d4
Merge pull request #67588 from KoBeWi/if(!GDVIRTUAL_CALL)don't
Simplify GDVIRTUAL_CALL calls
2022-10-31 11:55:56 +01:00
Eric M d499071e5b Set the shortcut context for the edit/search/goto menus to the ScriptEditor so that shortcuts continue to work when FindReplaceBar is focused. 2022-10-25 19:52:42 +10:00
kobewi d06a8320e5 Simplify GDVIRTUAL_CALL calls 2022-10-19 00:05:48 +02:00
kobewi e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
bruvzg 0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
Rémi Verschelde 121e1df55b Merge pull request #66300 from KoBeWi/📝🧭
Split script navigation state and edit state
2022-10-05 08:30:49 +02:00
Rindbee ab0314938e Implement `GDScriptTextDocument::willSaveWaitUntil` to clean up outdated documents before saving
Implement `GDScriptTextDocument::willSaveWaitUntil` to clean up outdated documents before saving,
then update the document in `GDScriptTextDocument::didSave`.
2022-10-04 15:38:57 +08:00