Commit graph

303 commits

Author SHA1 Message Date
Hugo Locurcio
92e6c2a33d Use versioned URL for "Online Documentation" buttons in the editor
This also avoids a redirect, making the page appear to load faster.

(cherry picked from commit 958912a33f)
2022-02-19 15:49:26 +01:00
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