April 26th update

Coordinator
Apr 26, 2010 at 2:10 PM

Greetings everyone!

I apologize for the long delay since my last update..  I've been quite busy working on Civilization 5 and haven't found much free time lately.  I did manage to get some free time this weekend to push out a major update :)  I'm not going to generate a new release until I've had a few days to really test it out and work out any kinks.

Here's a summary of what's gone in:

Visual Studio 2010 Support
This is a total migration to the latest MEF style editor.  Developers should be able to expand upon this and add extra intellisense features that are not currently implemented.  I'd like to make this as flexible as possible so any feedback would be greatly appreciated.  It's currently missing item templates for Lua scripts as well as the ability to comment large blocks via hot keys (I'm waiting on a response from MS as to how this can be implemented using the new system).

Hidden Regions for table constructors and function bodies
Functions and tables should now be collapsible!  This feature is integrated into both the 2010 and 2008 version.  I'm currently only collapsing tables and functions but am open to adding more collapsible regions.

Latest version of Irony and complete project refactor
From the developer side, both plugins are now built using Visual Studio 2010 in a single build.  The latest version of Irony has fixed some older obscure bugs as well. 

-Shaun

May 6, 2010 at 12:35 PM
Good job, is there any binary releases? My VS2010 cannot open your project, it says "the project type is not supported by this installation". Thought I need a VS2010 SDK but I cannot get it for some reason.
Coordinator
May 6, 2010 at 2:22 PM

The VS 2010 binary release can be found and installed directly from within Visual Studio 2010 :)

Installing From Within Visual Studio

With Visual Studio 2010 open, navigate to Tools->Extension Manager.  Select the "Online Gallery" section.  In the top right corner of the window type in "Lua" and select the entry "Lua Language". 

Installing Manually

http://visualstudiogallery.msdn.microsoft.com/en-us/7af51f37-07ad-4d6b-9c2b-00672bb051ad

Click download and double click on the VSIX file.  VSIX is the new format for Visual Studio extensions.  It includes a built-in installer.

May 8, 2010 at 9:43 AM
Wow it's cool. Thanks a lot~
May 26, 2010 at 7:42 PM
Nice work! One thing I'd like to point out, though, is that your msi release here on codeplex doesn't install to VS2010 (at least it didn't for me). It worked for my 2008 install, though. Looks great in both editors!
Coordinator
May 26, 2010 at 7:53 PM
The current way to install to VS 2010 is via the .VSIX file or directly from the extension manager in Visual Studio. I was thinking about bundling it with the MSI but wasn't sure whether or not that'd be necessary given the other two install options. If there are any features you'd like for either the installer or the editor itself let me know :)
May 29, 2010 at 3:07 AM

As a coder coming from a lot of C++ background, one of the things I frequently mess up in Lua are "if" statements. I often forget to add a "then" between the condition and the following block, or sometimes I forget to add an "end" when I write a one-liner. Basically stuff like this:

if result ~= nil
  <block>
end

if result ~= nil then return result

It would be really nice if these could be matched like parentheses or quotes. I suppose this also extends to things like function-end, do-end, while-do-end, repeat-until, etc.

Coordinator
May 29, 2010 at 3:13 AM

By matching up do you mean highlighted?

May 29, 2010 at 4:32 AM

What I think would help most would be squigglies under an "if" when "then" is missing.

Jun 1, 2010 at 12:54 PM

A snippet may help.

Jun 2, 2010 at 4:15 AM

Here's an example of what I'm working on:

print "example of loading libraries:"
Renderer = require( "renderer" )
if Renderer == nil
  print "Error loading renderer"
else
  print "Got a renderer."
end

The code above is missing a "then" after "Renderer == nil" and I think it would be handy to have the "if" have squigglies when an "else" or an "end" appears before the "then". If that doesn't work, I suppose the squigglies could appear under the "else" or "end" that hasn't seen a "then" since the "if".

Coordinator
Jun 2, 2010 at 2:26 PM
I'll see what I can do this weekend about that. I'm aware that many of the error messages could be more user friendly :) If there are any in particular that you'd like me to address this weekend then let me know :) My primary task this weekend will be fixing the outlining issues in VS 2008 (it only outlines a segment of the file and not the entire thing) as well as adding to both 2008 and 2010 a first pass at support for the navigation bar (enumerating all globally scoped functions).
Jun 2, 2010 at 3:02 PM
"adding to both 2008 and 2010 a first pass at support for the navigation bar"

BOY :)
That would be GREAT !

-------- Message original --------
Sujet: Re: April 26th update [vslua:210566]
De : salec <notifications@codeplex.com>
Pour : tom.rethaller@free.fr
Date : 02/06/2010 16:26

From: salec

I'll see what I can do this weekend about that. I'm aware that many of the error messages could be more user friendly :) If there are any in particular that you'd like me to address this weekend then let me know :) My primary task this weekend will be fixing the outlining issues in VS 2008 (it only outlines a segment of the file and not the entire thing) as well as adding to both 2008 and 2010 a first pass at support for the navigation bar (enumerating all globally scoped functions).

Coordinator
Jun 2, 2010 at 10:39 PM
I just got a first pass at the navigation bar support in 2008 done :) It currently just displays a list of named functions (ones defined as "function <name>(args)"). I'm currently debating if I should display other data in there. There is also the second dropdown that is currently not getting used. If you have any ideas for what I could populate that one with by all means let me know :)
Jun 3, 2010 at 8:19 AM
Sweet to hear :)
Well, almost 100% of my functions are declared within a scope :

utils = {}
function utils.function1() .. end

I would really appreciate to see the full path in the dropdown : <utils.function1>

And I usually do the same with variables :

utils = {
    MyConstant1 = xx,
    MyConstant2 = xx,
    ...
}

player = {
    Parameter1 = xx,
    ...
}


I think that decoda (I can check tonight) does display these global tables, with all the symbols it finds collapsed in a treeview.
But it would be possible to display the full expanded tree in a single dropdown, as Visual Assist does. All the symbols found in the current file are flat-listed with their full scope expanded.
It is particulary handy to search a symbol when you can't recall exactly where it is defined.

Keep it up, your work is really appreciated here :-)

Tom RETHALLER


-------- Message original --------
Sujet: Re: April 26th update [vslua:210566]
De : salec <notifications@codeplex.com>
Pour : tom.rethaller@free.fr
Date : 03/06/2010 00:39

From: salec

I just got a first pass at the navigation bar support in 2008 done :) It currently just displays a list of named functions (ones defined as "function <name>(args)"). I'm currently debating if I should display other data in there. There is also the second dropdown that is currently not getting used. If you have any ideas for what I could populate that one with by all means let me know :)