Torque IDE
by Sam Bacsa · in Torque Game Engine · 07/18/2005 (5:12 am) · 75 replies
So I bought Torque a while back, then bought TSE, and I've found myself growing increasingly frustrated due to the severe lack of GUI available in Torque.
I've set out to design an IDE which I will gladly make available to everyone (free of charge, obviously) if people are interested. I am posting this here because I'd like some feedback from you guys ... as in, what would you like to see in an IDE? Would an IDE make your lives easier?
Here are some screenshots that I whipped together really fast, of what I have currently. Click on the thumbnails for a larger view.

This is the main interface. You can see the project explorer on the left, a rudimentary toolbar at the top, open file listing at the bottom, and the editor in the center. The editor is currently displaying an on-demand helper tip, which can be obtained whenever you press CTRL+SHIFT+SPACE, just like in visual studio. It will display help for the current function, so long as you're in its parentheses or right next to them.

Identifier tokens can also be moused-over to get brief information in a nice tooltip.

You can right-click on any identifier and have the editor take you straight to the definition of the function (so long as it's user-defined. Built-in functions can't be jumped to, of course).

Here's a view of the project explorer and the file properties dialog (which can be obtained by right-clicking on a file and selecting properties). The project system in the IDE is all "virtual". In other words, directories aren't really there, and files can take on different names from what they really are. You can even have two files of the same name if you wanted to. The paths are also all relative allow you to easily ZIP up your project definitions and distribute them if necessary, without breaking the links. Files can be dragged & dropped into individual folders. Deleting a file from the list won't delete it completely.

Custom functions have their own special tooltips on mouseover and quickinfo.

There is also a useful export feature for exporting formatted source code to either RTF or HTML.

Here's an exported block of code formatted to HTML.
Now that you've seen most of the features of this IDE, is there anything you'd like to see specifically? Please let me know and I'll do my best to code it in.
I'm already planning to have auto-complete for built-in events, interfacing with the Torque debugger, and other minor UI changes.
Let me know :)
Update :: July 19th

Added intellisense support and tidied-up the sidebar interface.
I've set out to design an IDE which I will gladly make available to everyone (free of charge, obviously) if people are interested. I am posting this here because I'd like some feedback from you guys ... as in, what would you like to see in an IDE? Would an IDE make your lives easier?
Here are some screenshots that I whipped together really fast, of what I have currently. Click on the thumbnails for a larger view.
This is the main interface. You can see the project explorer on the left, a rudimentary toolbar at the top, open file listing at the bottom, and the editor in the center. The editor is currently displaying an on-demand helper tip, which can be obtained whenever you press CTRL+SHIFT+SPACE, just like in visual studio. It will display help for the current function, so long as you're in its parentheses or right next to them.
Identifier tokens can also be moused-over to get brief information in a nice tooltip.
You can right-click on any identifier and have the editor take you straight to the definition of the function (so long as it's user-defined. Built-in functions can't be jumped to, of course).
Here's a view of the project explorer and the file properties dialog (which can be obtained by right-clicking on a file and selecting properties). The project system in the IDE is all "virtual". In other words, directories aren't really there, and files can take on different names from what they really are. You can even have two files of the same name if you wanted to. The paths are also all relative allow you to easily ZIP up your project definitions and distribute them if necessary, without breaking the links. Files can be dragged & dropped into individual folders. Deleting a file from the list won't delete it completely.
Custom functions have their own special tooltips on mouseover and quickinfo.
There is also a useful export feature for exporting formatted source code to either RTF or HTML.
Here's an exported block of code formatted to HTML.
Now that you've seen most of the features of this IDE, is there anything you'd like to see specifically? Please let me know and I'll do my best to code it in.
I'm already planning to have auto-complete for built-in events, interfacing with the Torque debugger, and other minor UI changes.
Let me know :)
Update :: July 19th
Added intellisense support and tidied-up the sidebar interface.
About the author
#62
This might fix your problem.
B--
07/27/2005 (1:37 pm)
Steven: Also check that you set the bool value of dbgSetParameters to true. Here is an example of the first line of the main.cs located in the example folder.dbgSetParameters(6060, "myPassword", true);
This might fix your problem.
B--
#63
@Brandon: Still don't work.
I also try to run debugging using Torsion IDE and it works without any problem. This error occur when I trace into the code for a while, any clue for this? Thanks.
Steven
07/28/2005 (7:22 am)
@Sam: Already use the resource. @Brandon: Still don't work.
I also try to run debugging using Torsion IDE and it works without any problem. This error occur when I trace into the code for a while, any clue for this? Thanks.
Steven
#64
Could you e-mail the entire exception output to me? (Click the "More" button or something and cut&paste that textbox).
My e-mail is in my profile.
Thanks!
07/28/2005 (8:09 am)
@Steven:Could you e-mail the entire exception output to me? (Click the "More" button or something and cut&paste that textbox).
My e-mail is in my profile.
Thanks!
#66
For example:

