Game Development Community

Intellisense

by Scott Plante · in Torsion · 03/09/2007 (9:40 am) · 32 replies

Heya, the new version looks great, and i just bought it today ;)

however, there are a few 'niggling' things..

needs ctrl + space to show dropdown..

needs a 'commit' token instead of enter.. for example if i hit the '=' or '(' key, it really should fill out the rest of the member etc, instead of cutting it off..

needs parameterized argument list when filling out function..

i bought barry's (winmain software) code parsing/intellisense stuff before he closed down shop and am more than willing to send a working sample of what i'm talking about if it helps ;)

About the author

Recent Threads

Page «Previous 1 2
#1
03/09/2007 (9:44 am)
What should the Ctrl+Space drop down? Auto-complete seems to pop up whenever it can get a context

Tab will function as your commit token

I get little tooltips that popup the argument list when I'm calling functions, if thats what you are seeing
#2
03/09/2007 (11:07 am)
I would think it would show variables and functions that i'd like to see with out having to try to type something until it finds a match...

i was suggesting that in addition to using the tab or return key to follow the next logical progression when calling a function by using the '(' token to commit the member..

an intellisense tool should help code productivity.. in some cases it feels like the torsion intellisense gets in the way.. it would make sense to leverage existing methodologies (ie: visual studio) to increase productivity.. that way there is little or no change when flipping back and forth between c++ and script..

the little tooltip you are referring to is static, and does not provide any feedback as to which argument you are currently populating which if it did, would help to make sure you are populating the correct arg..

none of my comments are meant to be confrontational, they are simply suggestions.. while it does work, could it work better? yes in my opinion..
#3
03/09/2007 (11:11 am)
Ah, I thought you were having trouble finding the features there, not suggesting how to enhance them.

I'm all for more features bringing it closer to visual studio
#4
03/15/2007 (8:51 am)
The other thing I find with the Intellisense pop-up is that it often covers up what I'm actually typing. This often happens when I'm typing a multi-line function call with a long name and long list of parameters. The fact that the pop-up covers what I'm typing is all the more annoying as this (many complex parameters) where a good (parameterized) pop-up would be extremely helpful.

Also, I find that the auto-complete doesn't pop up enough. I have found I often need to backspace and start typing a line again to get the auto-complete to "come back."
#5
03/15/2007 (12:34 pm)
Exactly, thus the need for a way to show an autocompleting dropdown..

i'm currently working on an activex control that does all of this.. all folks will have to do, is register/install the control, site it on their dialog, then create either static xml memberlist files or define them dynamically or both..

the control handles a ton of other things that you'd expect in a quality editing control such as ranged selection (such as alt + left button) in visual studio, ctrl + mousewheel text enlargement, unicode, line numbering, syntax coloring, scoping etc etc etc..

i've started finding a lot of folks implementing internal scripting in their applications for anything from lua, to vbscript, but they all seem to suffer the same irritating things ;(

who knows, mebbe i can sell a few?

anyway, i have a working alpha if anyone is interested ;)
#6
03/16/2007 (9:50 am)
Is this a plugin for Torsion?

If so, I'd be interested in trying it out
#7
03/16/2007 (12:36 pm)
Not sure yet as i was simply noting that i liked the new version of torsion, but that the intellisense was driving me crazy lol

i was going to simply do a little example to explain what i was talking about, along with a small sample so that the folks over at torsion could get a 'feel' for it as well as to provide a little insight as to how intellisense, no matter how well intended, can easily become a hinderance instead of a tool..

while doing this little sample, i just kept fooling around with it and with the use of some other stuff in my codebase, now have a working generic parser with intellisense etc...

btw it's an activex control for use in .net/COM/c++ etc.. you simply site it on a form/dialog/windows form etc, define your language set, (rules, color syntax, scoping and whatnot) along with memberlists, set your text or start typing away and bam! (as Emeril says), nice neat formatted code based on your own (or well known langs) with intellisense ;)

if the folks at torsion would like to check it out, i'm more than happy to sort something out as i said above ;)

scottp@cox.net
#8
03/16/2007 (12:47 pm)
@Scott - I'm all for making Torsion behave exactly like VS in most cases and better than VS where i can. If there are things in particular that you find it's missing then submit a bug.

