Commit Graph

193 Commits

Author SHA1 Message Date
Rémi Verschelde 4112d6c1b4 Show C++ error condition in script editor debugger
This was removed by @RyanStein in #21884 in the case where an error
message is provided, but this is actually useful information to have
even when there is a custom error message.

This PR makes it so that the "C++ Error" is shown whenever there is
a custom error message provided.

Also adds method name to the error item title, and re-adds the most
relevant info in the tooltip for quick error checks without expanding.

Renames C Error/Source to C++ Error/Source, since that's what it is.
And fix untranslatable entry due to misuse of TTR().

And some more cleanup for readability.

Cf. https://github.com/godotengine/godot/issues/32276#issuecomment-534119914
2019-09-25 10:49:44 +02:00
Rémi Verschelde 965e059146
Merge pull request #32258 from Calinou/improve-debugger-shortcut-ux
Improve the debugger shortcut UX
2019-09-23 14:59:44 +02:00
Rémi Verschelde a089057596
Merge pull request #32049 from codecustard/fix_remoteview_navto_inspected
Fix Remote Tree Navigate to Inspected
2019-09-23 08:13:34 +02:00
Hugo Locurcio 471a3ceb77
Improve the debugger shortcut UX
- Display the shortcut in the button tooltips by defining the shortcut
  on the buttons as well.
- Swap "Step Over" and "Step Into" in the Debug menu to match the button
  order in the Debugger bottom panel.
2019-09-22 19:19:53 +02:00
Hugo Locurcio ba566dff2e
Distinguish editor-originating messages in the editor log
This fades out messages originating from the editor to make messages
printed by the project stand out more.

This also tweaks wording in some editor messages for consistency.
2019-09-20 01:59:02 +02:00
Rémi Verschelde fc9985b770
Merge pull request #31961 from YeldhamDev/info_messages
Add informational messages to various editors
2019-09-19 20:06:44 +02:00
Emmanuel Barroga 6efbabeb9e Fix Remote Tree Navigate to Inspected
Fixes the regression of remote-tree not navigating to what is being inspected in the inspector.
2019-09-08 19:52:37 -07:00
Rémi Verschelde 4ee8ecd3ef
Merge pull request #31989 from sparkart/revert-30833-fix_inspector_clear_remote_node
Revert "Fix Clearing Inspector for Remote Node"
2019-09-05 17:38:57 +02:00
Fabio Alessandrelli 768d637a1b
Merge pull request #31870 from JFonS/add_network_profiler
Add network profiler
2019-09-05 16:34:36 +02:00
Emmanuel Barroga 2bac4e1784
Revert "Fix Clearing Inspector for Remote Node" 2019-09-05 06:58:36 -07:00
jfons 8244f535cd Add network profiler 2019-09-05 09:48:36 +02:00
Michael Alexsander Silva Dias 5f3a55acb7 Add informational messages to various editors 2019-09-04 12:37:11 -03:00
iwek7 617797c47c Adds skip-breakpoints feature 2019-09-03 20:49:09 +02:00
Rémi Verschelde 0cff5d0b30
Merge pull request #30833 from sparkart/fix_inspector_clear_remote_node
Fix Clearing Inspector for Remote Node
2019-08-23 09:13:06 +02:00
Silvano Cerza d8dae84c9a Fixed remote scene tree not collapsing 2019-07-30 15:11:13 +02:00
Emmanuel Barroga 2f2abadefe Fix Clearing Inspector for Remote Node
Resolves: #30731

When you stop debugging... if you were inspecting a remote node, partial information about the remote node remained in the inspector (e.g. name and warning).

To resolve this, called EditorNode::edit_current() instead of EditorInspector::edit(NULL), which will call all the methods required using "NULL" if the current selected object is NULL.

In EditorPath::update_path() if the selected object is NULL, it does not update the path to reflect this change, basically does nothing. To fix this, we nullify everything, before the history loop.
2019-07-25 22:10:49 -07:00
Michael Alexsander Silva Dias 7f12618fdf Fix text position in the debugger's "Monitors" tab not being an integer 2019-07-25 11:02:17 -03:00
Michael Alexsander Silva Dias a2c4e4d6ff Center text in the debugger's "Monitors" tab 2019-07-24 21:52:47 -03:00
Rémi Verschelde 21a2cd1a04
Merge pull request #23270 from silvanocerza/remote_scene_tree_filter
Implemented remote scene tree filtering
2019-07-19 15:38:07 +02:00
Rémi Verschelde 4d99408d12
Merge pull request #28884 from vnen/yield-resume-stack
Keep GDScript functions in stack while yielding
2019-07-01 16:35:26 +02:00
Rémi Verschelde 5c66771e3e
Merge pull request #29283 from qarmin/fix_some_always_same_values
Remove always true/false values
2019-06-20 21:10:10 +02:00
qarmin 072e40368e Fix always true/false values 2019-06-20 16:59:48 +02:00
Rémi Verschelde 7fa941bfd8
Merge pull request #29463 from Faless/editor/debugger_take_connection
Editor debugger now always handle connections.
2019-06-19 12:47:51 +02:00
Fabio Alessandrelli 108de5a734 Editor debugger now always handle connections.
The editor debugger used to only take the first client connection,
leaving potential new connections hanging until TCP timeout.
This caused a lock after some time when running multiple game/editor
instances, as the client will fill the write buffer, and then lock until
timeout (as the editor server would never read from that socket).

