Search Unity

Script Inspector 3 - World's Fastest IDE for Unity

Discussion in 'Assets and Asset Store' started by Flipbookee, Jun 2, 2012.

?

What would you like to see in the next update?

Poll closed May 17, 2018.
  1. Line numbers

    140 vote(s)
    36.9%
  2. Code folding

    234 vote(s)
    61.7%
  3. More color schemes

    43 vote(s)
    11.3%
  4. Customizable color schemes

    71 vote(s)
    18.7%
  5. Search functionality

    152 vote(s)
    40.1%
  6. Lower price :D

    104 vote(s)
    27.4%
  7. No thanks, it's fine as it is :)

    11 vote(s)
    2.9%
Multiple votes are allowed.
  1. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Thanks @Jaimi! :D

    Yes, Find in Files is almost ready, and then Find All References will be very easy. Code folding is just a little bit more complicated, but on my list definitely!

    Then debugging... I still believe it's doable and I was talking to @inventor2010 just before this release about that, he gave me a great idea how to do that more easily, so I hope something exciting will come out of that :cool:... I'll let you know guys once there is some progress in that direction ;)
     
    Fronne and Nezabyte like this.
  2. schplurg

    schplurg

    Joined:
    Mar 21, 2009
    Posts:
    208
    When updating Si3 do we need to uninstall the old one every time, or can we overwrite it so we don't lose our preference settings?

    ETA: other comments deleted because they were addressed above
     
    Fronne likes this.
  3. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    @schplurg, No, I always try to avoid the need for uninstall as much as possible! It's usually required for major version upgrades only, so normally an overwrite would be enough :)
     
  4. crafTDev

    crafTDev

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

    This a bug?

    No more icons are being shown. No save button etc...

    Thanks,
    jrDev
     
  5. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    I've never seen that! Will they come back if you reopen the project?
     
  6. crafTDev

    crafTDev

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

    Just tested it and yeah, it's still there. I'm going to try deleting Script Inspector and reimport to see if it fixes it. I don't even know how it happened.

    EDIT: Reimporting SI fixes the problem.

    EDIT2: I also forgot to ask if anyone is noticing after Script Inspector compiles it prevents any Unity Window from opening again. I have to move and click around to make the window menus not greyed out.

    Thanks,
    jrDev
     
    Last edited: Aug 2, 2015
    Flipbookee likes this.
  7. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Cool then! :D Let me know please, if you see that again.
     
  8. Dan2013

    Dan2013

    Joined:
    May 24, 2013
    Posts:
    200
    @Flipbookee
    Just another suggestion.
    I am using both FavoriteTabs and ScriptInspector. :)

    Is that possible to add a favorite marker in an opened SI tab?
    I mean, just like other smart Editor/IDE, users can add a favorite marker for line X in source file Y.

    For ScriptInspector users, the marker is only view-able in some special tab managed by ScriptInspector.
    For FavoriteTabs&ScriptInspector users, the marker can also be viewed in a common FT tab.
     
    Flipbookee and crafTDev like this.
  9. crafTDev

    crafTDev

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

    Do you have any input on why this is happening in my second Edit question above?

    Thanks,
    jrDev
     
    Flipbookee likes this.
  10. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    @jrDev, that must be an easy fix, most likely only a missing call to EditorWindow.Focus()... I'll check that, thanks man!
     
  11. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    @Dan2013 I like the idea! :D Bookmarks for Si3 were planned anyway, but adding something extra for FT users would also be nice :cool:
     
  12. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Mac users! @inventor2010 made an awesome extension for Script Inspector 3 that handles Cmd-Z, Shift-Cmd-Z and Cmd-S shortcuts when Si3 has the keyboard focus and makes this shortcuts work with Si3! :cool: Now you can Undo, Redo and Save your changes in Si3 using these standard shortcuts :D

    It's implemented as a native Unity plugin, so if you're on Mac and you're using Unity 5 Personal or Professional edition or Unity 4 Pro (so that you can use native plugins in Unity) this is something you shouldn't miss!!! Here's a link to the post with his masterpiece:
    http://forum.unity3d.com/threads/script-inspector-3.195218/page-13#post-2226154

    Please let @inventor2010 know if you find his work useful :D
     
    inventor2010 likes this.
  13. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
    One thing I noticed that is missing is a continuous undo when I hold the keys down. Currently it only undos when I press the keys.

    Also Flipbookee, why is Script Inspector screaming "Multiple Managers!!" at me? ;_;

    Thanks,
    jrDev
     
    inventor2010 likes this.
  14. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    @jrDev, multiple managers is never supposed to happen and is a bad sign. FGTextBufferManager is a singleton kind of class and there should be only one instance of it normally, and I don't know what went wrong, but I guess it must be something with serialization of Unity's SerializedObject's. @SecretAnorak used to have the same warning that was somehow connected to Easy Save 2, as explained here http://forum.unity3d.com/threads/sc...uto-completions-d.138329/page-15#post-2112951

    Will the warning go away after reloading the project or after restarting Unity? If that doesn't help, would you mind trying to load the default window layout?

    I think @inventor2010 will have to add a little bit more code to handle keyboard auto-repeat which will then allow holding Cmd-Z for multiple Undos... I don't know how to do that, but I've seen somewhere that it requires special handling since it doesn't come "for free" by default.
     
  15. charmandermon

    charmandermon

    Joined:
    Dec 4, 2011
    Posts:
    352
    +1000 for debugging...talk about no more need for any external editor ever.

    Also 2 more feature ideas
    1: would be to have a drag and drop area for auto writing snippets. like in mono develop where you can drag a for loop and it auto writes it for you so you just fill in the variables. Its not super important but it is a nice candy feature.
    2: would be nice to have a toggle able sublime like sidebar scroll area view of your code, its really fun.
     
    crafTDev and Flipbookee like this.
  16. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    reporting VSObject_Destructor.png not found
     
    Flipbookee likes this.
  17. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Ah, dammit! I'll check all the icons now, sorry about that :oops:
     
  18. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    There is support for code snippets in Si3 already! See this for example:

    BaseSnippet.gif
    This is the "base..." code snippet, a great time saver to easily call the overridden method in a base class :)

    Only two keystrokes were used to produced that whole line of code - B and Enter :cool: (I've used the "base..." snippet just before that so it comes pre-selected in the auto-completion list)

    You will recognize code snippets in the auto-completion list easily - they all end with three dots. To expand a snippet either accept it from the list with Enter or type the code snippet's name, for example "base" (with no quotes and with no three dots at the end ;)) and then press the Tab key.

    You can find all the predefined code snippets in the Assets/Plugins/Editor/ScriptInspector3/CodeSnippets folder. These are just plain text files and you can edit them (in Si3, of course) if you wish to customize them (for example to change the code formatting) and you can also create your own! :) Use the existing ones as examples of what you can do with them...

    Oh, and yes, if you happen to come up with a cool new code snippet please share it here - I may want to add it to the collection :cool:

    Yes, it is, and it's been mentioned already so it's on my TODO list :)
     
    charmandermon likes this.
  19. Dan2013

    Dan2013

    Joined:
    May 24, 2013
    Posts:
    200
    @Flipbookee
    I really like your plugins! One more suggestion. :)
    What about adding a shortcut to toggle all Si3 tabs.
    I mean hitting that shortcut to hide all Si3 tabs, then hitting it again to show all Si3 tabs.
    This function may be very helpful.
     
    Flipbookee likes this.
  20. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    @Dan2013, guess what? There is a shortcut for that already ;) Alt+T on Windows and Shift-Cmd-T on OS X, or select Window->Toggle Si3 Tabs from the main menu :cool:

    This command toggles only floating Si3 tabs, i.e. those not docked to the main window... Enjoy! :D
     
  21. Dan2013

    Dan2013

    Joined:
    May 24, 2013
    Posts:
    200
    @Flipbookee
    Oh nice!
    I didn't find it before. Thanks! :D


    Edit:
    I changed <Alt+T> to <Ctrl+`> in FGCodeWindow.cs for me.
    A trivial suggestion, maybe it is better to have a keybinding file that defines all customized keybindings that can be maintained over Si3 updates. I know some other plugins do this.
     
    Last edited: Aug 8, 2015
    Flipbookee likes this.
  22. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    @Dan2013, all keybindings will be exposed in a single file soon. Dynamic bindings can even be configurable, but I'm afraid some menu shortcut will have to stay hardcoded in source code (which you can still "configure" them there). This is because Unity won't let me re-assign shortcut defined in MenuItem or CustomMenu attributes... Well, unless I have a dynamically created C# file for that only (which now sounds like a great idea to me).
     
  23. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    "Today's" release will actually be released tomorrow :p... I'm improving Si3's support for extension methods a little bit, I've noticed it doesn't work well if not all parameters are specified, which then prevents the parameter hints to show.
     
  24. I am da bawss

    I am da bawss

    Joined:
    Jun 2, 2011
    Posts:
    2,574
    Just a suggestion Flipbookee - I like SI2's Asset Store page look better.
    SI3 logo and graphics looks quite ugly, doesn't reflect how polish and well thoughtout this asset is.





    The SI3's logo just look old and "uninviting".
     
    Flipbookee likes this.
  25. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Hmm... I was thinking there's something wrong with it... "Uninviting" was the word I was looking for to describe it... I guess, I'll have to think of something better than this then. :-\
     
  26. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    Not good idea, I compiled to a dll.
     
  27. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Compiled what? Si3?
     
  28. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    yes, to a dll
     
    Flipbookee likes this.
  29. Dan2013

    Dan2013

    Joined:
    May 24, 2013
    Posts:
    200
    @Flipbookee
    I have a question about the saving action.
    When I perform a saving action in Si3 tab, the Unity's compiling action is triggered. The compiling action, sometimes, may slow down editing action in Si3 tab. But Unity's compiling action does not slow down editing action in Visual Studio. I am wondering if it is possible to separate the saving action and compiling-triggering action in Si3? Maybe this separation is hard, or simply impossible?
     
  30. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Nice! :)

    That should have nothing to do with the auto-generated C# script for menu-based keybindings. You'll just not include that script in the DLL. It will be a very small one, less than 100 lines, so the idea is still very good ;)
     
  31. Callski

    Callski

    Joined:
    Feb 3, 2013
    Posts:
    130
    One thing that would REALLY help me, is if there was an auto comment for commenting classes, methods, and properties. Maybe have text files where the users can create the auto comment to the format of their liking.

    For example ClassComment.txt:
    /**
    *Date:
    *Author:
    *Description:
    **/

    Then hitting /** would copy/paste from ClassComment.txt.

    Just something to think about in the future. I work with a pretty big team and you can get terminated if you don't commit document code (let alone fail to follow the agreed upon code format). This feature would help speed up my time spent in Si3. It's not a big need, but it definitely would be nice to have. Right now I keep open a .txt and copy/paste from that. It looks like this:

    C# Documentation

    Class:
    /// <summary>
    /// <para>Date: 01/30/2015</para>
    /// <para>Author:</para>
    /// <para>About</para>
    /// </summary>

    Property:
    /// <summary>
    ///
    /// </summary>

    Method:
    /// <summary>
    ///
    /// </summary>
    /// <param name=“VariableName"></param>
     
    Flipbookee likes this.
  32. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    @Dan2013, if you are talking about the short interruption when compilation finishes then yes, this is unavoidable because at that moment Unity has to stop execution of all scripts, unload the old assemblies and then load the new ones. Besides that it stores the state of all objects, destroy them, and then after reloading to recreate those objects and restore their state, so all that may take a second or two, depending how fast your machine is... The actual compile (before reloading) is running in a separate process in both cases, so there should be no difference in theory, although that's still happening on the same machine, sharing the same processor, RAM, and everything else in the system...

    If you are on Windows you can also try Si3's experimental feature - compile in background! You can enable that in the Preferences->Script Inspector->Editor and then enable "Compile on Save" and disable "Auto Reload Assemblies". This will make Unity compile on save as usual, but reloading will be postponed until you're ready for that and you press Ctrl+R... I've asked the beta group for feedback on this feature, no one replied, seems like no one even tried to use that :p
     
  33. Dan2013

    Dan2013

    Joined:
    May 24, 2013
    Posts:
    200
    @Flipbookee
    I see. Thanks for your detailed explanations!
     
    Flipbookee likes this.
  34. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    @Callski, I was planning to add code snippets for that (and for a few other things), so you'll be able to trigger them by typing /// for example and you can customize them as you like...

    You can create similar snippets even now, but you'll have to name them and use that name for expanding a snippet. For example if you have a code snippet defined in a file named methodComment.txt then you can type methodComment in front of a method and press Tab to expand it. You don't even have to type the full name, only the beginning and auto-completion will finish it, so you'll type MC and press Enter to accept the completion and expand the snippet at once. :)

    The content for this snippet would be something like:
    Code (csharp):
    1. /// <summary>
    2. /// $end$
    3. /// </summary>
    4. /// <param name=“VariableName"></param>
    Note the $end$ snippet keyword, this defines cursor position after expanding a snippet...

    There's no code snippet for declaring a property, so you can add one if you like and embed your standard comments in it. You can also embed the class comments in the class snippet :cool:

    Now, I know this is not the same as there would be a built-in support for auto-comments, but it might be a little easier than copying and pasting from another text file until we get that feature in Si3 ;)
     
    Callski likes this.
  35. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    AAAH! Si3 just got a new review :D
    Nathan's-Review.png
    Thanks a lot!!! :cool:
     
  36. Callski

    Callski

    Joined:
    Feb 3, 2013
    Posts:
    130
    @Flipbookee I followed your suggestion and now I'm getting auto-documentation for everything! This is so cool.
     
    Flipbookee likes this.
  37. sjm-tech

    sjm-tech

    Joined:
    Sep 23, 2010
    Posts:
    734
    Hey Flipbookee,
    Script Inspector 3 is amazing!

    my wish list:

    - Auto-Completion for JS.
    - in the double click highlight behavior add an option to highlight all instances of that word.
    Cheers
    Max
     
    Flipbookee likes this.
  38. SarperS

    SarperS

    Joined:
    Mar 10, 2009
    Posts:
    824
    One of the top 5 assets in my list. Some ideas for future versions;
    • Code and #region folding
    • Ability to have multiple carets (See Sublime and Visual Studio for this)
    • Shader code completion
    • Code reformatting based on pre-selected rules (See resharper)
     
    Flipbookee likes this.
  39. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    He he, thank you so much! :D

    Auto-completion for other languages is something I was planning for since the beginning. ;)

    I like how is Sublime Text highlighting all instances of the selected text, so I may add something like that to Si3 too.

    Code and #region folding will be added very soon.

    Multiple carets in Sublime Text are an amazing feature! Definitely something that will be added to Si3 as well :)

    @Breyer made an external tool do the code formatting on save (see the WIP thread) but I'm more looking forward to make Si3 do that on a single line while typing. Some coding for that has already been done and I have to find time to finish that. ;)

    Thanks for all the suggestions! :cool:
     
  40. SarperS

    SarperS

    Joined:
    Mar 10, 2009
    Posts:
    824
    That sounds great but reformatting the whole file on demand is still a better option I think, ideally both would be implemented. Imagine writing some code in another environment, maybe in another computer where you don't have access to Si3 or even Unity, in that case I would love to open it up in Si3 and reformat it once I migrate it to my machine.
     
    Flipbookee likes this.
  41. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    @Sarper Soher, good points! I agree :)

    What I hate with auto-formatting are the pile of options that I have to go through to make it work as I want. And then each time I switch to another project that needs different formatting I have to do that again! And very often within the same project there might be third party source code which doesn't match my formatting options but I don't want to reformat all their code, so I'd end up with ugly mixed formatted code :(

    I don't actually know of any IDE capable to "pick" formatting options from surrounding code, but I would love to teach Si3 how to do that! :D And only then I will be able to turn on auto-formatting ;)
     
  42. SarperS

    SarperS

    Joined:
    Mar 10, 2009
    Posts:
    824
    Hahaha that's the fun part! Jetbrains' IDEs and Resharper have so many options, I love it. The alternative is terrible, Visual Studio's default code formatting options are so limited.

    Why would you need different formatting in another project? You mean like a project for a company that has different coding standards? Yeah that would suck. Code formatting presets to the rescue!

    Yeah never heard of such a feature either. Couple of the formatting options would be hard to implement I guess, how many blank lines will be allowed between field declarations if I have both one and multiple blank lines on the file for example.

    The reason I brought this suggestion up is because before Si3 I thought of Si as a "toy" ide. Like something you would use to replace the ugly code asset preview of the Unity editor and maybe use it from time to time to change some very simple constant parameters or some literals in a shader etc. After trying out the Si3 for a day, I find it more like a lightweight day-to-day usable IDE. Would always prefer it to monodevelop or xamarin on OSX.

    Here is a couple more would-be-cool features;
    • Pressing F1 searches the C# keywords under the caret in MSDN, it can also do the same for Unity types on local Scripting Reference.
    • More "find" options. Like "find in folder" and "find in project". I know Si3 does not use any solution structure but it can use the AssetDatabase and selection paths to search all the code files. "Find usages" would be super cool also.
    • Warnings like resharper (Comparing floats is imprecise, boolean value is always true, use foreach instead, this field can be static etc.)
    • Simple code generation. Like generating the property with a default getter setter from a private field.
     
    Flipbookee likes this.
  43. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    It may happen even within the same project if it includes third party libraries provided with source code. If you want to fix a bug there or modify it somehow then it's very unlikely that your formatting will match theirs. But yeah, formatting presets would solve that ;)
    Hehe, I love these kind of comments!!! :D
    Oh, guess what? That's already there! ;)
    KeywordsReference.gif
    And it's even context-sensitive, so for example the "using" keyword will get you directed to the "using Directive" or "using Statement" page, depending on how the keyword was used :cool:

    Yep, I've started working on "Find in Files" feature, so it will be available once I finish it

    Yes, I was planning that too, and maybe something more specific to Unity, but I'm still kind of far from getting there...

    Btw, be careful with that "use foreach instead"! If that's happening every frame or nested inside another look, you may end up with a lot of heap allocations (and work for the GC) due to some bugs in Mono ;)
     
  44. punk

    punk

    Joined:
    Jun 28, 2013
    Posts:
    408
    Dude I love this plugin! I was using visual studio like forever, but its so clunky now days
    looking forward to the "Find in Files" feature, is there currently an auto format similar to VS ctrl KD?
     
    Fronne and Flipbookee like this.
  45. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Thanks @punk!!! :D

    There's no auto-format yet, and that's what I was discussing with @Sarper Soher in the previous two posts. My plan is to add that too :cool:
     
    Fronne likes this.
  46. punk

    punk

    Joined:
    Jun 28, 2013
    Posts:
    408
    Awesome, can't wait
     
    Flipbookee likes this.
  47. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Hey, hey, folks! A new update for Si3 is awaiting for you in the Asset Store :D

    Script Inspector 3 (version 3.0.2)
    was just released now!
    :cool:
    There's a great new feature in this new version - whenever an enum type is expected Si3 will auto-suggest to complete the enum type name for you including its namespace and enclosing classes, if any! All you have to do after that is to type a dot and select the enum member from the auto-completion list :D ... Auto-suggest will also help you make a constructor call after typing "new" followed with a Space, of course, only if the type expected in that expression is known! :cool:

    Besides that, the two file opening extensions I posted in the Si3 WIP thread are now included by default, so now you can easily open any script from anywhere with File->Open File in Si3 and File->Open Any File in Si3. If you have already included these scripts from the WIP thread, please remove them before upgrading to this version of Si3... Handy shortcuts are assigned to the menu items, and I got used to using these instead of the Project window already. Try them, I bet you'll like them too! And then say thank you to @Fronne for requesting this feature ;)

    There's also a new option to select using the local copy or the online version of the Unity API documentation. You'll find this in Preferences...->Script Inspector->Editor->Use Local Unity Documentation... Thank @Fronne for this suggestion :)

    There are also several bug fixes (thanks @thienhaflash!) and improved handling of extension methods and method overloads...

    And that would be it for now - more great stuff with the next update... Enjoy the update and let me know if you like it, either here, on Twitter @FlipbookGames, or if you feel like "OMG, this is so awesome!" then go here and click the stars or post a review :cool: Thanks!!!
     
    SarperS, Fronne and iamsam like this.
  48. iamsam

    iamsam

    Joined:
    Dec 22, 2013
    Posts:
    233
    Excellent work!!! I can say only one thing, Unity should not be used without this asset ;).. ever...
     
    Fronne and Flipbookee like this.
  49. wkwan

    wkwan

    Joined:
    Sep 14, 2014
    Posts:
    27
    Been using this for a day, it's so good I can finally stop using Windows on my Macbook! Bye bye VS.

    Came here to suggest "Find all references" but I see that's already being taken care of. Another minor thing I'd like to have is to have the copy/cut/paste shortcuts operate on the current line if there isn't anything selected.
     
    Fronne and Flipbookee like this.
  50. SarperS

    SarperS

    Joined:
    Mar 10, 2009
    Posts:
    824
    Oh yeah I know it searches MSDN, but it does not do the same for Unity types. Searching through the Unity Script Reference on F1 would be cool.
     
    Flipbookee likes this.