Commit graph

668 commits

Author SHA1 Message Date
A Thousand Ships
ee79386f7b
[Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
kobewi
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
Peter Procyk
82c2a74646 Use Option+Cmd+Left/Right for script editor history navigation on macOS 2024-05-12 19:55:27 -04:00
kobewi
a262d2d881 Add shorthand for using singleton string names 2024-05-11 18:53:08 +02:00
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