The editor now drops new connections immediately if it is already
connected to a client.
2019-06-19 11:45:45 +02:00
Hugo Locurcio 746bfc3662
Fix display of large sizes in the editor monitors
Unlike the old custom method, the `String::humanize_size()`
method works well with file sizes above 2 GB.

This also tweaks the suffixes for spacing consistency and
uses the correct acronym for exabytes (EB).

This closes #29610.
2019-06-08 22:05:57 +02:00
Hugo Locurcio b615277a07
Improve the performance monitor display
- Use dark colors when using a light theme for better visibility
- Enable antialiasing (only effective when using the GLES3 renderer)
- Make graph lines thinner but opaque
- Scale graph line widths on hiDPI displays
2019-06-03 23:30:05 +02:00
Rémi Verschelde 21ee1d2198
Merge pull request #25516 from bojidar-bg/25487-folding-remote-tree
Fix remote scene tree root folding
2019-05-29 17:51:12 +02:00
Silvano Cerza f23e1aab34 Implemented remote scene tree filtering
User can now filter the remote scene tree, like the local one is filtered, while
the game is running
2019-05-27 17:46:57 +02:00
hbina085 5f862ee186 Now able to "Copy Node Path" from Remote tab". Fixes issue 28585. 2019-05-17 00:49:37 -04:00
George Marques 9df1a2442b
Show function name in debugger stack trace
Also show script and line when the instance is gone when resuming from
yield.
2019-05-14 11:39:44 -03:00
Rémi Verschelde 23147ae2c3
Merge pull request #28101 from MunWolf/debugger_cursor
Added a marker in text_edit that tells which row is executing.
2019-04-29 18:38:38 +02:00
Elias Rammos 9f16a67754 Debugger's inspector doesn't clear it values on every debug action 2019-04-25 00:11:34 +03:00
Rikhardur Bjarni Einarsson 9bfa63496a Added a marker in text_edit that tells which row is executing. 2019-04-23 21:51:01 +01:00
Rémi Verschelde 0b747f5312
Merge pull request #25995 from lupoDharkael/csv
Add CSV export to profiling data
2019-04-06 13:12:20 +02:00
lupoDharkael 2c68ce930c Add CSV export to profiling data 2019-03-28 08:42:29 +01:00
Pedro J. Estébanez 9c3ddf05cb Revert accidental commits
This reverts commit fb37284c02.
This reverts commit 4db0f51b9a.
2019-03-20 21:43:55 +01:00
Pedro J. Estébanez 4db0f51b9a Create live view dock [wip] 2019-03-20 20:44:43 +01:00
Michael Alexsander Silva Dias 73aaf06be7 Cleanup relationship line coding after 5f079e2 2019-03-06 14:33:26 -03:00
Juan Linietsky 5f079e2ef9 -Make tileset and meshlibrary edit in a separate inspector, fixes #26671
-Made relationship lines appear based on theme settings, not previous hack
-Fix drawing of relationship lines (was broken)
-Fix double initialization of theme settings
2019-03-06 12:12:42 -03:00
Erik 3f9ba2bd14 Fixed Errors Tab Indexing Bug in the Debugger
FIxed bug with Errors tab in the Debugger using wrong index in the
tab container.

