Announcement

Collapse
No announcement yet.

Eclipse UDK IDE

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #16
    Ok I tried it with your zips and both work so I tried to figure out what the difference was. The only thing I could find was that your installations have their workspace inside the eclipse folder so I tried that and it works for my installations as well.

    Yes I have UAC on but I started eclipse as an administrator and I used the workspace folder I always use for eclipse projects.

    Besides the startup hickups I do think this plugin is better than nfringe, but maybe for different reasons than you think:
    -there is no email verification and license nonsense that doesn't work half the time, I had to reactivate my free license every few months whyever and it would only give me an activation mail every third attempt or so
    -nfringe is unable to open class definitions if the class name happens to be the same as the variable name (which, sad to say, is done in uscript on a regular basis)
    -nfringe does not have a dropdown list for maps and gamemodes
    -I always have to set the compiler and debugger path manually for nfringe
    -And of course there is MS Visual Studio which is gigantic compared to eclipse and always installs a unnecessary ton of extra library stuff for nothing (for me at least)

    so there

    I will certainly try to work with this now and see how it goes.

    greetings

    Comment


      #17
      Originally posted by FTC View Post
      Ok I tried it with your zips and both work so I tried to figure out what the difference was. The only thing I could find was that your installations have their workspace inside the eclipse folder so I tried that and it works for my installations as well.

      Yes I have UAC on but I started eclipse as an administrator and I used the workspace folder I always use for eclipse projects.

      Besides the startup hickups I do think this plugin is better than nfringe, but maybe for different reasons than you think:
      -there is no email verification and license nonsense that doesn't work half the time, I had to reactivate my free license every few months whyever and it would only give me an activation mail every third attempt or so
      -nfringe is unable to open class definitions if the class name happens to be the same as the variable name (which, sad to say, is done in uscript on a regular basis)
      -nfringe does not have a dropdown list for maps and gamemodes
      -I always have to set the compiler and debugger path manually for nfringe
      -And of course there is MS Visual Studio which is gigantic compared to eclipse and always installs a unnecessary ton of extra library stuff for nothing (for me at least)

      so there

      I will certainly try to work with this now and see how it goes.

      greetings

      Awesome to hear that it worked!

      About nFringe, I guess you make a valid point (or multiple even). Thanks for showing me that.

      Comment


        #18
        From what I'm reading, I don't see any debugging functionality, are they implemented? I'm talking about breakpoint, live variable values lookup, live command to set value etc...

        Most of the IDE / Plug-in that I have seen don't have this functionality except nFringe and in my opinion it's a must have for developpers.

        Thanks for your time building this. I like to see things like that emerging.

        In all case, you should note that VS can be free with VS Shell:
        http://msdn.microsoft.com/en-us/libr.../bb685612.aspx

        By doing this, you can leverage all the VS power, add your plug-in for free and even add useful other plug-in like Perforce. I wish a community project lead such kinds of dev that can make the perfect IDE. Sadly I had no time to lead this ^^

        Comment


          #19
          Fixed some bugs:

          - double click on numbers didn't work properly
          - the modifiers of parameters weren't shown
          - class casts weren't parsed properly
          - the first line of the class couldn't be parsed

          The new plugin has been uploaded, the pre-installed zips will be updated soon.
          PS: when you've downloaded one of the older pre-installed zips, you can also update it using the Eclipse plugin manager, you do this by opening Eclipse->Help->Check for Updates.

          Comment


            #20
            I've found out why you would get the linked resources error: linked resources were disabled.
            I've edited the description of the thread to put a troubleshooting chapter in there, in there you'll find how to enable linked resources.

            Comment


              #21
              Fixed a couple more bugs:

              - You can now import projects that have spaces in their paths.
              - Projects now also only require to have the UnrealScript folder, the other folders are optional.

              Comment


                #22
                Originally posted by elvince View Post
                From what I'm reading, I don't see any debugging functionality, are they implemented? I'm talking about breakpoint, live variable values lookup, live command to set value etc...

                Most of the IDE / Plug-in that I have seen don't have this functionality except nFringe and in my opinion it's a must have for developpers.

                Thanks for your time building this. I like to see things like that emerging.

                In all case, you should note that VS can be free with VS Shell:
                http://msdn.microsoft.com/en-us/libr.../bb685612.aspx

                By doing this, you can leverage all the VS power, add your plug-in for free and even add useful other plug-in like Perforce. I wish a community project lead such kinds of dev that can make the perfect IDE. Sadly I had no time to lead this ^^
                The debugging functionality nFringe has is from another application called Unreal Debugger (link). It's not that hard to implement debugging functionality with their API, but I actually never use break points, and when I want to lookup variables I usually log them, that's why I haven't added that yet.

                Comment


                  #23
                  Originally posted by zwarmapapa View Post
                  The debugging functionality nFringe has is from another application called Unreal Debugger (link). It's not that hard to implement debugging functionality with their API, but I actually never use break points, and when I want to lookup variables I usually log them, that's why I haven't added that yet.
                  Nope, nFringe implemented their own debugger.
                  My Plugin (link in Signature) uses UnrealDebugger for debugging. UnrealDebugger is a standalone application and can also be used without any IDE at all. So doing the same as I did for debugging is trivial, but implementing your own debugger is definitely not.

                  Comment


                    #24
                    I've started working with it over the past few days, here are a few more suggestions/bugs to be fixed :P
                    • Bug 1: When I open Eclipse it automatically tries to recompile the project, which for me is unintended behaviour. It also seems to clear the objects in the Type Hierarchy view. Maybe you can fix this or add the Eclipse hammer button on the toolbar for manual recompilation?
                    • Bug 2: After opening Eclipse all the project folders that I don't want (Flash, dlls, Movies, Logs, etc.) are there even after removing them in a previous session.
                    • Big suggestion: add a search box in the Type Hierarchy view to filter classes with the name that you typed. This would be a big plus in usability and it should be fairly easy to add.


                    Other add-ups that would be nice:
                    • when you hover over some of the most exotic keywords (singular, simulated, event, etc.) you could show a tooltip stating what they do - you could fetch this in the UnrealWikis or the official documentation, for example;
                    • since documentation in Unrealscript is a must, when you hover over a variable you could show the associated comments in a tooltip in addition to the variable name;
                    • highlighting for ini files;
                    • error highlighting in code - not a priority, for now simply parsing the line number and highlighting it in code would be simple enough.

                    Comment


                      #25
                      Originally posted by goncalofsilva.25 View Post
                      I've started working with it over the past few days, here are a few more suggestions/bugs to be fixed :P
                      • Bug 1: When I open Eclipse it automatically tries to recompile the project, which for me is unintended behaviour. It also seems to clear the objects in the Type Hierarchy view. Maybe you can fix this or add the Eclipse hammer button on the toolbar for manual recompilation?
                      • Bug 2: After opening Eclipse all the project folders that I don't want (Flash, dlls, Movies, Logs, etc.) are there even after removing them in a previous session.
                      • Big suggestion: add a search box in the Type Hierarchy view to filter classes with the name that you typed. This would be a big plus in usability and it should be fairly easy to add.


                      Other add-ups that would be nice:
                      • when you hover over some of the most exotic keywords (singular, simulated, event, etc.) you could show a tooltip stating what they do - you could fetch this in the UnrealWikis or the official documentation, for example;
                      • since documentation in Unrealscript is a must, when you hover over a variable you could show the associated comments in a tooltip in addition to the variable name;
                      • highlighting for ini files;
                      • error highlighting in code - not a priority, for now simply parsing the line number and highlighting it in code would be simple enough.
                      Ok, lets see :P


                      Bug 1: It doesn't automatically recompile for me, what it does do when I start Eclipse is that it initializes Eclipse and starts up all the plugins, and when you open a UnrealScript file (or when one was already open), it parses the UC file and all it's parents to create a outline, and it goes through all UC files to create the type hierarchy. That's probably why the type hierarchy is empty at start as well, because it still has to be made.

                      Bug 2: They are automatically added when you restart Eclipse and open a UC file, the reasoning behind this is that the folders are quite useful and not very annoying. Besides that, when you accidentally remove them there is no way to get them back, and an extra button solely for this would probably only confuse new users.

                      Big suggestion: Yeah I wanted to add this already, and making the filtering code is very easy, but I can't seem to figure out how you can add an input field to the type hierarchy. There is very very little documentation on this, and I haven't come across anything helpful yet.


                      Keyword hover: I could make this, would be quite useful and it won't take much time to make it, expect it to be made quite soon!

                      Documentation parser: This is also useful, but also harder to make since I have to parse the comments then. It should be doable, but it will take much more time than the keyword hovers, I'll give it a try and see how far I get.

                      Ini syntax: Well, that would be a separate plugin. I don't know if such a plugin already exists for Eclipse, else I could give it a try and make one.

                      Error highlights: This is something that I've wanted to add for a long time as well, but I don't understand the line numbers the compiler gives. It doesn't make any sense. I've tried counting the lines without any newlines, or without any comments, but I always have the code mistake on a different line than the compiles gives me. I've tried googling it, but I didn't found anything on it. If someone could figure this out, I could add a red line underneath the line that the compiler logs.


                      I hope that sums it all up :P

                      Comment


                        #26
                        Originally posted by zwarmapapa View Post
                        Ok, lets see :P

                        Error highlights: This is something that I've wanted to add for a long time as well, but I don't understand the line numbers the compiler gives. It doesn't make any sense. I've tried counting the lines without any newlines, or without any comments, but I always have the code mistake on a different line than the compiles gives me. I've tried googling it, but I didn't found anything on it. If someone could figure this out, I could add a red line underneath the line that the compiler logs.
                        It could be something related to the different types of newlines (\n, carriage returns, bla bla bla). 99% of the time the compiler got the error lines correct here and usually for things like invalid expressions or mistyped variable names, so I don't know if anyone else has this problem.

                        Oh, and if you could switch to manual compilation in future versions of the plugin it would be great. I was making changes in 5 different files simultaneously and it was slightly annoying to see the compiler running when I hadn't finished my work.

                        Again, props for your work. With a few more iterations I'm sure this plugin will become more popular :P

                        Comment


                          #27
                          I've got some small question about your auto completion implementation (might be I can learn something to improve my plugin):
                          Do you parse the current file live or only when the file is saved? If live, then how?
                          When you parse the current file, do you parse every local variable or do you get them only when you need them?


                          And for the line number bug:
                          I see this in many other languages too, if I forget a ';' in c++, it will not say 'the ';' is missing on line x', but something like 'invalid expression on line x+1' (or even x+5 if you've got nothing on the next few lines).
                          In my plugin I use the exact line number the compiler gives me. But might be eclipse enumerates the lines differently. In Sublime it starts with line 1.

                          Comment


                            #28
                            Originally posted by zinggi57 View Post
                            I've got some small question about your auto completion implementation (might be I can learn something to improve my plugin):
                            Do you parse the current file live or only when the file is saved? If live, then how?
                            When you parse the current file, do you parse every local variable or do you get them only when you need them?


                            And for the line number bug:
                            I see this in many other languages too, if I forget a ';' in c++, it will not say 'the ';' is missing on line x', but something like 'invalid expression on line x+1' (or even x+5 if you've got nothing on the next few lines).
                            In my plugin I use the exact line number the compiler gives me. But might be eclipse enumerates the lines differently. In Sublime it starts with line 1.
                            It will only parse the live file content to know on which word you press/autocomplete/hover. It only parses the offset - 40, with 80 characters long.
                            The functions and variables (vars and locals) are only parsed after a save, I should change this though, the parsing goes fast enough for it.

                            When I parse a class, it will loop through every line of it's content. It will also loop through all the parsed data to find the vars and functions.

                            Live parsing is nothing but parsing the opened editor's content instead of parsing the file's content. The only thing is that live parsing will happen more often, since the live content will change more often than the saved file's content will.


                            About the line numbers. The compiler is more than 30 lines off with me. Eclipse just starts counting from line 1 as well. I've looked in my source code and it seems I got a lot of \r in it, which is probably the cause of that.

                            Comment


                              #29
                              Originally posted by zwarmapapa View Post
                              It will only parse the live file content to know on which word you press/autocomplete/hover. It only parses the offset - 40, with 80 characters long.
                              The functions and variables (vars and locals) are only parsed after a save, I should change this though, the parsing goes fast enough for it.

                              When I parse a class, it will loop through every line of it's content. It will also loop through all the parsed data to find the vars and functions.

                              Live parsing is nothing but parsing the opened editor's content instead of parsing the file's content. The only thing is that live parsing will happen more often, since the live content will change more often than the saved file's content will.


                              About the line numbers. The compiler is more than 30 lines off with me. Eclipse just starts counting from line 1 as well. I've looked in my source code and it seems I got a lot of \r in it, which is probably the cause of that.
                              Thanks for your explanations. It's pretty similar to what I do, except that I don't parse local variables yet.
                              And for life parsing, the easiest would probably be to automatically parse it in a regular interval. However I did not implement that because it felt bad that the plugin was always working in the background.
                              Well anyway, I don't have enough time to really work on my plugin, so I'm not going to include live parsing soon.

                              If you're counting the lines manually, I think you should be fine by just counting the '\n's, as the lines usually end with '\r\n'. But can't you just use Eclipse line numbers?

                              Comment


                                #30
                                Originally posted by zinggi57 View Post
                                Thanks for your explanations. It's pretty similar to what I do, except that I don't parse local variables yet.
                                And for life parsing, the easiest would probably be to automatically parse it in a regular interval. However I did not implement that because it felt bad that the plugin was always working in the background.
                                Well anyway, I don't have enough time to really work on my plugin, so I'm not going to include live parsing soon.

                                If you're counting the lines manually, I think you should be fine by just counting the '\n's, as the lines usually end with '\r\n'. But can't you just use Eclipse line numbers?
                                In Eclipse you don't see the \r, Eclipse only counts the \n, but the compiler also counts the \r.
                                I think I either have to replace all the \r when you open a UC file, or that it has to loop through every character till it reached enough \n and \r to have the same \n and \r as the warning's line number. I'm probably going for the last option.

                                Comment

                                Working...
                                X