Search Unity

Utilities Script Inspector 3

Discussion in 'Tools In Progress' started by Flipbookee, Aug 10, 2013.

  1. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    Yeah @Novack, I know about that one...

    I'll check how that works in MD again. I've tried it some long time ago and I didn't like it, but I'll give it a second chance ;)... Not for this update though, Beta 6 is closed for new features and almost ready to be sent out :D
     
    Novack likes this.
  2. mcmorry

    mcmorry

    Joined:
    Dec 2, 2012
    Posts:
    580
    I was tempted to try VS Code, but from the feature list is lacking the refactoring feature. Mono Develop has a poor one, but is still better than nothing. And Si3 is already so powerful that is probably very similar to VS Code.
    Anyway would be interesting to have opinions from someone that tested VS Code for a while.

    Some of the things that I would like from Si3 is to have a "Find references" feature and a fast navigation between files, not only switching tags (also the shortcut Ctrl+Tab is not working on Unity 5). Than I would use Mono only for refactoring.
    I also feel that mixing Si3 tabs with other unity tabs is confusing. Would be better to have one or more Si3 container with its own tabs inside, and with a class/file search box similar to the MonoDevelop one.
     
    Flipbookee likes this.
  3. Callski

    Callski

    Joined:
    Feb 3, 2013
    Posts:
    130
    @Flipbookee Visual Studio Code is really nice! I can search the entire project for code, read comments (most of the time), auto format c#, code highlighting, and its very lightweight. The big features I miss however are collapsible code (I really miss my regions), no auto comments (three backslashes doesn't auto fill out the rest), and it doesn't fix things for you like VS for missing references or imports.

    The coolest feature Is I can click above a method or variable and find all the references to it in different scripts. Above every function you'll have the number of references (3 references) OnButtonClick(). You click a reference, and a small window will appear showing you five lines of code where the method is being called.

    That being said, VS Code does take a bit to set up. The simplicity and ease of use is why I still spend the majority of my time on SI3.
     
    Flipbookee likes this.
  4. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    @Callski and @mcmorry, thanks for all the info! These are extremely useful things for me to know!

    I'm planning to extend the search options in Si3 with all the cool things MD can do. That's the only cool feature I really like in MonoDevelop actually! At work I use Visual Studio with Visual Assist X mostly because VAX lets me jump to definition of any symbol and it lets easily open any file I need... I'd love to see Si3 learn those tricks :D

    And then, of course, Find References is pretty standard and essential feature that I'm missing in Si3 too. I have to fully finish the semantic analysis for that to work correctly. All the refactoring features also need that to work perfectly, or otherwise you'll end up with broken code :p...

    Beta 6 is getting released tonight, and then I'll be focused on getting the rest of the semantics analysis where it should be.
     
    mcmorry and FireMutant like this.
  5. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    Si3 Beta 6 got just released! :cool:

    Each time I try to do something fancy with the windows in Unity I always end up spending 5 times more time to make that work on both Windows and OS X. Make something work on PC - it doesn't work on Mac. Fix it for Mac - it doesn't work on PC now. Repeat... :p

    I was supposed to release a quick update on Beta 5 because of the issues with Unity 5.1, and maybe add only a few small features to justify bumping the Beta version up to 5.1, but somehow the list grew a bit too much. So, I'll try to list all the new features here:

    - @Novack's pet feature: Go Back and Go Forward buttons in the code navigation toolbar. New keyboard shortcuts mapped to these two: Alt+Left/Right arrows (even on Mac, although I'm not sure was that a good idea or not). On Windows only and if you own a 5 buttons mouse - navigate through your code with the 4th and the 5th button.

    - @FireMutant's pet feature: New keyboard shortcut (and menu item Window->Toggle Si3 tabs) Alt+T on PC, Cmd-Shift-T on Mac, hides and shows all floating Si3 tabs (floating as in not docked in the main Unity window).

    - @jrDev's pet feature: Regions can now be sorted in the order as they appear in code or sorted alphabetically.

    - @Flipbookee's pet feature: Smooth scrolling :D can be turned off from Preferences->Script Inspector if you don't like it.

    - As @radimoto suggested, brace highlighting now works when the cursor is "touching" braces from outside.

    - As @jrDev and some other people suggested searching forward will loop at the end and start from the beginning, and searching backward loops from the first occurrence to the last. The last occurrence will be "found" twice to warn you about the looping as in Visual Studio and the second "ping" will be in red as @jshrek suggested. All that looks and works great :) (it can be disabled from Preferences->Script Inspector)

    - @Novack's pet feature: Si3 tabs remember the position of the last closed tab. New Si3 tabs will appear there.

    - A few improvements in the semantic analysis including @ZimM's notion of incorrect handling of rule "7.5.4.1 Identical simple names and type names" from C# language specification.

    - As @Novack suggested, parameter hints have received a little bit of love - no need to count parameters anymore, now Si3 will highlight the parameter you're typing in :) (although you'll still have to jump to Unity Scripting Reference to check the meaning of each parameter... I'll check that too)

    - @Novack's pet feature "Use standard colors in popups" looks great! I've also tweaked font sizes in all popups to match the font size in your code a bit closer.

    - @jrDev's pet feature: pressing enter while typing inside a string literal will end the line with a " + and start a new line with a "

    I guess that's it for now... I'll let you know if there's anything else, but thank you all for your great suggestions! I know there were more suggestions than these, but I only have two hands and a day job ;) so let's leave something for the next update.

    I hope you'll like this update too. Enjoy! :cool:
     
    Last edited: Jun 20, 2015
  6. FireMutant

    FireMutant

    Joined:
    Sep 2, 2013
    Posts:
    49
    Flipbookee,
    WOW! You made my day. Love all the new features, especially the Alt-T toggle! Thank you very much. Didn't even know you were working on some of these things. Smooth scrolling, awesome. Back & Forth in the code, very useful! The improved code hints, brace matching and color schemes, excellent! Pretty soon, there won't be a reason to boot up Visual Studio.

    You really ought to publish this to the Asset Store so you can start getting rewarded financially for all your effort. There will ALWAYS be more feature requests, but in its current state SI3 is one of the most productive and useful tools I use in Unity. Can't imagine coding without it now.

    Only problem is that you keep raising our expectations with all the cool new features! ;)
     
    Flipbookee likes this.
  7. jprocha101

    jprocha101

    Joined:
    Apr 8, 2015
    Posts:
    134
    @Flipbookee
    Si3 so far is wonderful!!! This will most likely be my primary editor now. VS just for debugging.

    I do have one request. Can we get an option to not show the script in the inspector tab, and maybe a right click context menu option to open a new Si3 tab? I like to switch from the code back to the object I was working on by just changing tabs, and not have to look for the object in hierarchy or project tab, especially if its buried folders deep.
     
    Flipbookee likes this.
  8. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    @jprocha101 I'll investigate that right now. The problem with it is that on first mouse-click the script gets selected, on second mouse-click it opens in a SI tab. Now, once the selection has changed it easy to go back and select the previous object, but the Project view will also reflect that and move its focus back to where it was. You'll have to navigate again to your scripts folder from there to open another script... But let me think, there must be a more elegant solution...
     
    jprocha101 likes this.
  9. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Wohoooo! Awesome man! Not working at the moment, but Im eager to try the new beta. Thanks so mach for all the gifts man! :)
     
    Flipbookee likes this.
  10. jprocha101

    jprocha101

    Joined:
    Apr 8, 2015
    Posts:
    134
    May have found an issue. I am using DOTween Pro and it seems to not be able to auto complete for that namespace and gives an "unknown symbol" error. I can run the project and there are no errors other than in the Si3 window.

    upload_2015-6-21_0-4-41.png
     
    Last edited: Jun 21, 2015
    Flipbookee likes this.
  11. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    @jprocha101, Yes, Si3 still doesn't understand extension methods, but I'm working on that right now. I'll keep you guys informed about how is that going... So far I'm still at reading language specifications. ;)

    Thanks for the gorgeous screenshot! Can someone guess that it wasn't taken from Visual Studio enhanced with Visual Assist X? :p
     
    gg_michael, Novack and jprocha101 like this.
  12. FireMutant

    FireMutant

    Joined:
    Sep 2, 2013
    Posts:
    49
    @Flipbookee,

    I found one small "nuance" with the Alt-T toggle of a Floating Window, which is not a big deal, but I wasn't sure if it is meant to work this way, or is a bug.
    1. Open a few source files in SI3.
    2. Alt-T to toggle SI3 hidden
    3. Click on a source file in your Project.
    4. Click on the New Tab (Ctrl-T) button in SI3 in the Inspector.

    SI3 will open a new tab for that source file, but will not re-show the hidden SI3 tabs. If you hit Alt-T two more times to hide the single source tab, then show SI3 again, it will show SI3 with ALL source file tabs. However, if you do steps 1 - 4 again, SI3 does not seem to know that this source file is already open in a tab, and will continue to add duplicates of this source file to the SI3 tabs.

    I hope that explanation made sense.

    Thanks.
     
    crafTDev and Flipbookee like this.
  13. gg_michael

    gg_michael

    Joined:
    Sep 24, 2012
    Posts:
    73
    This thing keeps getting better and better! Try astounding work.

    One thing I'd like to see is the region navigation tabbed to the right side, like a persistent column so it's always visible. Sort of how the region navigation is in MonoDevelop. I like having a visual rundown of the script to glance at, rather than having to click on the dropdown.

    Also, having the method/variable list drop-down be ordered sequentially like the region navigator would be rad. The region navigator has the "sort alphabetically" option but the method list doesn't have any other options.

    Great work @Flipbookee, SI3 is the best asset I've ever used.
     
    Flipbookee likes this.
  14. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
    Yes, I notice this too. It is creating duplicates of tabs.

    Still, this is FANTASTIC!

    Thanks Flipbookee!
     
    Flipbookee likes this.
  15. thienhaflash

    thienhaflash

    Joined:
    Jun 16, 2012
    Posts:
    513
    I got a bug for you :) I'm on SI3-b6, Mac Yosemite, Unity 5.1

    Code (CSharp):
    1. IndexOutOfRangeException: Array index is out of range.
    2. ScriptInspector.FGTextEditor.UpdateMatchingBraces () (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTextEditor.cs:2662)
    3. ScriptInspector.FGTextEditor.DoGUIWithAutocomplete (Boolean enableGUI) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTextEditor.cs:2644)
    4. ScriptInspector.FGTextEditor.OnWindowGUI (UnityEditor.EditorWindow window, UnityEngine.RectOffset margins) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTextEditor.cs:2453)
    5. ScriptInspector.FGCodeWindow.OnGUI () (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGCodeWindow.cs:1022)
    6. System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
    7.  
    A question, how can I open scripts files in external / default editor if I choose SI3 to open scripts on double click ?
     
    Flipbookee likes this.
  16. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    Nice bug find @thienhaflash, thanks!

    Ctrl+Enter in a SI view (a standalone view or in the Inspector) will open external IDE at the same line where the cursor was in SI. This would be Cmd-Return on OS X, but there was a report that it doesn't work there in Unity 5.1 and I can't verify that, my MacBook is too old for Unity 5.

    Other than that, there are other ways too, for example the right-click menu in the SI Console has an option to switch opening entries from the call-stack in the external IDE instead of opening them in Si3. Also if the "Always open in SI tabs" option in the gear menu is turned off then all scripts will open in external IDE except double-clicking a script in the Project tab, so if you try to open the selected script with keyboard then it will open in your external IDE.
     
  17. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    @mStep, great suggestions, thanks! I can easily add sorting options to the code navigation, but adding a column to visually show code related info next to the vertical scrollbar (if that's what you meant) is not trivial, but I've been planning to add that, maybe even replace the vertical scrollbar with a minimap of the whole script. All that would have to work with optimal performance, and a simple naive approach such as drawing all the info there in OnGUI wouldn't work for larger scripts. That column had to be cashed in a Texture2D and then updated when parts of code change.
     
    gg_michael likes this.
  18. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    @FireMutant & @jrDev, Alt+T is a very simple function currently not smart enough to "see" that the new tab you're trying to open is already open but hidden. I didn't think it would need to be a bit smarter, so it simply shows all hidden tabs if there are any or otherwise hides all floating SI tabs.

    Note that there's no Hide() function for Unity's EditorWindow, and to emulate that I have to close the tabs completely. In order to restore them and their state as they were before closing I serialize them in a temporary file as a partial Unity windows layout. Alt+T simply does the serialization to or from that partial layout file without anything else.

    I wanted to say that I don't know that there was a hidden tab showing that particular script since all references were lost and instances destroyed. But while I was writing that I realized that it makes sense to always restore all hidden tabs before opening a new one, and then if the new one is already shown in one of the restored tabs it will be reused and no duplicated tab will be added :) so I'll just do that, that should work great!
     
  19. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    I've tried to add a "restore previous selection after double-clicking a script" and that seems to work fine. If I don't see any issue with that, I'll publish it with the next update. :) Thanks for this great suggestion!
     
    jprocha101 likes this.
  20. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    Do you folks use any of the built in version control options in Unity Pro? I need a few volunteers to help me make Si3 work with that. :)
     
  21. thienhaflash

    thienhaflash

    Joined:
    Jun 16, 2012
    Posts:
    513
    If you can add auto import (adding using ... ) then it would be perfect. Now the only reason for me to open the file in VS is the auto import thing. I can never remember which one to import !

    Cmd + Enter on Mac does not work on my Yosemite, so It won't open the script in external editor, not sure if it's my fault or not, tweaking shortcuts a lot yesterday :D

    Other than that, very very nice work so far !
     
    Flipbookee likes this.
  22. thienhaflash

    thienhaflash

    Joined:
    Jun 16, 2012
    Posts:
    513
    As a fun fact,

    I tried to Alt + drag to select a column of text for ten times or so then concluded that there might be some error with my editor or OS that prevent me to do that. I didn't recognize that I'm in an SI3 tab, completely thought it was a native Text Editor like sublime or VS. I only realize that half an hour after that when SI3 did not auto import the using for me

    Very very well done, man !
     
    Flipbookee likes this.
  23. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    He, he, I'm so glad I tricked you! :)

    Sometimes I trick even myself, but in the opposite way. VS looks like Si3, but F1 doesn't give me help for Unity API, Ctrl+P doesn't run the game, autocompletion doesn't read my mind, etc... :p
     
  24. gg_michael

    gg_michael

    Joined:
    Sep 24, 2012
    Posts:
    73
    A minimap of the whole script, like an outline with each piece clickable for quick navigation, would be ideal. Though I understand how that could take some proper TLC to get working right. The best part of SI imo is how freakin fast it is :cool:

    EDIT:
    Oh! And just a lil thing, no autocomplete for regions and #endregion (and I assume other preprocessor things). Not a big deal but it throws me off when I try to autocomplete a region declaration and realize i just newline'd instead. You've spoiled me with all the other autocomplete stuff
     
    Last edited: Jun 24, 2015
    Flipbookee likes this.
  25. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    He, he, and it's still single threaded, will do even better once I move the incremental analysis on another thread. ;)

    Yeah, there's no autocomplete for anything preprocessor related yet. It's a small thing so it will be added.
     
    gg_michael likes this.
  26. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    Hmm, it works for me :confused: Note that on OS X this is Alt-Tab.
     
    mcmorry likes this.
  27. mcmorry

    mcmorry

    Joined:
    Dec 2, 2012
    Posts:
    580
    Yes it works on OSX but It's very sad that many standard shortcuts are different on OSX. I suppose that is Unity that is not allowing you to do it.
    I keep forgetting the shortcut in this way. Also as I suggested long time ago, a small static window (accessible from a small "?" icon) that list all the available shortcuts would definitely help.
     
    Flipbookee likes this.
  28. jshrek

    jshrek

    Joined:
    Mar 30, 2013
    Posts:
    220
    +1 for quick access to shortcuts list
     
    mcmorry, Novack and Flipbookee like this.
  29. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    I see, I'll add a shortcuts list window!

    Yes, it's Unity that prevents me to handle all the shortcuts I want, so I'll try to do something similar to what I did on Windows, but I can't promise anything yet, I'm still not sure is that possible...
     
    Novack likes this.
  30. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    Si3 made a new friend - P4Connect! :cool:

    So far this new friendship is very promising. I can start editing any script and P4Connect is checkouting it for me automatically so I don't have to do that! :)

    I'm curious, what do you people use for version control? Is there any other VC system that marks the files as read-only, same as Perforce does that?
     
    Novack likes this.
  31. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Im happy to know there is an extension for P4 now. Used P4+Unity time ago, and was a terrible experience.

    With Unity, I have used Asset Server, SVN, P4 and Git. My most usual options are SVN and AssetServer.

    There are assets on the store like UVC (free and open source) that enables to lock files for team work on svn. I have used it, but not really for teamwork, although it seems quite flexible.

    Please educate me a bit, whats exactly the relation between Si3 and P4Connect?
     
    Flipbookee likes this.
  32. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    Si3 can now detect P4Connect's presence in a project and if found, call its functions (through Reflection, to avoid hard dependency) to query checkout status and to automatically checkout assets before editing, same as in Visual Studio. Locked files will not checkout and prevent Si3 from editing them, unless the user explicitly allows that. I'd also like to add easy access to Perforce submenu for assets being edited, but I haven't found an easy way to do that yet.

    Note that only the P4Connect beta works with Unity 5 for now. P4Connect from Asset Store works with Unity 4 only.

    Thanks for the link to UVC, I'll check that out too!
     
    Novack likes this.
  33. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    After some refactoring in Si3, extension methods are fully resolved and their generic arguments get inferred if not explicitly specified! :D

    Next: Completions for extension methods
     
    Novack and mcmorry like this.
  34. thienhaflash

    thienhaflash

    Joined:
    Jun 16, 2012
    Posts:
    513
    You rocks man. It's absolutely great to have extension methods, but I don't use it that much these days. It does at flexibilities but also come with troublesome.

    Another thing I encounter in my Mac : CMD + MouseWheel to change font size does not work smoothly. When I holding down CMD and scroll the wheel slowly nothing change, I must scroll fast and then it changes a lot. Maybe you can have a look at it as well ...

    One thing I really don't like is the magic tabs resizing of titles for scripts, are there any way to disable it ? OMG, I don't want it to move even only 1 pixel.

    Eagerly looking forward for the next build ! SI3 is just so essential on Mac !
     
    Flipbookee and jprocha101 like this.
  35. thienhaflash

    thienhaflash

    Joined:
    Jun 16, 2012
    Posts:
    513
    And bad news,

    I import SI3 b6 into an empty project, then open some of the source files of SI3, moving around using CMD+Y, copy something, move to another script tab and then SI3 hang. This is quite easy to reproduce my side as I already got this several times in 15 minutes ... CPU being maxed out at 99% then 100%, memory seems to be ok still

    Not sure if what could be wrong, I read the Editor log, nothing there (maybe because I install multiple Unity instances (4.6.6 & 5.1, btw). I'm on Mac Yosemite x64.

    Just tell as I don't have a specific reproduce-able steps so you can watch out for it ...

    Thanks.
     
    Flipbookee likes this.
  36. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    He he, that's an excellent news! :p ... as any other bug found during the beta and before the release ;)

    Thanks man! I may have fixed that already, so I'll check. If I manage to reproduce the bug it should be an easy fix :)
     
  37. thienhaflash

    thienhaflash

    Joined:
    Jun 16, 2012
    Posts:
    513
    Some more bad news, warnings this time, same warning, several different places, though ...

    Another suggestion, quite unpleasant to me :
    Ctrl + C / Ctrl + V does not work but CMD+C / CMD + V works (it's ok, it's Mac things)
    Ctrl + S works while CMD + S does not work (confusing experience )
    Ctrl + D does not work, while CMD + D does work

    Either it's Ctrl + or CMD + or both, it should be consistent as I don't know when I need to copy / paste I need Ctrl or Mac, when I need to duplicate a line, again Ctrl or CMD ? ... So It's just better you make it works both or full support for at least one Ctrl or CMD so we can stick to it

    Another small problem (I think might be very hard to fix, though) :
    When I there are currently errors (not yet be able to compile), and I create a new script, that new script is not recognise until I fix all errors and have a reload. So when the error might be just an easy fix by using the new class's function, we don't have access to the new script by that time, so we need to comment out everything currently generating the error or just keep typing without any code hints for that new class ... may not very pleasant experienced to me, but this behaviour is exactly the same when using UnityVS with Visual Studio, so still acceptable

    Thanks a lot, man :)
     
    Flipbookee likes this.
  38. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    Thanks @thienhaflash! Those warnings should be easy to fix. The Ctrl/Cmd might be a bit more complicated, but I'll give my best. And the last one about the new class which hasn't been compiled yet should be easy to fix too. :)

    Great finds! Thanks again :D
     
  39. thienhaflash

    thienhaflash

    Joined:
    Jun 16, 2012
    Posts:
    513
    This one may looks like a but but I'm not sure if it is, should be an easy fix I think ...

    Select a word, hold down CMD + Shift press arrow button Up or Down, SI3 will find the instance of those word, the quick find feature, I can say. But what if you select some white-space (tabs ahead of each line) ? then SI3 will show the orange color all over places in the script and it won't go away when you click somewhere else or select other texts (expected behaviour but make users think that SI3 is not working correctly anymore, at least I was wonder what is it for sometime, really don't know that we can clear the search field to make it disappear) ...

    So tell me if it's understandable to you, if not I will try to send you some screen-cast
     
  40. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    Well, technically it's not a bag. You've searched for tabs and Si3 highlighted all the tabs in the script... It's another question is that more confusing than useful... If nothing is selected on "quick find" Si3 selects the word at the cursor and then it finds the next occurrence, so when the cursor is at the beginning of a line then the "word" at the cursor is that line's leading whitespace. Highlighting whitespace characters looks confusing, so maybe it's better to not highlight them but allow quick-finding?

    Btw, I've fixed those warnings, and I couldn't repro the issue with the compile errors and the new script. I'll try a bit more to do that.
     
  41. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    Tabs resizing can be disabled from Preferences->Script Inspector->General->Si3 tabs titles->Expand on mouse-over ;)

    I've tried again to follow exactly your repro steps for the newly created script and it works perfectly! I may have fixed that already :p
     
  42. thienhaflash

    thienhaflash

    Joined:
    Jun 16, 2012
    Posts:
    513
    The hang is quite serious on my side now :( It prevents me from using SI3. After a CMD+Y to open the definition, quite open it got hanged :( Any update, man ?
     
  43. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    Hmm, let me see if I can wrap this up quickly...
     
  44. gamedivision

    gamedivision

    Joined:
    Nov 4, 2012
    Posts:
    47
    what version are you up to on si3 thanks
     
  45. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    @thienhaflash I've tried to reproduce the hang with both Beta 6 and with my latest - it doesn't happen... I'll keep trying... Any better repro steps maybe? Are you sure that was on Si3 Beta 6?
     
  46. thienhaflash

    thienhaflash

    Joined:
    Jun 16, 2012
    Posts:
    513
    Sorry, man I really don't have time to try to reproduce it right now, so busy these days ... Currently I'm prevent using Cmd+Y as much as possible and seems that it's working fine.

    Found this warning, though ...
    Code (CSharp):
    1. Namespace, TypeName, Value
    2. UnityEngine.Debug:LogWarning(Object)
    3. ScriptInspector.FGResolver:GetCompletions(IdentifierCompletionsType, BaseNode, HashSet`1, String) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTypeSystem.cs:9028)
    4. ScriptInspector.FGTextEditor:Autocomplete() (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTextEditor.cs:5997)
    5. ScriptInspector.FGTextEditor:DoGUIWithAutocomplete(Boolean) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTextEditor.cs:2565)
    6. ScriptInspector.FGTextEditor:OnWindowGUI(EditorWindow, RectOffset) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTextEditor.cs:2444)
    7. ScriptInspector.FGCodeWindow:OnGUI() (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGCodeWindow.cs:1022)
    8. UnityEditor.DockArea:OnGUI()
     
    Flipbookee likes this.
  47. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
    Hey Flipbookee,

    I have another small request. Is there a way make sure everything in the brackets get indented automatically. Maybe something we can turn on. This is for OCD purposes :p.

    Thanks,
    jrDev
     
    Flipbookee and Novack like this.
  48. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    @jrDev Yes, I'll replace the old auto-indent algorithm with a nicer one that will always work correctly and it is actually a much simpler one and therefore faster! It will also be configurable to some extents.
     
    Novack likes this.
  49. thienhaflash

    thienhaflash

    Joined:
    Jun 16, 2012
    Posts:
    513
    Bad news for today
    Code (CSharp):
    1.  
    2. NullReferenceException: Object reference not set to an instance of an object
    3. ScriptInspector.ConstructedTypeDefinition.SubstituteTypeParameters (ScriptInspector.SymbolDefinition context) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTypeSystem.cs:2273)
    4. ScriptInspector.MethodGroupDefinition.ResolveMethodOverloads (System.Collections.Generic.List`1 argumentTypes, ScriptInspector.Modifiers[] modifiers, ScriptInspector.Scope scope) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTypeSystem.cs:3467)
    5. ScriptInspector.MethodGroupDefinition.ResolveMethodOverloads (ScriptInspector.Node argumentListNode, ScriptInspector.Scope scope) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTypeSystem.cs:3256)
    6. ScriptInspector.SymbolDefinition.ResolveNode (ScriptInspector.BaseNode baseNode, ScriptInspector.Scope scope, ScriptInspector.SymbolDefinition asMemberOf, Int32 numTypeArguments, Boolean asTypeOnly) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTypeSystem.cs:7287)
    7. ScriptInspector.SymbolDefinition.ResolveNode (ScriptInspector.BaseNode baseNode, ScriptInspector.Scope scope, ScriptInspector.SymbolDefinition asMemberOf, Int32 numTypeArguments, Boolean asTypeOnly) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTypeSystem.cs:7174)
    8. ScriptInspector.SymbolDefinition.ResolveNode (ScriptInspector.BaseNode baseNode, ScriptInspector.Scope scope, ScriptInspector.SymbolDefinition asMemberOf, Int32 numTypeArguments, Boolean asTypeOnly) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTypeSystem.cs:7008)
    9. ScriptInspector.SymbolDefinition.ResolveNode (ScriptInspector.BaseNode baseNode, ScriptInspector.Scope scope, ScriptInspector.SymbolDefinition asMemberOf, Int32 numTypeArguments, Boolean asTypeOnly) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTypeSystem.cs:7461)
    10. ScriptInspector.FGResolver.ResolveNode (ScriptInspector.Node node) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTypeSystem.cs:9233)
    11. UnityEngine.Debug:LogException(Exception)
    12. ScriptInspector.FGResolver:ResolveNode(Node) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTypeSystem.cs:9239)
    13. ScriptInspector.FGTextEditor:GetTokenStyle(SyntaxToken) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTextEditor.cs:4302)
    14. ScriptInspector.FGTextEditor:DoGUI(Boolean) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTextEditor.cs:3910)
    15. ScriptInspector.FGTextEditor:DoGUIWithAutocomplete(Boolean) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTextEditor.cs:2574)
    16. ScriptInspector.FGTextEditor:OnWindowGUI(EditorWindow, RectOffset) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTextEditor.cs:2444)
    17. ScriptInspector.FGCodeWindow:OnGUI() (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGCodeWindow.cs:1022)
    18. UnityEditor.DockArea:OnGUI()
    19.  
    20.  
    Another one
    Code (CSharp):
    1. NullReferenceException: Object reference not set to an instance of an object
    2. ScriptInspector.ConstructedTypeDefinition.SubstituteTypeParameters (ScriptInspector.SymbolDefinition context) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTypeSystem.cs:2273)
    3. ScriptInspector.SymbolDefinition.PrintParameters (System.Collections.Generic.List`1 parameters, Boolean singleLine) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTypeSystem.cs:5833)
    4. ScriptInspector.FGTextEditor.DoCodeNavigationToolbar () (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTextEditor.cs:8413)
    5. ScriptInspector.FGTextEditor.DoGUI (Boolean enableGUI) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTextEditor.cs:3016)
    6. ScriptInspector.FGTextEditor.DoGUIWithAutocomplete (Boolean enableGUI) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTextEditor.cs:2574)
    7. ScriptInspector.FGTextEditor.OnWindowGUI (UnityEditor.EditorWindow window, UnityEngine.RectOffset margins) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTextEditor.cs:2444)
    8. ScriptInspector.FGCodeWindow.OnGUI () (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGCodeWindow.cs:1022)
    9. System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
    10.  
    I got the whole panel blank out, there is a context popup or something show where my mouse is, can't save or close the panel ... let me try again I think that this one is easy to reproduce ...

    --------------
    Edit : Already send you the file in private message :) have a look ! :)
     
    Last edited: Jul 11, 2015
    Flipbookee likes this.
  50. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    Thanks @thienhaflash! That was a great find! I've fixed it now :D