Commit graph

160 commits

Author SHA1 Message Date
lawnjelly
a0c6d16c90 Add editor vital redraws only option
When editor continuous redraws is switched off, the editor only redraws when a redraw_request was issued by an element in the scene. This works well in most situations, but when scenes have dynamic content they will continuously issue redraw_requests.

This can be fine on high power desktops but can be an annoyance on lower power machines.

This PR splits redraw requests into high and low priority requests, defaulting to high priority. Requests due to e.g. shaders using TIME are assigned low priority.

An extra editor setting is used to record the user preference and an extra option is added to the editor spinner menu, to allow the user to select between 3 modes:

* Continuous
* Update all changes
* Update vital changes
2022-02-02 11:26:45 +00: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
Hugo Locurcio
b1b936cba8
Tweak the script editor's line/column indicator for readability
- Use a colon instead of parentheses and a comma to reduce visual
  clutter.
- Pad the line number with 4 spaces to account for scripts longer
  than 999 lines.

(cherry picked from commit 1e8976fcb5)
2021-09-21 17:15:00 +02:00
Yuri Roubinsky
8519c803e4
Prevent error generates if Delete Line used on last line in CodeEditor
(cherry picked from commit 7ccbf49bda)
2021-09-21 17:14:59 +02:00
Rémi Verschelde
b35e61ba85
Script editor: Rename 'Clone Down' to 'Duplicate Selection'
Fixes #36670.

(cherry picked from commit d41f4aca77)
2021-07-06 11:10:44 +02:00
Hugo Locurcio
f36c90b82f
Add a soft line length guideline to the script editor
The default value is 80. The hard line length guideline's default column
has been moved to 100 to account for the new soft line length guideline.

It can be disabled by setting its value to the same column as the
hard line length guideline.
2021-06-16 06:00:02 +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
3d15f04668
Style: clang-format: Disable AllowShortIfStatementsOnASingleLine 2021-05-04 14:45:15 +02:00
Sushi
79f48642a8
Fix: Selection Only in Find/Replace now preserves selection
(cherry picked from commit a4d5664858)
2021-04-26 12:52:15 +02: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
Haoyu Qiu
beddfb4437
Keep cursor relative position after multiline move
(cherry picked from commit 87fb2bde0c)
2020-11-17 12:01:58 +01: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
Yuri Sizov
3f57cb12b4 Improve null check in FindReplaceBar
(cherry picked from commit e94b8a6acc)
2020-07-08 09:01:57 +02:00
Yuri Roubinsky
5be4e10f4e Fix error label clicking in status bar for shader editor
(cherry picked from commit 25cb5a42e0)
2020-06-24 22:52:05 +02:00
Maganty Rushyendra
3b52ea4b43 Fix code editor Replace tool to work with 'Selection Only' option
Ensures that when the `Selection Only` option is selected, the Replace
tool replaces occurrences of the search phrase only within the selected
region, and in order of occurrence.

(cherry picked from commit 2be3a33cc3)
2020-06-18 11:29:28 +02:00
Maganty Rushyendra
ffb423bc76 Fix match count for whole word search in editor
Check if a match borders a new line char when incrementing match counts.

(cherry picked from commit 91bdc77d47)
2020-06-15 14:34:35 +02:00
Maganty Rushyendra
be0eba0f75 Fix whole word search slowdown in editor
Reduce repeated iteration through the full text
when counting the number of occurrences of whole
words while searching a file in the editor.

(cherry picked from commit 2433287871)
2020-06-15 14:34:35 +02:00
Thakee Nathees
233997aac5 replace selected text with empty string bug fixed
Fix: #37416
(cherry picked from commit 2144eb05df)
2020-04-16 11:58:57 +02:00
Richard Menzies
367048030b Fix wrong selection on cloning a line down in the editor
(cherry picked from commit 28f74327be)
2020-03-04 12:40:14 +01:00
Tomasz Chabora
15162906e4 Allow for continuous deletion/duplication of lines
(cherry picked from commit b23f141ba4)
2020-02-18 14:22:05 +01:00
Michael Alexsander
621821bf87 Make the replaced results appear in the matches counter
(cherry picked from commit 1c5cfb9bfd)
2020-02-06 13:02:07 +01:00
Rémi Verschelde
40f0649e5b Fix typos with codespell
Using codespell 1.16.0.

