Commit Graph

302 Commits

Author SHA1 Message Date
Haoyu Qiu 061ee6cdb3 Disable ScriptEditor's menu items when they do nothing 2022-01-21 12:05:32 +08:00
Rémi Verschelde a627cdafc5
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Rémi Verschelde edd9534f97
Merge pull request #53900 from ChronicallySerious/update-vcs-1 2022-01-10 12:18:57 +01:00
kobewi d0569255f2
Properly reload built-in tool scripts
(cherry picked from commit 75e8eafa72)
2021-12-06 16:51:55 +01:00
kobewi f899b76747 Improve save handling for built-in scripts 2021-12-04 01:28:52 +01:00
Rémi Verschelde f36debf8de
Merge pull request #55232 from Calinou/script-editor-add-replace-in-files-3.x 2021-12-02 09:38:01 +01:00
janglee 0b327eb46e VCS: Add push, pull, fetch and improved diff view to VCS UI
This commit was created by merging the commits presented in #39255 for
the GSoC 2020 VCS Improvement project

VCS: Make EditorVCSInterface store less amount of internal state

VCS: Add force push checkbox + more frequent VCS updates

Add force push checkbox in the Commit dock. Also add some missing
opportunities for checking the VCS state again on from UI inputs

VCS: Fix script contents not being updated on merge conflict

VCS: Add branch creation VCS interface calls

VCS: Add VCS remote creation and remote selection menus

VCS: Show more commit information + Fix truncated commit offsets

VCS: Make VCS less noisy + Fix diff view refreshes

VCS: Fix mismatched argument names in VCS helpers

VCS: Add SSH transport support for remote operations

Also, moves the editor's VCS settings registrations to
project_settings.cpp and editor_settings.cpp

VCS: Change TTR() to vformat() for branch and remote removal text

VCS: Add VCS branch icon instead of using Tree node icon

Co-authored-by: @ChronicallySerious
2021-12-01 22:52:07 +05:30
kobewi fd8eb47ee5
Show scene when showing built-in script file
(cherry picked from commit 512e260af4)
2021-11-29 16:10:29 +01:00
Dominik 'dreamsComeTrue' Jasiński 7bd0eae635
Add "Replace in Files" functionality to text editors
The Soft Reload Script shortcut was changed from Ctrl + Shift + R
to Ctrl + Alt + R to avoid conflicts.
2021-11-23 01:10:38 +01:00
kobewi 5f081de854
Properly handle scenes in Find in Files
(cherry picked from commit 31644fe280)
2021-11-15 17:22:47 +01:00
kobewi 969136e675
Ignore external editor for built-in scripts
(cherry picked from commit 9abb07efb4)
2021-11-15 17:22:47 +01:00
Rémi Verschelde 70b521af79
Merge pull request #53013 from Calinou/editor-debugger-bottom-panel-error-warning-highlight-3.x 2021-11-08 13:15:46 +01:00
Rémi Verschelde 42d385b312
clang-format: Disable alignment of operands, too unreliable
Sets `AlignOperands` to `DontAlign`.