... and mouseover on the variable:

This is the best solution I can think of for autocomplete. It's actually quite useful.
07/29/2005 (4:52 pm)
I'm about to release the second beta. This is going to be the final beta before the actual release. I've added the complete object list into the system, which allows for variables to be set as a certain "type" so auto-complete functions on them appropriately.For example:

... and mouseover on the variable:

This is the best solution I can think of for autocomplete. It's actually quite useful.
#68
07/29/2005 (7:51 pm)
Looks cool... maybe I should stop using Tribal IDE and try an updated app for once :-\
#69
Just download the new beta and found that the dot complete function not work yet, do I miss something?
Also I'm wondering if the autocomplete will recognize the local %this variable and detect what class is it?
When I mouse over the class and the function info will show up, so it's possible to autocomplete the %this function, right?
BTW. Just test the auto-detect modified files outside and the functon still missing.
EDIT: it works after remove the space between the comment // and __decl.
07/30/2005 (1:14 am)
@Sam:Just download the new beta and found that the dot complete function not work yet, do I miss something?
Also I'm wondering if the autocomplete will recognize the local %this variable and detect what class is it?
When I mouse over the class and the function info will show up, so it's possible to autocomplete the %this function, right?
BTW. Just test the auto-detect modified files outside and the functon still missing.
EDIT: it works after remove the space between the comment // and __decl.
#70
It's possible to auto-complete any variable, so long as you tell it what object it is. Since TorqueScript is a dynamically-typed language, it's impossible for the IDE to "detect" what type a variable is without you specifically saying... hence my //__decl option.
And yes, you can't have a space between // and __decl, since //__ is the official "TorqueDev specialfunctionomatic(tm)" prefix :-P
Auto-detect for modified files only works for files currently in your project root directory, not all open files. I can fix this, but I don't know how much resources such a fix may take up (spawning a separate FileSystemWatcher for each file opened). I'll dabble with it and go from there.
07/30/2005 (6:19 pm)
Hey Steven,It's possible to auto-complete any variable, so long as you tell it what object it is. Since TorqueScript is a dynamically-typed language, it's impossible for the IDE to "detect" what type a variable is without you specifically saying... hence my //__decl option.
And yes, you can't have a space between // and __decl, since //__ is the official "TorqueDev specialfunctionomatic(tm)" prefix :-P
Auto-detect for modified files only works for files currently in your project root directory, not all open files. I can fix this, but I don't know how much resources such a fix may take up (spawning a separate FileSystemWatcher for each file opened). I'll dabble with it and go from there.
#71
aslo, is it just me, or is the project file search feature not working yet?
07/30/2005 (7:35 pm)
Do you all think it should detect .mis files by default?aslo, is it just me, or is the project file search feature not working yet?
#72
Understood. Finally has someone done this for us, congratulations!
BTW I still need to figure out why the odd "Error, no last element of zero sized array!" message always show up in the middle of my debugging, quite annoying!
07/31/2005 (1:25 am)
@Sam:Understood. Finally has someone done this for us, congratulations!
BTW I still need to figure out why the odd "Error, no last element of zero sized array!" message always show up in the middle of my debugging, quite annoying!
#73
That error, from the screenshots you sent me, appears to be a Torque engine error. You may want to post those shots in the Engine forum and see if anyone might know the cause.
You might also want to make sure the Enhanced TelnetDebugger is installed correctly. I know Tom made some enhancements to eval that may have broken it.
I found that if I don't merge his changes to the main.cc file, I don't have any problems. The catch is you won't be able to step through your base main.cs file, but I have no code in there I want to debug anyway, so I'm fine without it.
07/31/2005 (4:13 am)
@Steven:That error, from the screenshots you sent me, appears to be a Torque engine error. You may want to post those shots in the Engine forum and see if anyone might know the cause.
You might also want to make sure the Enhanced TelnetDebugger is installed correctly. I know Tom made some enhancements to eval that may have broken it.
I found that if I don't merge his changes to the main.cc file, I don't have any problems. The catch is you won't be able to step through your base main.cs file, but I have no code in there I want to debug anyway, so I'm fine without it.
#74
07/31/2005 (7:28 am)
@Steven: I got the same error message.
#75
07/31/2005 (8:34 am)
I've post this message on the engine forum and on the Enhanced TelnetDebugger resource froum maybe tom or GG guys will comment on this problem.
Associate Sam Bacsa
Please remember to use the Enhanced Telnet Debugger resource. A link is available in my post above to Joachim.