See ab3bccdb78 for procedure.
2020-01-15 00:49:52 +01:00
Haoyu Qiu
9c229cb035 Fixes minimap width on HiDPI monitor 2020-01-11 19:36:20 +08:00
Rémi Verschelde
a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Rémi Verschelde
f7d8dd79e9
Merge pull request #34441 from KoBeWi/wrapping_things_up
Fix code editor not always centering to bookmarks
2019-12-22 12:34:03 +01:00
Yuri Roubinsky
c89df816c1 Fix ScriptTextEditor encapsulation 2019-12-19 09:30:40 +03:00
Tomasz Chabora
b8bbf5a55f Fix code editor not always centering to bookmarks 2019-12-18 21:58:47 +01:00
Yuri Roubinsky
9f223616f1 Updates toggle scripts switch tooltip (if user changed the shortcut) 2019-12-18 12:00:02 +03:00
Yuri Roubinsky
03928c5b36 Fix toggle scripts panel to allow using shortcut in other areas 2019-12-17 17:23:29 +03:00
Yuri Roubinsky
bb7b614da1 Prevent showing toggle scripts panel switch in shader editor 2019-12-17 11:19:43 +03:00
Yuri Roubinsky
dc0199989d Moves switch for show scripts panel from File menu to status bar 2019-12-15 16:56:28 +03:00
Haoyu Qiu
6eaec3d10d Fixes Delete Line doesn't delete first line in script
Also, match multi-line delete behavior in script with single line:

If there are four lines: A, B, C, D.

Before the change:

    Delete C: Cursor lands on D
    Delete B and C: Cursor lands on A

After the change:

    Delete C: Cursor lands on D
    Delete B and C: Cursor lands on D
2019-12-09 16:31:43 +08:00
Tomasz Chabora
f4d0e598a7 Center Script Editor when jumping to bookmarks/breakpoints 2019-12-01 18:43:52 +01:00
Yuri Roubinsky
0ec76d40b4 Fix incorrect error label color when switching from light to dark theme 2019-11-14 13:34:56 +03:00
Yuri Roubinsky
facfae3671 Fix "matches" label color in light theme 2019-11-14 09:44:53 +03:00
lupoDharkael
6f32fc68e4 Code editor: select next occurrence after Replace 2019-10-14 13:59:26 +02:00
Michael Alexsander
be865871f4 Fix text search bar not correctly switching from replacing to just searching 2019-10-01 10:06:03 -03:00
amakarenko
544c39d1e7 Fix editor infinit loop in search_prev
Fixes godotengine#31328
2019-09-02 15:15:55 +03:00
Cykyrios
ed00313a0b Reorganize & rename text editor settings categories
Add Navigation category for scroll and minimap settings.
Rename Line Numbers category to Appearance.
Rename Open Scripts category to Script List.
Rename "Draw Minimap" setting to "Show Minimap" (this is more consistent with other settings).

Reorder settings by category in code_editor.cpp to match settings list
2019-09-01 13:33:37 +02:00
Paulb23
0cea72273f Add minimap to text_edit 2019-08-21 23:48:46 +01:00
Michael Alexsander Silva Dias
22e9544582 Fix matches result in the code search not appearing when the quantity is 0 2019-08-14 20:43:26 -03:00
Rémi Verschelde
1387c683d4
Merge pull request #31329 from KoBeWi/vscode_ftw
Tweak the behavior of search/replace bar
2019-08-14 11:42:18 +02:00
Rémi Verschelde
fcec358840
Merge pull request #31355 from nekomatata/fix-select-prev-freeze
Fixed freeze on search previous
2019-08-13 20:47:45 +02:00
PouleyKetchoupp
6a842fbb6d Fixed freeze on search_prev (missing condition for searching from a previous result, now the same as search_next)
Fixes #31328
2019-08-13 19:42:42 +02:00
Tomasz Chabora
72c40c788f Tweak the behavior of search/replace bar 2019-08-13 17:18:13 +02:00
Michael Alexsander Silva Dias
95a8b2b5d9 Make the script search have a proper matches counter 2019-08-13 09:29:49 -03:00
Tomasz Chabora
b1af799b16 Select found text in Script Editor 2019-08-02 15:00:26 +02:00
Hugo Locurcio
755689b0e9
Enable the script editor's "Auto Brace Complete" by default
This also adds a setting hint for the "Code Complete Delay" setting
and cleans up some duplicated default setting values.

This closes #30662.
2019-07-18 21:42:10 +02:00