I am aware of the "static tooltip" issue. The reason it was not implemented in 1.0 was because in Torque the issue is a bit more complex than in C++. In Torque your functions often have a %this argument which is technically part of the function signature. Should i display it, but skip over it when updating the tooltip? Or should i not put it in the tooltip at all? What about when doing Namespace::MyFunction... it seems i should display the %this then to remind the user that he needs to pass an object first. And even more complex is functions that don't use %obj instead of the special %this keyword.

As far as Ctrl+Space... what specifically should be in that dropdown? From testing in VC8 it seems like it's a list of global types and objects in most cases. Is that correct?

My implementation of intellisense like functionality and other Torsion features comes from my personal experience and a little testing of VS. If it's a feature i've never personally used (like Ctrl+Space) and/or not easily found in the GUI, i'll most likely not see it.
#9
03/16/2007 (12:51 pm)
@Scott - As far as your ActiveX plugin... if it works on Windows/Mac/Linux... then sure i'd love to look at it. ;)

Seriously... the reason this takes longer to do is because we've tried to maintain code that is cross-platform. I could have whipped up Torsion in a few months using 3rd-party controls and C#, but it wouldn't work on anything but Windows (and would have been a memory hog).
#10
03/16/2007 (4:39 pm)
I wasn't attacking torsion in any way just so that you know ;)

but to be honest, while cross platform is an obvious benefit, when working with the code on windows, in vs2005 (or any version) that the torque source is in and trying to use an intellisense that's different from that i've been working with all day, it starts to become an irritation, quickly spiralling into a fullblown scream-fest at my monitor just to get the thing working.. or it's just me..

no offense, but it feels bulky and clunky without some obvious niceties that i'd been using and had gotten used to..

missing commit members, the dropdown only comes up if i happen to match an existing member or object (which caused my scream fest ), which means i'm spending a lot of time in the help file for things that i really shouldn't have to be, thus flipping back n forth between the script and the help file become frustrating..

in addition, when typing something out and i happen to match, it pops up the window and if i hit the wrong button after that it simply cuts off what i was typing, forcing me to rewrite part of the line..

if MAC and linux are able to use COM/activex controls then yes, it'll work ;)

it's been my experience that visual cues can greatly enhance productivity, thus the whole reason for intellisense to begin with.. it should be something that flows with the code using standardized (or at the very least 'settable' keys and methodology) to ensure that it does not get in the way of the code..

anyway, if you're serious and want to see what i'm talking about, then send me an email and i'll send you a sample ;)

ctrl + space has been around for almost as long as i have.. even the vb4 and earlier..

btw, like i said to begin with, i'm not bashing torsion, hell, i own a copy of it, but you also need to understand your target consumers (developers) and the tools they already use ;)
#11
03/16/2007 (4:56 pm)
@Scott - Unless there is some other issues that you've not addressed in these posts, i'm sure i know what needs to be done. Torsion was written around my programming habits from 10+ years coding in VisualStudio. At times i don't catch some pet features that others have depended on... every coder works differently and i cannot read minds. If there is more that you think needs to be included submit a bug and i'll be glad to fix it.
#12
03/17/2007 (7:49 am)
You're right, i'm sure you'll program what we need.

the reason i posted here was because on the other site, it said to do so..

this isn't a bug, it's a feature request.. and i guess this is where i whip it out and say that i've been developing for 25+ years? like that's really relevant to this discussion?

point is, you'll need to be able to take criticism as well as the kudos, without throwing the sarcasm etc.. i was being sincere when i offered my help, there is no reason for you to be defensive..

btw, when did just dropping down the memberlist become a 'pet' feature? in *any* vs product? just because *you* might not have known about it or used it, does not mean that the rest of the world didn't use it...
#13
03/17/2007 (8:08 am)
@Scott - Chill out... i wasn't being sarcastic or defensive. If you interpreted it as that i apologize. Really... i'm all smiles over here. :)
#14
03/17/2007 (10:44 am)
If that's truly the case and it's all my interpretation, then i too apologize. if i am indeed the only one that was frustrated, then it's a non-issue. the frustrations i was feeling got into my post a bit too much, and for that i apologize as well.

might i suggest something? and again, i'm not trying to be overly critical here, however your responses made me feel like i was either crazy, or it was much more of a complicated issue that my poor mind would not be able to fathom, as well as the reference to 'pet' features that i was probably the only one using, combined with the length of time you've programmed and the fact that if it wasn't a bug, then it somehow didn't have merit..

