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
    Breaking news!

    As of today, the question "whether it would be possible" to debug the game running in Editor with Si3 has suddenly changed to "when it will be possible,,," :D

    This has happened after one of the promising techniques has shown to be standing on very strong grounds! :cool:

    The priorities to add Find All References and Rename Refactoring first remain the same, don't worry. ;) I just had to investigate this a little further as I was recently inspired to do that after reading @lukaszunity's comments on Si3 and limitations of such solutions regarding debugging. The comments are here:
    http://blogs.unity3d.com/2015/10/22/monodevelop-roadmap/

    Cheers! ;)
     
    lermy3d, baby_jeans, Novack and 2 others like this.
  2. mcmorry

    mcmorry

    Joined:
    Dec 2, 2012
    Posts:
    580
    I still would like to have the Si3 tabs to live inside one or more Si3 containers. The containers should be the standard Unity tab/windows, but the Si3 tabs should live inside them. This would probably resolve some issues with OSX, and would also allow to move all the Si3 tabs together in new detached window when needed.
     
    lermy3d and Flipbookee like this.
  3. SarperS

    SarperS

    Joined:
    Mar 10, 2009
    Posts:
    824
    lermy3d, radimoto, ZJP and 3 others like this.
  4. SarperS

    SarperS

    Joined:
    Mar 10, 2009
    Posts:
    824
    Don't forget the code and #region folding! :p
     
    baby_jeans and Flipbookee like this.
  5. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Yup, and this is also going to be needed for the debugger :D so yeah, this needs to be done soon!

    @Sarper Soher, this looks amazing!!! Thanks a lot! :D

    It needs only a few corrections, some shortcuts are missing the alternatives for example and previous/next occurrence need to be split up in two parts, one for the quick find and one for the last text searched. Ctrl+E is also missing... Can I get the source somehow? It would be nice for me to have it so I can extend it as the hotkeys change over time :)

    There was some small progress with that and that's one of those unfinished things which I had to isolate out of the last release.
     
  6. SarperS

    SarperS

    Joined:
    Mar 10, 2009
    Posts:
    824
    I've used the latest readme to fill them out actually. Left anything too obvious out (Backspace to delete etc.) Maybe they are also missing in the readme? I don't know how to share the source actually. I've used a free website http://www.cheatography.com/ If you sign up there, I can add you as a contributor to my version so you can edit it. Not sure if there is a way to transfer it completely. But it's easy to make, take a look at the website in your free time ;)
     
  7. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    @Sarper Soher, I just registered there. It's a cool looking site! Thanks for discovering it :)

    You'll find me easily, I've favorited your cheat list :D
     
  8. SarperS

    SarperS

    Joined:
    Mar 10, 2009
    Posts:
    824
    You're welcome, I've added you as a contributor.
     
    Flipbookee likes this.
  9. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Thanks man! :) I guess I should also check the readme.txt for those missing alternatives...

    And to be honest, I can't wait to add F9, F10 and F11 to the list :D
     
  10. crafTDev

    crafTDev

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

    I downloaded the new update and I the find and replace is great, I just have one problem with it and it's the multiple window setup you have going. Is there a reason you have the results separated from the main find and replace window, because I think it would be more efficient (in use) to have the results in same Find and Replace window. I love the other small updates too.

    I just got this error though:
    Code (CSharp):
    1. NullReferenceException: Object reference not set to an instance of an object
    2. ScriptInspector.AssemblyDefinition.CollectExtensionMethods (ScriptInspector.NamespaceDefinition namespaceDefinition, System.String id, ScriptInspector.SymbolReference[] typeArgs, ScriptInspector.TypeDefinitionBase extendedType, System.Collections.Generic.HashSet`1 extensionsMethods, ScriptInspector.Scope context) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTypeSystem.cs:10354)
    3. ScriptInspector.NamespaceScope.ResolveAsExtensionMethod (ScriptInspector.Leaf invokedLeaf, ScriptInspector.SymbolDefinition invokedSymbol, ScriptInspector.TypeDefinitionBase memberOf, ScriptInspector.Node argumentListNode, ScriptInspector.SymbolReference[] typeArgs, ScriptInspector.Scope context) (at Assets/Plugins/Editor/ScriptInspector3/Scripts/FGTypeSystem.cs:5529)
    Also, I still have the problem with Hide and show that separates the windows from being tabbed, I didn't get much time to dig into why. I have been using Macs 'show all current windows hot corners' to move between Unity editor and Script inspector windows for now. Just still don't understand why I am the only one experiencing this. Is everyone on Windows?

    Thanks,
    jrDev
     
  11. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    @jrDev Thanks for your feedback! Also for the bug report, I'll check what's that.

    I decided to close the Replace window after the replace is executed because the list showing find results wouldn't match anymore. I could maybe keep that list with updated lines, but just closing the list was much simpler :p so then if this was the Find Results tab it would close, which I didn't like... Thinking about that now again, it might be very possible that the Find Results is showing a list of old lines of text... I don't know if that was the best decision, but I think it makes sense to close the Replace window after it has been used.

    If you could debug and see what exactly is going on with those tabs that will be a great help for me and I may be able to find some solution! :)
     
  12. crafTDev

    crafTDev

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

    Since you have the find results in a different tab, what would make things better is to take us back to the script inspector window after all the results that are replaced was completed.

    Thanks,
    jrDev
     
    Flipbookee likes this.
  13. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Oh, yes! This is what I thought is already happening, but I'll check again...
     
  14. Pi_3-14

    Pi_3-14

    Joined:
    May 9, 2012
    Posts:
    168
    Great project, lovely to see how it has evolved from grassroots. A few comments:

    It's really impossible to find this using Google and the Asset store, someone showed me the project a few days back but it still took half an hour of searching. Much of the problem is that it is called inspector not editor. People are going to be searching for "code editor". I see it started as an inspector. But maybe rename it at some point! It is now much more than the name suggests.

    Googling "unity code-editor" the first couple of hits are http://wiki.unity3d.com/index.php?title=Script_Editors and http://forum.unity3d.com/threads/alternative-script-editor-for-unity.39353/ -- maybe worth a few minutes adding an entry for SI3.

    Also no proper homepage with doc/FAQ. Very few newcomers are going to read through 25 pages of forum posts.

    Another thought is significantly discounting the price for a day every six weeks, and advertising "next discount 20Feb" etc. There may be a lot of people for whom $55 is a lot of money, but $20 falls the right side of an impulse purchase. And maybe most people who _can_ afford the full price wouldn't want to wait on average three weeks.

    Finally, I hope UnityHQ have considered making you an offer to assimilate you into the team and make this core functionality of Unity's IDE. While I respect the logic of component-based design to keep complexity from escalating at the core, this is something so fundamental I think it should be an exception.

    I hope you continue to go from strength to strength.

    π
     
    SarperS, Flipbookee and mcmorry like this.
  15. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    @Pi_3.14, thank you for all those suggestions! :)

    I think you're right about the name! Also about Google and adding Si3 to that list, maybe even to that old thread in the forums... More Docs/FAQs will also be helpful...

    Well, the thing is that I am only a programmer and not much more than that. :p I'm not a marketing expert, but I've tried to promote Si3 using Twitter (very unsuccessfully, I'd say :p). I'm not a blogger and English is not my native language... I'm also not a graphics designer, as anyone can tell by looking at those silly images on my pages in the Asset Store, neither I have experience in making promo videos - the three videos on my YouTube channel are the only three videos I've made in my whole life :)...

    Still, I have to do all of that. :)

    I'm not a project manager, but I have no choice - I have to do that as well. Sometimes with more success, and more often with less, but I'm trying to learn from my mistakes ;) The nice thing with that is that it's at least fun to do that! :) As long as I don't get people angry on me, which is the most challenging part :p

    I know almost nothing about PR, but I have to do that too. I know almost nothing about psychology and customer behavior, so my "pricing model" might be odd. Sometimes $55 sounds too high to me, but more often it sounds like it's too little for 3 and a half years of work so far with free updates for life... I have no education in economics, yet I'm a financial wizard :D because I'm managing to split my salary in three halves (!!!) - one half to pay the rent for my apartment, one half to pay my wife's apartment (she lives in another country), and one half to pay the mortgage for a bad investment in a third country.

    From all those additional activities I enjoy programming the most, and that's why Si3 is so strong in that aspect! I've tried many things to make Si3 more popular, trust me, nothing worked so far. I've tried different prices from $5 to $55, it doesn't help much... Hell, Si3 almost won the Asset Store Award at Unite and that helped a little bit with gaining some popularity, but only for short time. Since then it's slowly getting back to nearly zero copies sold and earning $8 per day in average (at least over the last week). All that is really demotivating me to take any other promotional activities. Programming is what I enjoy doing the most and what originally was this project started for, so I think I'm going to stick to that for now ;)
     
    SarperS, baby_jeans and Novack like this.
  16. SarperS

    SarperS

    Joined:
    Mar 10, 2009
    Posts:
    824
    I still don't understand why node based visual shader editors became a big deal and got promoted by Unity in the past but Si3 is not getting any love. Maybe people always have this experience where the internal IDE's suck in any game engine and automatically think that if you are serious about programming you need a dedicated IDE. It's hard to get people to adopt new tech and applications, especially developers, if they already have an alternative they have been using for 5+ years.

    I also think that Si3's value far exceeds it's price based on my experience. I've been using it heavily since version 3 and it made my life much easier. I can't wait for new big releases like complete shader support. And would pay for those instantly. @Flipbookee Why not release those big versions as paid updates? Asset store allows that.
     
    Flipbookee likes this.
  17. mcmorry

    mcmorry

    Joined:
    Dec 2, 2012
    Posts:
    580
    I agree. Si3 needs proper funding. I'd be happy to pay an upgrade price for new important features, as refactoring.
    Knowing that the payment will guarantee updates and new improvements I think that most of the developers out there will understand it.
     
    Flipbookee likes this.
  18. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Hehe, @Sarper Soher and @mcmorry, you guys are so funny ;) how could I take money from you? I mean, thanks, but you've been helping me so much, either with ideas and suggestions, or bug reports and repro steps, even fixing bugs instead of me in a few occasions! Or beta testing, a cheat sheet, color scheme, or the awesome plugin made by @inventor2010, screenshots when I needed them the most, votes for the Awards :p hehe... Not to mention your (and other people's) moral support, amazing reviews, tweets, blog posts, video reviews, or @JoeStrout's signature, yay! :D

    Now I know this kind of thinking is not going to help me fund the future of Si3, but hey, I'm having the greatest fun in my life by doing this, so you shouldn't worry about that too much. Version 3.0.10 will be ready maybe today, maybe a day or two later, and then Si3 v3.1 will mark the beginning of the refactoring features starting with Rename first. The Global Undo/Redo was already a big step towards that goal :cool:

    At the end this kind of support probably still keeps Si3 popular at least to some degree, and that's more valuable than a few bucks more or less! So keep that up, please :)
     
    JoeStrout, mcmorry and SarperS like this.
  19. SarperS

    SarperS

    Joined:
    Mar 10, 2009
    Posts:
    824
    Hey we are not offering charity here! :) Si3 is amazing, unique and also cheap too. That's also the reason for all the bug reports and the other things people create for it, people who use it generally love it, we are not doing it as a favor. That means you are doing something right. Also your attitude is great too, you listen to feedback, never fail to respond or even delay more than a day.

    Also to put things in perspective, you are spending time and money on this. You provide a product and a service (Si3 is shaped by the community's requests) and that means it has a value, not just a sentimental value but more a monetary value. So putting up paid updates is not "stabbing us in the back". You don't owe us anything, we paid for a product and already have driven more value than what we paid for.

    I mean it's great that you love to work on it but that doesn't mean you should be content in being at a financial loss. These are my just my humble opinions, not talking for the whole community here. But the last thing I want to hear is "Guys, I can't continue this".
     
    Flipbookee and mcmorry like this.
  20. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Has anyone noticed that VS and MD don't find the "var" keywords as references to the type they are representing? :eek:

    Can someone check what does ReSharper do?
     
  21. mcmorry

    mcmorry

    Joined:
    Dec 2, 2012
    Posts:
    580
    Can you do an example? I never had problems with var in MD.
     
  22. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    When I do a "Find References" in MD on a type it finds only the explicit references to that type but not the implicit ones such as a local variable of that type declared with "var" - that var keyword is not listed as a reference. Same in VS 2015 Community. :confused:
     
  23. mcmorry

    mcmorry

    Joined:
    Dec 2, 2012
    Posts:
    580
    mmhh... yes is true. In MD is only possible to find references starting from a "var" but that line will not be listed.
    This will be another important element for Si3 over other editors! :)
     
    Flipbookee likes this.
  24. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    The weirdest thing I've done in a while - Find All References to a method called FindAllReferences :D

    References.gif

    This needs a little bit of love before releasing it, but it shouldn't take too long ;)
     
  25. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Excellent! I really like the layout as well! I'll see how to accomodate it to my unity layout. In any case, this justifies a complete rethinking of it!
     
    Flipbookee likes this.
  26. baby_jeans

    baby_jeans

    Joined:
    Sep 1, 2015
    Posts:
    34
    Just a heads up, I think I found a lil' bug -

    I've noticed that Fn + Delete on Mac (the behavior would be the delete key on PC) when you're on the end of a line deletes the first 'word' of the next line in addition to the newline, when it's intended to just delete the newline.

    i.e.:

    if (condition == true)
    DoStuff();​

    If you hit Fn+Delete after "true)" youd get:

    if (condition == true) Stuff();​

    Not sure if its only affecting OSX or it Delete does it too on PC.
     
    Flipbookee and mcmorry like this.
  27. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    baby_jeans likes this.
  28. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Find All References is almost final now, I would only like to exclude finding "var" in strings as that doesn't really make sense. Here's what I got so far:
    References2.gif

    Those additional buttons at the right in the toolbar are filtering options, I hope the names make sense? All feedback is very welcome, just keep in mind that I'll have to release this tonight with very little chances that I'll be able to change this again before January, if you don't like it for some reason ;)
     
    lermy3d, ZJP, baby_jeans and 3 others like this.
  29. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    I am actually thinking about also removing the potential "var" results from comments and inactive code blocks (the inactive blocks nested between #if and #endif) as well. There may be too many false positives if I list those results... What do you say?
     
  30. mcmorry

    mcmorry

    Joined:
    Dec 2, 2012
    Posts:
    580
    The preview is wonderful. And is even better than MD one that has no filtering at all.

    If I understood correctly the false positives are only for the filtering of "var" definitions? It won't be a big problem starting from the fact that MD and VS don't find it at all.
    Another option is to include the false positives anyway. But how is happening? I can't imagine what are you searching in the comments? Of course the text "var" has no meaning. And why the conditional blocks give you problems only with var statement and not with specific types?

    Anyway I would not worry too much for var. The result you got is already great!
     
    Flipbookee and Novack like this.
  31. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    In C# scripts I search for whole words case-sensitively and since the symbols are resolved I can verify are they referencing the actual symbol or not (they may be a different symbol in different context but with the same name).

    In strings, comments and inactive text I do the same kind of search but I am not sure are those occurrences potentially references to the same symbol we were looking for, so these results can optionally be listed as well... It's very important in Unity to find potential references to methods and classes as strings, because these might be used for broadcasting messages for example or for creating components eventually, etc... Comments are less important but still may be useful in some cases. The inactive code is I guess most important, but since it's inactive the symbols in it are not resolved and I can't do the verification step.

    Now var references in regular code are fine, these are all resolved and go through the filtering step, but in comments and inactive code the filtering cannot be done, so instead all occurrences of the word "var" should appear as potentially valid results. So I thought that would be maybe too much of noise, I just removed the "var" results found in strings, comments and inactive code. ;) var results found in strings don't make any sense anyway, but in comments and inactive text they might be potentially valid results - this was my dilemma.
     
    mcmorry likes this.
  32. mcmorry

    mcmorry

    Joined:
    Dec 2, 2012
    Posts:
    580
    Thank you very much for the detailed insight.
    Yes right, if you can't determine the type of var inside inactive code is better to skip.

    I'm curious. How you identify the type of var statements and why you can't do it inside inactive code? Do you use reflection on compiled code?
    Would be possible to detect (or set in the settings of Si3) what costants are needed to compile all the possible pre-compilation conditions and then execute and merge multiple find references? Sound quite complex anyway.
     
    Flipbookee likes this.
  33. SarperS

    SarperS

    Joined:
    Mar 10, 2009
    Posts:
    824
    That looks amazing. Also being able to filter out read and write separately is a valuable addition. I've nothing to add to what's being shown, good job @Flipbookee !
     
    Flipbookee likes this.
  34. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Well, "var" is only used for local variables and reflection doesn't know anything about that since local variables are not accessible from outside of a method, even less from outside of an assembly. Si3 finds the var types by doing code analysis in a similar way as the compiler does that but with some differences because the goals of the two are different. This is the most complex part of Si3, the part that took me 2 years to develop and make it work, hehe :p

    With that being said, you can conclude that references to a type from already compiled assemblies will not be found, but in most case we don't care about that anyway ;) all we care about is to find references in code we have access to.

    I was thinking about that actually. I haven't found a way to automate the code analysis to make multiple passes and go through all combinations of inactive code block, mostly because if you run Si3 in Unity 5 for example, not all of the Unity 4 API is available, so there will be errors in that code. A solution might be to store in Si3 preferences the paths to all other Unity versions installed and then access their API from anywhere, but there's a lot of work to do that and the benefits will be minimal. So, I'd rather not go that far for now :)
     
    mcmorry likes this.
  35. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Moreover, using Reflection wouldn't work with unsaved and not yet compiled changes, right? One more reason why finding references can only rely on code analysis. ;)

    Did I say that was final? Well, I lied, seems like. :p I forgot that I'll have to handle method overloads and overrides in a special way, so I had to add that as well. And I did that all yesterday, but I haven't tested it thoroughly yet... Sorry for the delay! One day more and I'll be done :cool:
     
    SarperS and mcmorry like this.
  36. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    Most author don't deserve an upgrade price, but you (script inspector) do. I will support.
     
    Flipbookee and mcmorry like this.
  37. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Hehe, thanks man! For now all upgrades will be free :D
     
  38. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Hey, hey, great news!!! :)

    Script Inspector 3, version 3.0.10
    is waiting for you in the Asset Store!!! :D
    Release notes:
    - Find All References feature with results filtering
    - Alt+Up/Down keys now move and re-indent line(s) - thanks @s1m0n1stv4n
    - New search box behavior:
    * Enter/Shift+Enter finds next/previous occurrence and keeps keyboard focus on search box
    * Escape moves keyboard focus back to code editor
    - Popup windows will close on any keyboard modifier and up/down arrows
    - Resolving anonymous method expressions
    - Updated for obsolete API in Unity 5.3
    - "Show auto-complete on Esc" is now turned on by default on OS X instead on Windows - thanks @Kiupe
    - Fixed Go To Definition in some cases
    - Fixed resolving method overloads
    - Fixed base type references in some reflected types - thanks @FireMutant & @Victor_Kallai

    Enjoy! :cool:
     
    baby_jeans, SarperS and Novack like this.
  39. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Woot! Fantastic!
     
    Flipbookee likes this.
  40. SarperS

    SarperS

    Joined:
    Mar 10, 2009
    Posts:
    824
    I've just encountered a strange behaviour, upon making any of the docked editor windows fullscreen (including Si3), the "Find Results" and the "References" windows get flushed. Is this a bug @Flipbookee ? Also did you get a chance to finish the cheat sheets, I would love to have a copy!
     
    Flipbookee likes this.
  41. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Hmm, it sounds like it is. I'll check... Thanks!

    I didn't do the cheat sheets. There was too much work for this release and I was already late :( so I had to leave that for tomorrow...
     
    SarperS likes this.
  42. baby_jeans

    baby_jeans

    Joined:
    Sep 1, 2015
    Posts:
    34
    Find References seems to be working great for me! Awesome update as always. Also noticed you fixed my Delete bug, thank you!

    I did notice that the Hotkey labels seem to be broken, but that might be a Unity 5.3 issue. i.e., the dropdown shows "Close Tab _#%w"
    This is on OSX (as always).

    You know though, I've been using Script Inspector 3 exclusively now for weeks and I just want to say it's indispensable. I didn't even bat an eye at the Monodevelop update in 5.3, totally irrelevant to my needs ;)
     
    Flipbookee likes this.
  43. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Ah yes, it was very late when I was finishing the release notes and seems like I've submitted the fix with something else without mentioning it in perforce. But it was a great find and I'll add you to the credits! :)

    Yes, I've noticed this but I couldn't find a fix for that. Seems like Unity 5.3 "broke" that and it also looks like that was intentional! :confused: We may have to live with that if it really was...

    Hehe, nice!!! :D I took a look at MD in 5.3 too, this time for more than 5 minutes and again CPU usage went up to 75% (I have a quad core CPU) even when I'm not doing anything! And typing anything was impossible, characters appear with a lot of delay, completions were incomplete and often replace my correctly typed code with incorrect as @JoeStrout was saying... Totally unusable, no wonder people are trying to stay away from it ;)

    And looking at that, I'm so proud of what I've done for Si3! :) The decision to avoid using NRefactory and do my own implementation was the best decision ever, hehe! :D
     
    mcmorry, JoeStrout and baby_jeans like this.
  44. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    Yep, it's awesome! There are only two things I miss from MD at this point: (1) filling in a function header when I type ///, and (2) debugging.

    One of those is an easy fix, I bet. ;)
     
    Flipbookee likes this.
  45. bocs

    bocs

    Joined:
    May 9, 2009
    Posts:
    413
    IDK if it's a bug, intended, or we have different ideas on what "find references" means.
    it's finding refs in .js files...



    Edit:
    The fact you have things like "String", "Comment" filters means we have completley different meanings for "references" (I do understand what you have done)

    I could see this as an option for "Find In Files", but it's not a traditional find ref i've seen in Visual Studio/Visual Assist. This seems more like a "smart" find.

    Think what i'm looking for is when you add the refactor stuff.

    PS. You didn't fix the smart semicolon, if the line has a comment it will add it to the comment. (not a big deal, just reminding )
     
    Last edited: Dec 10, 2015
    Flipbookee likes this.
  46. crafTDev

    crafTDev

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

    So ah...um...I was working in SI a few minutes ago, and Unity crashed and I started to freak out because I didn't save my changes in the script; and now they are gone. Of course this is very frustrating, for some reason I thought script inspector saves the changes in memory for reasons like this but I was wrong. Dunno if this is something you can look into. I don't save as much as I should because I don't want to constantly compile.

    *Gets back to freaking out*

    EDIT: So I went to the preferences and found the option to not compile on save. *Smacks head*

    EDIT2: Although I would like an option or a different icon that saves and not compiles, since I can only make one save before compiling.

    EDIT3: NVM, if I make a change and save it won't compile apparently, wish I thought of this earlier, sigh...

    *Gets back to freaking out*

    Thanks,
    jrDev
     
    Last edited: Dec 10, 2015
  47. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Hey @jrDev, I will think of something to deal with Unity crashes. I'll add an option to auto-save changes somewhere in the Temp folder once every few minutes. This will be most of the time doing useless work, but it will be great once I a while to bring back our work after a crash.

    @bocs Find All References shows the "verified" references in C# scripts same as Visual Studio or Visual Assist, but for all other script types the verification cannot be done because Si3 same as Visual Studio doesn't do code analysis in them. Since .js and .boo script can still reference non-local symbols in C# scripts it would be very wrong to not search there too, right? All whole words in those scripts that exactly match the symbol name are therefore listed as unconfirmed or potential references, highlighted in yellow color... Maybe I should add options to hide results found in .js and .boo scripts?

    In addition to direct references found in C# code, in Unity it's very common to reference symbols by name and this is why there's an option to show potential references found in strings. The option to show results found in comments is there in case you have some temporarily commented out code, and of course those results are shown as unconfirmed. The same stands for results found in #if / #endif code blocks which are not compiled in the current configuration.

    Note that in Unity a MonoBehaviour member can can also be references from UnityEvents! Currently Si3 doesn't find such references (neither any other IDE can do that) but not for too long, I'll list those references as well! :cool:
     
  48. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,793
    Hehe, sure! I'll add the easy one first ;)

    Ah, I forgot about that... Thanks, I'll fix it!
     
    JoeStrout and SarperS like this.
  49. bocs

    bocs

    Joined:
    May 9, 2009
    Posts:
    413
    Yeah an option to hide "unverified" seems logical.
    in my example, no way does rb in the .js files have any reference to the .cs rb right?

    As for strings...yeah, I can see them having a ref with say startcoroutine("function").
    lol, good luck dealing with that with refactor :)

    *I'm one of the few unity users where C# is a pain since C++ is my main (poet?)
     
    Flipbookee likes this.
  50. mcmorry

    mcmorry

    Joined:
    Dec 2, 2012
    Posts:
    580
    This will be super cool!!!
     
    Flipbookee likes this.