Search Unity

UnIDE - A Code Editor Integrated Into Unity [RELEASED]

Discussion in 'Assets and Asset Store' started by CorruptScanline, Dec 28, 2012.

  1. CorruptScanline

    CorruptScanline

    Joined:
    Mar 26, 2009
    Posts:
    217
    UnIDE is an IDE designed specifically for Unity. It features all the "must have" features of an IDE, and its built right into the Unity editor UI.

    Available now on the Asset Store


    My goal for this project is to create a code editing solution for Unity that serves as a replacement for MonoDevelop, and has all the features people want and use for day to day programming. Some features include:

    • Intuitive syntax aware text editing.
    • Context sensitive intellisense style auto completion. (C# and Unityscript)
    • Code tooltips. (C# and Unityscript)
    • Unlimited undo/redo.
    • Standard hotkey setup including Ctrl+S save, and Ctrl+Z undo, which are usually unusable in editor extensions.
    • Drag/Drop and double click supported files to open them.
    • Find and Replace. with keyword highlighting.
    • Error and warning highlighting from Unity console data.
    • Supports all unity code files. C#, Unityscript, Boo, Shader, Compute Shader, and a customizable file format list.
    • Quick navigation and search through your project to find the the files you need.
    • Collapsible side navigation bar to maximize your programming workspace.
    • Includes a powerful plugin system to allow easy extensibility. Auto Complete, Error Tracking, and Find/Replace are all implemented as plugins.
    • Theme system to customize the look of the editor.

    UnIDE has advanced Intellisense style auto complete and tooltips for C# and Unityscript, and generic auto completion for all other files, including Boo and shaders.

    For more info and to see it in action visit UnityIDE.com

    There is a 30 day trial version available:
    Download 30 Day Trial

     
    Last edited: Feb 1, 2013
  2. Dabeh

    Dabeh

    Joined:
    Oct 26, 2011
    Posts:
    1,614
    Wow! I might get it sometime next month once I've seen some reviews.
     
  3. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    Looks awesome!
     
  4. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Does it include debugging/breakpoints/watches, etc? If not, is that coming?
     
  5. tatelax

    tatelax

    Joined:
    Feb 4, 2010
    Posts:
    1,168
    This is really really cool. I plan on getting it soon.
     
  6. RobinS

    RobinS

    Joined:
    Sep 2, 2011
    Posts:
    417
    Good job Kurt, can't wait to test it! =)
     
  7. tatelax

    tatelax

    Joined:
    Feb 4, 2010
    Posts:
    1,168
    I'm feeling really stupid right now. I put it in the project folder, but I cannot figure out how to actually open it. I expected it to be in the toolbar or in the window menu. I don't see it. Any help?
     
  8. tatelax

    tatelax

    Joined:
    Feb 4, 2010
    Posts:
    1,168
    This is weird, I left Unity alone for a couple minutes, when I came back it was in the window menu like I thought it would be. Time to test this out.
     
  9. seon

    seon

    Joined:
    Jan 10, 2007
    Posts:
    1,441
    There is always a delay when editor scripts initially add stuff to the Unity menu. Some type of internal recompile or processing to modify the menus. No idea what it is, but thats standard, but usually only takes 5 or so seconds from my experience.
     
  10. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    I bet you are inspired by some sublime stuff and thats a good thing of course. good job. looks very nice
     
  11. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Ok just got it.
    Will you add more shortcuts? I think that some fundamentals are missing there. Namely:

    DEL: delete next char or selected text(o_O)
    SHIFT+Home and SHIFT+End
    CTRL+/ (for example) : add/remove comment
    SHIFT+DEL (for example): cut whole line
    CTRL+[ and CTRL+] : indent line left and right

    Also autocomplete for ( ), { }, " " etc

    /*EDIT:
    Highlight for properties, classes, functions etc? (regarding UniyScript. Don't know if you have them in there for C#)
    */

    And I will be a 95% satisfied customer :)

    I will leave my other 5% satisfaction suggestions for another time :)

    Thanks. Good job on everything else really
     
    Last edited: Dec 29, 2012
  12. CorruptScanline

    CorruptScanline

    Joined:
    Mar 26, 2009
    Posts:
    217
    There is no debugging solution implemented right now. I do have an idea for a debugging feature though. Doing a true stepping debugger isnt really possible afaik because unity would have to debug itself. My solution for that limitation is to record all the desired execution info line by line in the desired block of code, then pause at the end of the frame and show the info in a sort of timeline next to the code. So you could define blocks of code to debug with something like:
    Code (csharp):
    1.  
    2. [[Break Watch this.something, that.otherThing, theOther.anotherThing, i, anotherLocalVar]]
    3. /*Some lines of code here*/
    4. [[EndBreak]]
    5.  
    Yep I definitely l looked at sublime text. I want to add minimap feature at some point.

    I will definitely add more shortcuts. I just sort of added the ones that I use. If anyone else has more suggestions for shortcuts feel free to post them.

    There is currently Type name highlighting. You can specify which assemblies you want to have types highlighted from in the settings menu. I only included UnityEngine and UnityEditor by default because when you include all of them a large portion of the text is green and looks kinda weird.

    As for property and function highlighting, that would require more processing power and another background thread (because the entire file would have to be rechecked for matching tokens whenever the file is modified), but it does seem like it would be a nice feature so I may do it and make it optional. I could probably add it into an existing thread now that I think about it.
     
    Last edited: Dec 29, 2012
  13. bocs

    bocs

    Joined:
    May 9, 2009
    Posts:
    413
    Really like it so far....Just some suggestions (after only a short time playing around):

    Side panel collapse - Would be nice if it was completely removed and the icon added to the top left of tabs to expand. currently it leaves an ugly bar down the side that just takes up space.
    Tabs - Add a close button (yes I know middle mouse)
    Save and Save All icons would be nice on the right side of the tab bar.
    2nd on the Delete shortcut

    also some cool ideas could be added from codekana: http://www.codekana.com/
    Like the Unmatched braces parentheses, and visual lines from braces, highlight/bold matching braces parentheses etc.
     
  14. Pulpsoft

    Pulpsoft

    Joined:
    Jul 5, 2012
    Posts:
    11
    Nice work.
     
    Last edited: Dec 29, 2012
  15. tatelax

    tatelax

    Joined:
    Feb 4, 2010
    Posts:
    1,168
    I've used this plugin for a little bit, and I really like it! Visual Studio was starting to give me troubles. I found this at the perfect time.
     
  16. Martin-Schultz

    Martin-Schultz

    Joined:
    Jan 10, 2006
    Posts:
    1,377
    Using the editor since today and I really dig it. Finally someone made an inline editor that works! Thanks so much!
     
  17. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Purchased. Is it possible to enable "virtual whitespace" - ie, the cursor doesn't go to the beginning of text in empty space. Hard to cursor around when it keeps moving the cursor all the way to the left. Also - how to set this up so when I double click (or select "open") on a script file, the IDE opens it?

    Also - key shortcuts:
    Home -> Move the cursor to the beginning of the current line
    End -> Move the cursor to the end of text on current line

    Shift-Home-> Select to beginning of line
    Shift-End -> Select to end of text on current line

    Pgup/Pgdn -> Move a page at a time back/forward
    (+shift = select while doing it)
     
    Last edited: Dec 29, 2012
  18. DayyanSisson

    DayyanSisson

    Joined:
    Aug 4, 2011
    Posts:
    623
    Would we be getting all the updates and new versions free once we've bought this version?
     
  19. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Thats nice then kurtloeffler :)

    You are of course right about Type highlighting. Somehow my settings for the assemblies was wrong (i might have did this by accident), and didn't see them. It's allright now.

    Here are some more color highlighting suggestions you could have for readability:
    Different color for -,+,=,*,!,<,> symbols.
    "true" and "false" be same color as numbers.
    Different color for the name of a function and it's arguments at its declaration only to easily spot where the functions are. Or maybe put the declaration lines into a colored box like you do with comments.
     
  20. L-Tyrosine

    L-Tyrosine

    Joined:
    Apr 27, 2011
    Posts:
    305
    Purchased. Liked it!
    But the shortcuts are a real need here, waiting for it.
    Del, end, home, everything working at monodevelop should work at UnIDE.
    Then, this tool have everything to became THE editor for Unity.

    Thank you for such a great tool!
     
  21. RazorCut

    RazorCut

    Joined:
    May 7, 2009
    Posts:
    393
    I bought this today and spent most of the day using it to see how good it is. Overall, it's pretty sweet...you are onto something here.

    Some feedback:

    1. hitting ESC adds an invisible ESC character in there; since I was hitting ESC alot to dismiss the auto-complete menu, I had to deal with deleting quite a few of invisble meta "characters."
    2. holding shift down and then clicking the mouse somewhere really needs to select all of the text inbetween where the cursor is and where the mouse click occurred.
    3. shift-leftarrow and shift-right arrow really need to go to before-first-character and after-last-character on the line, respectively
    4. i noticed very significant performance degredation overall (typing and intellisense) the larger the file is
    5. auto inserting closing brackets is pretty key
    6. there needs to be more font choices...the current ones really suck
    7. when a new script is added to the project, i have to manually futz around for a bit to get it to show up in the list most of the time
    8. it would be nice if i could add a new script from with the UnIDE window instead of only in the Project pane window
    9. i forgot for sure, but i don't remember seeing line numbers
    10. need a bit of padding on the left side of the editting window...the text is butt up against the side
    11. would be nice to have a setting whereby tabs and spaces could be shown
    12. would be nice to have an option to have the currently selected line highlighted.

    Looking forward to the updates! Fine work for a first version.
     
  22. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Hey. I am trying to make a new theme here so that I dont screw the default. I managed to get it to show in the list of themes, have made the changes to my preference colors etc, but I am unable to select it in the list. I click and nothing happens. What do I miss to do here?

    Thanks.

    (PS: Can't wait for the shortcuts (moslty) so that I can drop sublime and for once enjoy great intellisense with Unityscript)
     
  23. bngames

    bngames

    Joined:
    Jul 3, 2012
    Posts:
    67
  24. CorruptScanline

    CorruptScanline

    Joined:
    Mar 26, 2009
    Posts:
    217
    Thanks, I have added these things to a todo list.

    Im not sure I understand what you mean about virtual whitespace. The cursor does remember its column placement when moving up and down with arrow keys. So if you step over a line with less columns and then hit a line with more columns than the column where you started pressing up/down it should go to the desired column.

    Yes.

    Hmm thats interesting about the esc character, I assume thats on osx.

    For number 4 what kind of processor do you have? I'm aware of some performance issues on OSX with older dual core cpus. I have added the ability to force "generic" auto completion, or turn it off completely, which both solve this, although thats not really a solution. I believe the problem is number of threads. There could be about 3 background threads running at any time to handle parsing, auto completion, and formatting stuff. These threads are usually very fast so I could try having an option do all the calculations in a single background thread for older cpus. I could also try queuing threads in my threadpool wrapper so only one executes at a time.

    Hmm its possible that I broke something after the initially testing the theme menu UI. You could try changing the CLR type name in the theme menus settings file (in the inspector) which is in UnIDE/Editor/_TMP/SettingGroupData/SGTheme/DefaultData.
     
  25. RazorCut

    RazorCut

    Joined:
    May 7, 2009
    Posts:
    393
    I work on a 2012 Mac Pro, 12 core Xeon with 16GB RAM. OSX Mountain Lion.
     
  26. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Virtual white space = the cursor goes straight down when you press the down arrow, even if there is nothing at that spot. So you can basically type anywhere. nice feature, but not the end of the world not having it.

    Still, I would like to be able to double click a script in the project view, or select "edit script" on a script component and have it take me to the editor. Seems like you could create an application that you could designate as the "external script editor" in the preferences that intercept the filename and communicate back to UniIDE.
     
  27. CorruptScanline

    CorruptScanline

    Joined:
    Mar 26, 2009
    Posts:
    217
    That is very strange. I have been looking online for multithreading issues in mono on osx and there seems to be quite a few, but without any sort of explanation of what could be causing them. I found this https://bugzilla.novell.com/show_bug.cgi?id=402833 which seems pretty accurate to the problem, except that apparently this was fixed in mono 2.4 and unity uses mono 2.6 :/ I also dont think this problem would cause unsynchronized background threads to mess with performance of the main thread, especially on a cpu like yours. Maybe this actually wasnt fixed until after mono 2.6?

    Creating a dummy application could be a work around to getting double clicking files and errors to open. I was hoping there would be some callbacks and ability to override this functionality though.
     
  28. RazorCut

    RazorCut

    Joined:
    May 7, 2009
    Posts:
    393
    Let me know if you want me to test some things if you don't have the hardware to test this slowdown problem yourself.
     
  29. Lypheus

    Lypheus

    Joined:
    Apr 16, 2010
    Posts:
    664
    Just bought this myself, great start, here's a few simple shortcuts i'd really like to see:

    HOME/END - for start and end of line.
    CTRL-HOME/END - for state and end of document.
    CTRL-X - to delete current line (or CTRL-D)
    CTRL-D - to duplicate the current line
    CTRL-/ - to // comment current line, bonus pts for allow selected text region to be /* */'d :).
    DEL - functional
     
    Last edited: Dec 31, 2012
  30. CorruptScanline

    CorruptScanline

    Joined:
    Mar 26, 2009
    Posts:
    217
    I have submitted a new version to the asset store, so it should be available in a day or two.

    Here are the changes:
    • Switched multithreaded things to use ThreadPool instead of regular threads.
    • Added option to force generic auto complete for all files.
    • Added option to disable auto complete.
    • Fixed bug where scripts were sometimes reloaded when they shouldnt be.
    • Delete key now works.
    • Added hotkey to move to line start - Home or Alt+LeftArrow (can use shift to modify selection).
    • Added hotkey to move to line end - End or Alt+RightArrow (can use shift to modify selection).
    • Added hotkey to move to document start - Ctrl+Home (can use shift to modify selection).
    • Added hotkey to move to document end - Ctrl+End (can use shift to modify selection).
    • Added hotkey to duplicate line - Ctrl+D
    • Added hotkey to delete line - Ctrl+Shift+D
    • Added hotkey to comment selected lines - Ctrl+/
    • Added hotkey to uncomment selected lines - Ctrl+Shift+/

    Thanks, I have an old macbook so I can test it.
     
  31. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Thats great. thanks :)
    Can't wait.
    Happy new year
     
  32. Lypheus

    Lypheus

    Joined:
    Apr 16, 2010
    Posts:
    664
    Nice, thanks kurt - will give it a try here tomorrow!
     
  33. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Got the update and yes of course, that's muuuch better!

    I would make the comments appear in front of the first character of the line instead of start of the line and use same shortcut for both comment and uncomment, but no big deal.
    Also I guess we can't change the shortcuts somewhere in the code, can we?

    Again, nice (almost mandatory) update.
     
  34. goy

    goy

    Joined:
    Jul 15, 2012
    Posts:
    10
    Good to know, that there is already an update for the shortcuts.
    I just loaded it, but some shortcuts don't work correct.
    For the info, I'm on a Mac.

    Cmd + D - Creates two duplicated lines, after that if you hit cmd+z often this suddendly does the line deleting o_O

    alt + left - please jump to before the first char, not in the empty tab space at the very beginning

    cmd + / - comment shortcut not working
    cmd + shift + / - same here

    As nuverian already mentioned, use the same shortcut -_^.


    I pressed cmd + shift + - and i can't really tell what this shortcut does. Sometimes it duplicates, sometimes adding from the clipboard,
    although you don't mention this shortcut, just accidentilly hit it. :p
    It's really random, what it does.
    Escape key is funny too.

    Features I'm still missing (I've already told you per email, but for the other in this thread to see)
    - Text search -> Searching all files for a specific string
    - Move selected Lines with the cursor up or down
    - Go To Declaration
    - Replace All Button (more helpful features for refactoring)
    - Goto Line
    - Close All Tabs / Close Other Tabs and by the way an x-Button for closing a single one :p
     
  35. Lypheus

    Lypheus

    Joined:
    Apr 16, 2010
    Posts:
    664
    couple more asks:

    1. ctrl-x on a line with no selection should "cut" that whole line.
    2. hitting home/end should also scroll the viewport to keep cursor visible.
    3. holding shift and left clicking should select text from current cursor position to clicked point.

    things are coming along nicely, keep it up :) !
     
  36. RazorCut

    RazorCut

    Joined:
    May 7, 2009
    Posts:
    393
    ESC key still puts the ESC character in the text in the latest version. So far this has been the biggest productivity killer for me because I use it to dismiss the autocomplete popup as often as I use the autocomplete popup.

    Also, I'm still really hurting that Command-Left and Command-Right don't go to start and end of line. That's standard for Mac. Cool that the Home/End keys do this, but us Mac folks don't give a crap about those keys. :D (in my original post I had mis-stated SHIFT-L and SHIFT-R, sorry).

    It's also extremely unfortunate that shift selection doesn't work. Hopefully you can get that in.
     
  37. bocs

    bocs

    Joined:
    May 9, 2009
    Posts:
    413
    however it may kill 2 birds with 1 stone so to speak....if you plan to add debugging features which I think would require an external process to attach. (could be wrong)
     
  38. newborne

    newborne

    Joined:
    Jul 16, 2012
    Posts:
    31
    anybody have problems saving file?
     
  39. halgorithm

    halgorithm

    Joined:
    Oct 27, 2010
    Posts:
    22
    Wow. I love this IDE! You did an amazing job with it.

    Some requests (which may or may not have been mentioned before):
    - Keyboard shortcut to close current tab: Ctrl+W
    - Keyboard shortcut to focus on file search field: Ctrl+T
    - One keyboard shortcut to toggle comment, instead of separate Comment and Uncomment shortcuts.
    - Use Enter key within Find box to Find Next.
    - Use Esc key to dismiss Find box.
    - Highlight current line(s).
    - Make the * go away if I undo a modified file back to it's saved version.
    - Plugin/Theme documentation. I wanted to create a plugin for the shortcuts I described, but I wasn't really sure how to go about integrating it into UnIDE. The provided plugins are good as examples, but it's hard to make sense of them without some documentation.
    - Somewhere to submit/download themes and plugins?
    - Don't add a tab to the tabs bar when single clicking a file. It can become cluttered if you just want to quickly glance at a file. I'd prefer if a tab was added only when I double-click a file or start modifying it.
    - Be able to view .txt files as well.
     
    Last edited: Jan 16, 2013
  40. CorruptScanline

    CorruptScanline

    Joined:
    Mar 26, 2009
    Posts:
    217
    Sorry for the lack of updates recently. I was busy for the last couple weeks, but I can start working on UnIDE more now.

    The biggest thing I want to work on is getting it working at reasonable speeds on lower end macs because of the multithreading mono bug. I think just parsing less often, and at times when the user probably isn't typing should help this a lot.

    Besides that the other high priority things are mostly things posted here and in emails since the last update.
     
  41. schonetech

    schonetech

    Joined:
    Jan 19, 2013
    Posts:
    10
    your website gives a
     
  42. GamePowerNetwork

    GamePowerNetwork

    Joined:
    Sep 23, 2012
    Posts:
    257
    Good to hear.... because I love the editor on my PC ... but it makes me sad on my MacBook Air :-(
     
  43. 511

    511

    Joined:
    Nov 18, 2012
    Posts:
    55
    Will there be a trial version? I usually never buy an IDE without extensive testing.
     
  44. RazorCut

    RazorCut

    Joined:
    May 7, 2009
    Posts:
    393
    Doesn't work well on higher end Macs either. I work on a brand new Pro and it bogs down on any scripts that have 100 lines or more in them. Mountain Lion, 16GB RAM, 12 core, SSD.
     
  45. CorruptScanline

    CorruptScanline

    Joined:
    Mar 26, 2009
    Posts:
    217
    I have submitted version 1.04 to the asset store and its available now.

    I was able to greatly increase the performance on OSX. I think this shouldn't be an issue anymore.

    Heres a list of the major changes:
    • Made autocompletion/parsing on OSX much faster. This should no longer be an issue.
    • Added drag and drop feature. You can drag files from the project window, or Explorer/Finder onto UnIDE to open them.
    • Customizable file formats to include in the file list. (Currently must be edited through the inspector in "UnIDE/Editor/_TMP/SettingsGroupData/CGGeneral/DefaultData").
    • Fixed bug that caused the duplicate line command to be done twice on OSX.
    • Added Save, Save All, Undo, Redo icons to the project view.
    • Ctrl+/ now toggles comments. Ctrl+Shift+/ hotkey removed.
    • Shift click to expand selection.
    • Alt+Left/Right arrows or Home/End now have an intermediate step. They will stop at the first non-whitespace character of a line.
    • Save confirmation when there are unsaved changes.
    • Added hotkey to focus on the file search box in the project view - Ctrl+T.
    • Added hotkey to close current file - Ctrl+W.
    • Fixed Theme menu.
    • You can now move the UnIDE directory anywhere in your Assets directory.
    • Temp files are cleaned up when a file is closed.
    • Missing files are removed from the list of opened files.
     
    Last edited: Jan 26, 2013
  46. GamePowerNetwork

    GamePowerNetwork

    Joined:
    Sep 23, 2012
    Posts:
    257
    Awesome!! I can't wait to get home and try the new update!
     
  47. CorruptScanline

    CorruptScanline

    Joined:
    Mar 26, 2009
    Posts:
    217
    Hmm that was fast. Version 1.04 has been accepted to the asset store so you can upgrade now.


    Yeah I was having problems with my server. It should all be fixed now.

    I'm not sure. I don't have any plans for a trial version right now.
     
  48. CorruptScanline

    CorruptScanline

    Joined:
    Mar 26, 2009
    Posts:
    217
    Version 1.05 is now available. It fixes the following bugs:
    • Fixed bug that caused some hotkeys to not work sometimes.
    • Fixed bug that caused scripts to be reopened when docked and "Maximize On Play" is enabled.
    • Fixed bug that caused parsing not to work while docked with the game view after pressing play, before recompiling.

    So far the next version 1.06 will contain these changes:
    • Fixed all issues with window maximization while docked.
    • Can double click script in project view to open files in UnIDE. Can be disabled in options.
    • Changed tmp file names to asset GUID or hashed filename for external files. (Also fixes drag/drop files from external sources).
     
    Last edited: Jan 28, 2013
  49. halgorithm

    halgorithm

    Joined:
    Oct 27, 2010
    Posts:
    22
    Oh man, I can't wait for that double-click to open script in UnIDE. I didn't even know that was possible!

    For people who like to stick to the keyboard only whilst coding, it'd be nice to (Shift+)Ctrl+Tab to cycle through the tabs and make up/down/enter navigate/select files within the file search area.

    Someone else probably already mentioned this bug, but I noticed that if you begin selecting text with the mouse and drag outside of the UnIDE window, it doesn't release the selection until you click again inside the window.

    Keep up the great work, Kurt!
     
  50. Flipbookee

    Flipbookee

    Joined:
    Jun 2, 2012
    Posts:
    2,796
    Hey Kurt, I see you're appreciating Script Inspector 2 being distributed with its full source code ;) ... I'd appreciate if you could add my name to the credits, at least for that double-click to open tip, if not for all the other ideas originated from my forum thread :D