Also removed unused variable that was probably left behind.
2019-02-28 22:12:14 +01:00
marxin 8d51618949 Add -Wshadow=local to warnings and fix reported issues.
Fixes #25316.
2019-02-20 19:44:12 +01:00
Bojidar Marinov 72472bef05
Fix remote scene tree root folding
Fixes #25487
2019-01-31 16:40:27 +02:00
DualMatrix f119e0b156 Fixed function names of built-in scripts not showing up in debugger
Fixes #25198
2019-01-25 12:54:50 +01:00
Rémi Verschelde b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Juan Linietsky a2a606794c Ensure array and dict editors show edited object IDs, fixes #20225 2018-11-21 22:10:58 -03:00
Michael Alexsander Silva Dias 7144e2fde4 Add more places to hide guides if relationship lines are enabled 2018-11-19 03:05:01 -02:00
Michael Alexsander Silva Dias 8a08a9fb6a Remove unused variable in ScriptEditorDebugger 2018-11-11 15:35:09 -02:00
Juan Linietsky d16ce4a8ed Many fixes to script editor remote debugger, closes #13346 2018-11-11 09:16:27 -03:00
Juan Linietsky 9b2c441ae3
Merge pull request #22625 from allkhor/cleanup_history_from_remote_nodes
Cleanup the editor history from remote nodes after the scene stopped.
2018-11-02 11:32:36 -03:00
Hugo Locurcio f126b61748
Resize some editor panel minimum sizes on hiDPI displays
This also increases the plugin description TextEdit's height,
so that 3 lines can be viewed instead of just 2 (leaving a few pixels
for the scroll bar).
2018-10-20 22:09:42 +02:00
allkhor 9fc71d3472 Cleanup the editor history from remote nodes after the scene stopped. 2018-10-11 20:02:55 +06:00
DualMatrix c4ac2707dc Cleaned up/Fixed some bugs in the remote inspector code.
Cleaned up/Fixed some bugs in the remote inspector code.

This makes some of my previous code cleaner while resolving a bunch of bugs.
2018-10-04 15:13:44 +02:00
Chaosus 54d44f7076 Fix script path for warnings 2018-10-02 13:07:55 +03:00
Rémi Verschelde c51caa3dbd Revert "Fix -new inspector- remote debug view not changing to current scene after exiting game - Fixes #20075"
This reverts commit 9c7e647124.

This commit caused a regression and is not a correct fix for the original issue.
Fixes #22573, reopens #20075.
2018-10-01 08:56:15 +02:00
Rémi Verschelde dc6d95f4a1
Merge pull request #22524 from DualMatrix/error_spam_3_please_be_final
Fixed error spam when selecting root in remote tree
2018-09-29 22:44:13 +02:00
DualMatrix 75f5fd20a1 Fixed error spam when selecting root in remote tree
Fixed error spam when selecting root in remote tree
2018-09-29 01:03:50 +02:00
DualMatrix 9bb65399d9 Fixed debugger showing wrong name for Objects.
Fixed debugger showing wrong name for Objects.
2018-09-29 00:23:20 +02:00
DualMatrix d4df4c1475 Fixed Objects do not showing their drop down in debugger
Fixed Objects do not showing their drop down in debugger
2018-09-28 19:08:31 +02:00
Rémi Verschelde c19dc39630
Merge pull request #22201 from DualMatrix/error_spam_2_electric_boogaloo
Fixed error spam in remote debugger
2018-09-20 14:45:21 +02:00
DualMatrix aa32a9f22d Fixed Objects no longer showing ID in debugger.
Fixed Objects no longer showing ID in debugger.
2018-09-19 12:06:34 +02:00
DualMatrix 54286e1711 Fixed error spam in remote debugger
Fixed error spam in remote debugger.
2018-09-19 11:32:11 +02:00
willnationsdev 5436abefe4 Refactor editor icon retrieval 2018-09-14 09:27:56 -05:00
Michael Alexsander Silva Dias 3a9df46b90 Add expand/collapse all buttons for the "Errors" tab 2018-09-12 23:53:10 -03:00
Fabio Alessandrelli cdc5264a3e
Merge pull request #21692 from Faless/sockets_rebase
New NetSocket interface with common BSD/Win implementation
2018-09-12 18:25:28 +02:00
Fabio Alessandrelli 30327872e0 Unify StreamPeerTCP/TCP_Server with NetSocket API 2018-09-12 15:56:20 +02:00
Rémi Verschelde c4311b62c4
Merge pull request #21884 from RyanStein/feature-error-tree
Resurrect integrated error display for the Debugger.
2018-09-12 14:53:32 +02:00
Rémi Verschelde 277b24dfb7 Make core/ includes absolute, remove subfolders from include path
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
2018-09-12 09:52:22 +02:00
Rémi Verschelde 45b609f46a Replace last occurrences of PropertyEditor by EditorInspector
Updates the following plugins:
- ConnectionsDialog
- ScriptEditorDebugger
- ItemListEditorPlugin

Also drop now unnecessary compatibility methods.
2018-09-11 16:09:19 +02:00
Ryan Stein 13370e3e09 Merge debugger's error and stack trace lists into one tree interface. 2018-09-08 22:36:40 -04:00
Rémi Verschelde 52466d57e9 Make some debug prints verbose-only, remove others 2018-08-24 14:59:01 +02:00
Marcin Zawiejski ce73b56adb Reset reason text when no longer connected
Resets the "Child Process Connected" when the child process is no longer
connected.
2018-08-20 20:46:14 +02:00
Chaosus 4fdb8ebdec Fix debugger icon for warnings 2018-08-16 08:50:42 +03:00
Chaosus 94cf2133d5 Add warning color to output log 2018-08-13 21:52:38 +03:00
Hein-Pieter van Braam 0e29f7974b Reduce unnecessary COW on Vector by make writing explicit
This commit makes operator[] on Vector const and adds a write proxy to it.  From
now on writes to Vectors need to happen through the .write proxy. So for
instance:

Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;

