Commit Graph

664 Commits

Author SHA1 Message Date
Rémi Verschelde a9a1d0a162
Merge pull request #91619 from AThousandShips/find_improve
Replace `find` with `contains/has` where applicable
2024-05-08 14:35:44 +02:00
A Thousand Ships b4c6cc7d82
[Core] Add case-insensitive `String::containsn` 2024-05-08 12:48:01 +02:00
A Thousand Ships a0dbdcc3ab
Replace `find` with `contains/has` where applicable
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
Rémi Verschelde 68bd282c50
Merge pull request #81906 from the-sink/dominant-script-default
Set `open_dominant_script_on_scene_change` to off by default
2024-05-07 16:49:07 +02:00
A Thousand Ships 955d5affa8
Reduce and prevent unnecessary random-access to `List`
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
Aiden Storey b4c1634b52 Implement trim_final_newlines functionality 2024-05-02 22:57:34 -04:00
kobewi 3a1246c198 Store line change in script navigation history 2024-04-25 23:22:47 +02:00
kobewi fd3ed998ce Further speed up closing multiple scripts 2024-04-23 23:33:01 +02:00
Rémi Verschelde 84457f66bb
Merge pull request #90189 from Naros/expose-goto-help
Expose `goto_help` for GDExtension on `ScriptEditor`
2024-04-17 10:58:32 +02:00
Chris Cranford d8f1287bcf Expose `goto_help` for GDExtension on `ScriptEditor` 2024-04-16 19:32:33 -04:00
Adam Scott 38d8abea12
Improve UX when saving newer files on disk 2024-04-14 11:36:07 -04:00
Rémi Verschelde fe25b18432
Merge pull request #89861 from dalexeev/editor-help-fix-csharp-crash
Fix regression with C# build editor crash due to `EditorHelpHighlighter`
2024-04-05 12:15:57 +02:00
bruvzg 61f7145f43
[Native File Dialog] Add support for using native dialogs in the editor. 2024-03-28 11:53:03 +02:00
Rémi Verschelde c4aa1078fb
Merge pull request #88465 from AeioMuch/search_results_button
[Editor] Hide Search Results by default and show it on first search.
2024-03-25 11:18:35 +01:00
Danil Alexeev eab05558c4
Fix regression with C# build editor crash due to `EditorHelpHighlighter` 2024-03-24 21:26:18 +03:00
Rémi Verschelde 05372773e1
Merge pull request #89599 from timothyqiu/vegetate
Fix unexpected auto translation of editor `Tree` content
2024-03-23 21:15:39 -07:00
A Thousand Ships 2cbf469912
Fix sorting of files/dirs in dialogs
Sorts leading `_` before other characters except `.`.
2024-03-20 13:45:47 +01:00
Haoyu Qiu 8cd1ebbd6d Fix unexpected auto translation of Tree content 2024-03-18 09:31:00 +08:00
AeioMuch 5cf6f3c779 Hide Search Results by default. Show it on first search and push it at the end. Add a close button to hide it back. Also switch to Script Editor if a searched line is clicked. 2024-03-16 20:42:05 +01:00
Hugo Locurcio 8221e7546b
Add editor shortcuts to toggle bottom panel visibility
Default shortcuts use the first or second letter of each word.

This also adds a new shortcut to toggle the last opened bottom panel.
On editor startup, this defaults to the first panel in the list
(which is the Output panel).
2024-03-05 15:53:15 +01:00
Rémi Verschelde 16bdd83ea4
Merge pull request #86705 from KoBeWi/resourception
Improve saving of built-in resources
2024-02-29 13:53:44 +01:00
Rémi Verschelde e770a38d00
Merge pull request #88742 from MajorMcDoom/text-editor-zoom
Fix the text editor theme not being applied on editor start
2024-02-27 10:17:47 +01:00
Muller-Castro 1638c1b28f Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00
Rémi Verschelde abe73c3db0
Merge pull request #88675 from MajorMcDoom/script-editor-redundancy
Remove some redundant method calls from ScriptEditor
2024-02-26 10:48:57 +01:00
Zi Ye ea401f9853 Fixed the text editor theme not being applied on editor start. 2024-02-25 14:42:48 -06:00
Rémi Verschelde 4582ee1a0f
Merge pull request #87760 from kitbdev/extract-bottom-dock
Extract BottomPanel from EditorNode
2024-02-23 22:18:50 +01:00
Zi Ye 943f6aa113 Removed some redundant calls from ScriptEditor. 2024-02-22 12:13:48 -06:00
kobewi aeec3c1309 Add methods to add submenus without using names 2024-02-22 15:13:53 +01:00
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