`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 13:23:38 +02:00
Hugo Locurcio d831836b09
Improve appearance of the editor Debugger bottom panel menu
- Make the Debugger bottom panel menu more prominent when
  there are errors or warnings by adjusting the text color.
- Add some spacing to the right of the error/warning icon
  for better visual appearance.
2021-10-27 17:01:10 +02:00
Rémi Verschelde 7f58b6322e
Merge pull request #53067 from Calinou/add-script-nav-extra-mouse-button-3.x 2021-10-05 11:57:51 +02:00
kobewi 0fa8d3431a Fix editor stuck dimmed because of unsaved script 2021-09-29 17:06:12 +02:00
Hugo Locurcio 1ff98bfa1b
Add history navigation in the script editor using extra mouse buttons
This feature is enabled by default, but it can be disabled in the editor
settings in case it interferes with other uses of the extra buttons
(such as push-to-talk in a VoIP program).
2021-09-25 20:33:57 +02:00
kobewi 168292fa00
Don't stop closing on unsaved script
(cherry picked from commit 8fe664fb4b)
2021-09-21 20:33:11 +02:00
Jihyun Yu 5c66891048 Auto-reload scripts with external editor 2021-08-18 16:52:14 +09:00
Aaron Franke 7dc2edc430
[3.x] Allow reading shaders from .gdshader files 2021-07-19 23:34:23 -04:00
kobewi 117e037235
Don't save built-in script when adding method
(cherry picked from commit a97546d4ea)
2021-06-07 12:14:47 +02:00
Hugo Locurcio a45db4c208
Fix crash when trying to save with no scenes and scripts open
This could occur when attempting to save project settings when
no scenes or scripts are open (which is common in a brand new project).

(cherry picked from commit 16876bec76)
2021-05-19 15:24:31 +02:00
Hugo Locurcio c318cf6ed2
Save the current script when pressing Ctrl + S if no scene is open
- Tweak the dialog messages to be more informative.
  - The "Saved N modified resources" dialog is not a warning per se,
    so make it more explicit.

(cherry picked from commit 39f9b92f54)
2021-05-09 17:47:38 +02:00
Hugo Locurcio dc42ef2df9
Save the current script when adding a new method via signal connection
This makes it possible for external editors to pick up the changes.
Most modern editors should reload the file automatically,
but some older/lightweight editors may ask the user instead
(or only warn after trying to save in the external editor).

This closes #41283.

(cherry picked from commit 0ade686601)
2021-05-09 17:41:10 +02:00
Rémi Verschelde 140350d767
Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2021-05-05 15:02:01 +02:00
Rémi Verschelde a828398655
Style: Replaces uses of 0/NULL by nullptr (C++11)
Using clang-tidy's `modernize-use-nullptr`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2021-05-04 16:30:23 +02:00
Rémi Verschelde b5e1e05ef2
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
Rémi Verschelde 6e600cb3f0
Style: Set clang-format Standard to c++14 2021-05-04 14:45:15 +02:00
Rafał Mikrut 06976c3e84 [3.x] Fix crashes when using _input functions 2021-04-27 16:51:29 +02:00
kobewi bc56681b0b Don't save unchanged script upon closing
(cherry picked from commit 12f5a5a701)
2021-03-07 22:51:06 +01:00
Rémi Verschelde fb301a0c43
Merge pull request #38351 from avril-gh/remember-scripts-panel-visibility-in-project-metadata
preserve scripts panel visibility state between sessions in project metadata
2021-02-25 21:17:02 +01:00
Michael Alexsander 975a6194e7
Fix script list only showing their names regardless of display option
(cherry picked from commit 4194447a21)
2021-01-13 16:17:10 +01:00
Rémi Verschelde 49646383f1
Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆

(cherry picked from commit b5334d14f7)
2021-01-13 16:17:06 +01:00
Michael Alexsander 58b2d669a0
Fix filename disambiguation on scripts in certain occasions
(cherry picked from commit ed488b72a6)
2020-12-29 16:02:01 +01:00
Rémi Verschelde 4816317bbc
Debugger: Save options in project metadata
Fixes #19542.

(cherry picked from commit 090361f3c9)
2020-11-17 16:42:42 +01:00
Rémi Verschelde 3961f50176
Merge pull request #40461 from nekomatata/script-editor-init-optimization-3.2
[3.2] Optimized ScriptEditor initialization when many scripts are loaded
2020-10-01 13:58:01 +02:00
Tomasz Chabora cea16907bb Properly disambiguate unsaved scripts
(cherry picked from commit 3082def404)
2020-08-14 00:32:05 +02:00
Rémi Verschelde 518f109927 Script editor: Don't open dominant script in external editor
Fixes #13429.

(cherry picked from commits b5f110c77e,
6b3f013a82, and
e016859c3b)
2020-07-28 00:47:24 +02:00
Andrii Doroshenko (Xrayez) 6abaf4d0eb Skip internal scripts for breakpoints without printing an error
This removes:
```
ERROR: get_breakpoints: Condition ' base.begins_with("local://")
```
while running a project with blank scripts caused by deleting
or moving, or built-in scripts which are not yet saved within a scene
on running a project.

(cherry picked from commit 1c70a33d9c)
2020-07-28 00:40:20 +02:00
Paulb23 ca4fe82a7f Fix crash when closing a TextFile
(cherry picked from commit 54bca425b2)
2020-07-24 10:31:57 +02:00
rileylyman 582b4318f8 implement generic filename disambiguation
A static function is added to EditorNode which allows for filename
disambiguation given a list of filenames and the corresponding list of
absolute paths for those files. This function is then used to
disambiguate scene and script tabs in the editor.

(cherry picked from commit 4285211f40)
2020-07-24 10:31:56 +02:00
PouleyKetchoupp e3765e97de Optimized ScriptEditor initialization when many scripts are loaded
This change avoids the editor to freeze for several seconds when a
project with lots of scripts is loaded in the editor.

It focuses on a few heavy operations previously executed on all
previously loaded scripts:
- Initialize script resource (script validation/parsing) only
on focus
- ScriptTextEditor: code editor and edit menu are added to the
scene only on focus
- Add to recent scripts only when opening new scripts
(load/save scene metadata)
2020-07-17 09:42:11 +02:00
Daniel Ting c55e68d311 Do not try to save internal scripts
Fixes #40175

(cherry picked from commit d6c979d91b)
2020-07-10 10:37:33 +02:00
Daniel Ting 35523a46c0 Make "Close and save changes?" actually save
This fixes issue #39844, where the confirmation dialog when a user
attempts to close an unsaved script did not actually save it even after
clicking "Save."

(cherry picked from commit d2a5b92e9b)
2020-07-03 13:17:57 +02:00
Bill d4a1bc475a Fix overlapping hotkey designations for save all scenes and save all scripts
(cherry picked from commit acdcda9033)
2020-06-24 22:52:05 +02:00
Phischermen 12786bcbdb Fix crash when creating new text file with no name
(cherry picked from commit cdb29447b4)
2020-06-10 15:30:52 +02:00
Tom Evans 1f970670b7 Fixed shuffling editor help tabs
The indexes for the ScriptEditorItemData entries were not getting
updated after sorting. This would cause a page to be open but with a
different tab selected. Whenever _update_script_names was called next,
it would correct this indexing. Now we correct it immediately following
the tab sort.

(cherry picked from commit fe53c1b0bd)
2020-05-01 10:56:58 +02:00
Avril f07498a193 preserve scripts panel visibility state between sessions in project metadata
hiding script's panel, helps some users to conserve more space for code text.
this fix remembers script's panel visibility state in project's metadata and restore it on editor start.
Thanks to this, users who never use it and are forced to close it each time editor starts, may close it just once and it will stay like this on next sessions until manually opened again.
2020-04-30 10:08:06 +02:00
Hugo Locurcio 679474c576 Tweak the built-in script naming for resources with custom names
This makes the script name appear before the scene file name,
which ensures it's always visible even if the list of scripts is too
narrow to display the full name.

This only impacts built-in scripts with custom resource names.
Unnamed resources will still use `<scene_file>::<id>` naming
in the list of scripts.

(cherry picked from commit e90beade15)
2020-04-16 12:57:22 +02:00
Hugo Locurcio b5d41bb517 Remove Request Docs button in the script editor due to various issues
The Request Docs button is partly responsible for layout overflow
issues on narrow displays, such as #31133.

It also tended to attract spam and low-effort issues that were
difficult to act upon. A "Send Docs Feedback" menu option has been added
to replace it.

(cherry picked from commit 2f6f029a75)
2020-04-16 11:16:08 +02:00