Failing to use the .write proxy will cause a compilation error.

In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.

_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
ordigdug 9c7e647124 Fix -new inspector- remote debug view not changing to current scene after exiting game - Fixes #20075 2018-07-13 13:00:14 -04:00
Benjamin 98233073a9 Don't cut of long errors in debugger.
Autowrap to expand to up to 3 lines + display full error in tooltip.
2018-05-26 13:52:16 +02:00
Juan Linietsky 005b69cf6e -New inspector.
-Changed UI resizing code, gained huge amount of speed.
-Reorganized timer sync to clean up behavior (sorry forgot commit this before)

-
2018-05-15 17:14:31 -03:00
Juan Linietsky 80b9edf0f6
Merge pull request #16893 from GodotExplorer/debugger-improvement-3
Save runtime node as scene from remote scene tree.
2018-05-07 16:41:34 -03:00
Rémi Verschelde bf7ca623a6 Fix Coverity reports of uninitialized scalar variable
Fixes most current reports on Coverity Scan of uninitialized scalar
variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html

These happen most of the time (in our code) when instanciating structs
without a constructor (or with an incomplete one), and later returning
the instance. This is sometimes intended though, as some parameters are
only used in some situations and should not be double-initialized for
performance reasons (e.g. `constant` in ShaderLanguage::Token).
2018-04-19 15:20:45 +02:00
Poommetee Ketson 2de1dfa42f Update icons when theme changed 2018-02-25 23:04:16 +07:00
Paul Joannon 3ee4ce51a9
only show information we have in stacktrace
do not show line number and/or file if not defined
2018-02-24 21:18:57 +01:00
Artem Varaksa db2a1544c0 Insert proper copy icon to debugger 2018-02-22 10:50:38 +03:00
geequlim 24e6361cba Save runtime node as scene from the remote scene tree. 2018-02-22 10:00:13 +08:00
Daniel J. Ramirez cecf274364 Icons update
includes new enum, MeshInstance2D, Skeleton2D, Cut, Copy and Paste icons.
2018-02-21 19:05:50 -06:00
geequlim cfde737478 Don't print error message when select debugger stacks if the debugger is stopped.
Clear debugger stack inspector if the debugger is stopped when selected stack changed.
2018-02-21 19:28:26 +08:00
Michael Alexsander Silva Dias 0d13eb4225 Fixed Remote Tree not drawing relationship lines unless the setting is changed. 2018-02-20 18:12:44 -03:00
Michael Alexsander Silva Dias 32e3f257ac Made the Debugger's Stack Frames items reselectable. 2018-02-20 00:02:37 -03:00
Artem Varaksa b169b16f98 Fix #16543 (add button to copy error from debugger) 2018-02-14 14:53:20 +03:00
Guilherme Silva 9974e86904 Fix option run/output/always_open_output_on_play 2018-01-19 11:56:07 -02:00
Ignacio Etcheverry 5be356b72f Mono: Implement stack info for errors and exceptions 2018-01-09 17:19:03 +01:00
Rémi Verschelde 0df857f9f2
Merge pull request #15294 from poke1024/fix-debug-hangs
Fix Godot getting swamped by debug events
2018-01-08 15:36:59 +01:00
Bernhard Liebl 09dd70878e Fixes debugger randomly not pausing 2018-01-07 13:00:15 +01:00
Rémi Verschelde e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Bernhard Liebl bd5e3052ac Fix Godot getting swamped by debug events 2018-01-03 15:59:10 +01:00
Rémi Verschelde 6cd33f17f7
Merge pull request #14792 from Krakean/enh-1
A few small Debugger->Errors tab enhancements:
2018-01-03 10:26:55 +01:00
Rémi Verschelde b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Dmitry Koteroff ea14b0789b A few small Debugger->Errors tab enhancements:
1. Added "Clear" button to clear list.
2. Errors list now populated with newest items comes first, so no need to scroll everytime.
3. Added PopupMenu to errors list with ability to quickly Copy error text & details.
2017-12-18 03:40:49 +03:00
Rémi Verschelde a7c244564e Make auto switch to remote scene tree opt-in
The performance cost is too high for now, so it should be opt-in for users
who really need it all the time. Fixes #13833.
2017-12-04 10:25:35 +01:00
volzhs 452af98995 Better number format for memory usage 2017-11-25 02:09:32 +09:00
geequlim 9ef720908f Improved update for remote scene tree and remote object. 2017-11-23 15:23:24 +08:00