the comment about activex and MAC/linux seemed very sarcastic..

in the future, wouldn't a better way to handle this have been something along the lines of 'what do you suggest?' or 'if you have code or something to check out, i'd be happy to look at it' kind of thing? or better yet, just ask folks?

anyway, this whole thing was simply a suggestion to let you or someone over there know that it felt funky to me.. if that's a bug report, then ok, i'll get right on it..

can't we just be friends?
#15
03/17/2007 (2:49 pm)
@Scott - No problem... your suggestion is heard loud and clear. The bug tracker isn't really just for bugs... a more accurate term is issue tracker, but old habits die hard. Anyway i'm glad to implement almost anything if its good for the overall product, the only limitation is i am only one programmer and i have to prioritize.
#16
03/26/2007 (11:33 am)
@Scott - You mentioned "ctrl + mousewheel text enlargement" ... does anyone really use that? I specifically disabled that feature because i would often trigger it by accident.

Anyone else use this?
#17
03/26/2007 (12:27 pm)
I do that in a number of other programs...mostly Microsoft products (Word, Excel, PP, etc)...ctrl + mouseWheel has become ingrained (to me, at least) to be a "zoom in/out" process...
#18
03/26/2007 (12:54 pm)
I have it enabled in mine simply to allow disabled folks to be able to enlarge text etc.. just make sure to check the font size, family, kerning etc etc to make sure the columns in your parser buffer don't get out of whack, but yes, i use it.. ;)

however, my main point was that as i type out a line of code, at any point i may have forgotten what a variable name was or the case sensitivity or what objects are available to me in scope.. at that point i need to be able to have it try to autocomplete a word (by ctrl + space) or have the ability to display the memberlist by the same key combination..

intellisense can become quite complicated depending how much is implemented and the rules that it uses to identify objects, keywords, scope keywords, argument seperators, line terminators, variables, whitespace etc etc as i'm finding out

Tom, the only reason that this is even an issue for me (or potentially others) is that the whole premise of your software is that it's a development ide, and with that comes expectations of any ide, intellisense, since it is expected to be used as such ;( (sorry to be so vocal about it before)

i mean, ultimately, one could just use a textbox with some limited syntax coloring and be done with it, but in this day and age, and again mebbe it's me, but i've gotten used to and rely on a decent intellisense to help not only format the code, but to a smaller degree, it can actually help debug the code a bit by providing visual clues as to scoping etc or things that can be fixed easily if something had just pointed it out to me ..

btw, i'm ecstatic that you've decided to take a look into this whole thing ;)
#19
03/26/2007 (1:00 pm)
I have it enabled in mine simply to allow disabled folks to be able to enlarge text etc.. just make sure to check the font size, family, kerning etc etc to make sure the columns in your parser buffer don't get out of whack, but yes, i use it.. ;)

however, my main point was that as i type out a line of code, at any point i may have forgotten what a variable name was or the case sensitivity or what objects are available to me in scope.. at that point i need to be able to have it try to autocomplete a word (by ctrl + space) or have the ability to display the memberlist by the same key combination..

intellisense can become quite complicated depending how much is implemented and the rules that it uses to identify objects, keywords, scope keywords, argument seperators, line terminators, variables, whitespace etc etc as i'm finding out

Tom, the only reason that this is even an issue for me (or potentially others) is that the whole premise of your software is that it's a development ide, and with that comes expectations of any ide, intellisense, since it is expected to be used as such ;( (sorry to be so vocal about it before)

i mean, ultimately, one could just use a textbox with some limited syntax coloring and be done with it, but in this day and age, and again mebbe it's me, but i've gotten used to and rely on a decent intellisense to help not only format the code, but to a smaller degree, it can actually help debug the code a bit by providing visual clues as to scoping etc or things that can be fixed easily if something had just pointed it out to me ..

btw, i'm ecstatic that you've decided to take a look into this whole thing ;)
#20
03/26/2007 (1:08 pm)
@Scott - I've read all your comments in this thread and i fully understand your issues and i am working to address what you've pointed out. You really don't need to spend time trying to further convince me of anything. ;)

I'll keep the ctrl+mouse disabled for the next 1.1 release, but i'll look to making it an option to toggle in the Torsion preferences in a future release.
Page «Previous 1 2