Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Work in Progress / CodeSurge -- DarkBASIC Professional IDE

Author
Message
hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 9th May 2006 18:59 Edited at: 21st Jun 2009 20:43
August 19, 2007:
Well, I've finally moved CodeSurge to version 1.0 status. You can find the newest version in the thread over in the program announcements, or by just clicking here That will take you to the most updated version. The updates in this thread are outdated, but are still available for download if you want to see the progress of this IDE.

June 23, 2007!
Download here.
This speeds up the lagging issues with intellisense and gives you basic printing support. This update fixes once and for all (I hope) the problem a few people were having with it crashing on startup.

May 24, 2007
Finally, the newest update is here. This addresses the need to rearrange compilation order of includes, fixed a cursor and icon bug, and hopefully makes the intellisense work much better. Give it a try, and let me know how it works.

Feb. 18, 2007
Main features are word wrapping and a recent projects menu. Also a few more bug fixes/performance tweaks.

Jan. 14, 2007:
Most noticeable fix is the bracket matching no longer slows way down on large source files. I also added a save on compile feature. See my latest update post for all the details.

October 23, 2006 update:
I finally got a little time to throw together another update for you all. This is mostly just bug fixes. I did add a feature for you to manually set the DBP install path if it can't find it in the registry.

August 13, 2006 update:
I've finally added tooltip parameters for all the DBP functions/commands, as well as your own functions. Also, context sensitive help has been added along with a few very minor bug fixes/tweaks. The IDE also correctly highlights errors(both compile time and runtime). Check my latest posts for all the details. Be prepared to be astounded.

Original post:
Good day to all. I've shown a few people my IDE over MSN, but I feel that it's worthy to be posted as a WIP now. I've been spending a lot of time on making it as absolutely rock solid and stable as I can, and there's still a lot of work to do in this area. I haven't noticed any major problems with it on my machine, so I figure it's time to give you guys the opportunity to test it out.

But before I babble on any more, you deserve a screenie of it compiling the open source FPS:


This is not nearly finished by any stretch of the imagination. I've almost gotten the basic functionality stable, and then I'm going to add in a few of what I consider necessary features. Currently, the main missing necessary features are search/replace and the ability to change the editor colors, but that shouldn't take me very long to implement. Give me another month or so, and I hope to have this up to a decent beta stage. The features I"m planning for it to have in addition to the absolute necessary features are:
* Tooltip parameters for functions (possibly even your own, not sure about it yet.
* Variable/function/label list
* Load project without opening all the included files. (Open them as you need them)
* Report the correct line that an error occurs on when it's in an included file
* Scan the stringtables of the 3rd party functions to get their keywords.

I have a list of some other features as well, but I'm not going to post about them until I get what I've shown here implemented and rock-solid.

My goal is to make a DBP IDE that is easy, powerful, fast, and above all rock solid. I'm attaching the latest build of the IDE, just extract the two files anywhere you like and try it out. It scans the registry to find the compiler, and if it can't find it, it will let you know, but you can still edit with it. If it starts up without any messages, it means that everything went well. So, give it a try and give me your criticisms, praise, complaints, or whatever.

Edit: While I've tried to make sure that everything is as stable as possible, I will not be held responsible if by your use or misuse of it you manage to kill your projects. So back them up first please.

CodeSurge
Version 1.0 finally released! Code your DBP projects in style. (And save the kittens!)

Attachments

Login to view attachments
Cash Curtis II
17
Years of Service
User Offline
Joined: 8th Apr 2005
Location: Corpus Christi Texas
Posted: 9th May 2006 19:28
It all looks very nice. It's fast, and appears to be stable.

Slight problem though - I can't introduce an error in any of the included files. I can introduce errors into the main file, but no code changes to the includes are even recognized. I'm guessing it compiles the saved version, not the version in the editor.

I bought Synergy, but this thing has a lot of potential. Like I said, it looks fast and stable.


Come see the WIP!
hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 9th May 2006 19:33
Yes, you are right, it compiles the saved version of the includes. It compiles what's on screen for the main source, but I haven't done it for the includes yet. Thanks for the comments.

Hawkeye
19
Years of Service
User Offline
Joined: 19th Sep 2003
Location: SC, USA
Posted: 9th May 2006 19:38
Mmmmm nice, I'm gonna try it


I am but mad north north-west; when the wind is southerly I know a hawk from a handsaw - Hamlet, Hamlet
Cash Curtis II
17
Years of Service
User Offline
Joined: 8th Apr 2005
Location: Corpus Christi Texas
Posted: 9th May 2006 19:40
I'll try it again when it's ready. I get the odd feeling from this editor that it could be suitable for actual use.


Come see the WIP!
Chris Franklin
17
Years of Service
User Offline
Joined: 2nd Aug 2005
Location: UK
Posted: 9th May 2006 20:05
Wow nice if you can get that to look like the defualt ide that would be awesome and tgc might use it as the offical one (Hopes)

Theme park simulator wip boards

Cryptoman
19
Years of Service
User Offline
Joined: 24th Nov 2003
Location: Utah Mountains
Posted: 9th May 2006 22:53
Looking nice, delphi is powerful. Good job with synedit. Hope to see a function browser at least in this nice IDE.


hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 10th May 2006 05:29
Quote: "I get the odd feeling from this editor that it could be suitable for actual use."

Lol, that's the whole point of this IDE. Currently, I can only think of 3 IDE's that can really be used -- the Default IDE, BlueIDE, and Synergy (still wondering about Synergy's stability though.) We've seen dozens of IDEs that get started, but not very many actually seem to get completed to a stage where they are at all useable. As far as is in my power, I'm going to make sure that this is a useable IDE with as little bloat as possible.

Quote: "Wow nice if you can get that to look like the defualt ide that would be awesome"

Not hard at all. It'll have options to change the background color and keyword coloring, so you can make it look however you like.

Quote: "Looking nice, delphi is powerful. Good job with synedit. Hope to see a function browser at least in this nice IDE."

Thanks for the comments, and yes, Delphi is the tool to use for this sort of project. Notice my list of features above -- it will have a function/label/variable browser. It'll also have a decent help browser as well, and hopefully context sensitive help if I can get it in without any major performance penalty.

Thanks for the good comments guys. I'm hoping that some of you with very large DBP projects will try this out to see how it works. I'll try to upload a new version tomorrow with a few added features and bug fixes.

Aaron Miller
16
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 10th May 2006 10:22
I've got a few suggestions...

1) You should have a tips menu pop-up by default at startup, with the "show tips/ dont show tips" checkbox.


2) Add the dbps default help menu settings at the top right of the toolbar. Or another one that might help.

3) You should add an insert code function, like my asm editor has, there you can insert chat systems, or the common keyboard walk code, an ability to automatically setup a window accordingly, etc.


Nice work! Downloaded it, very nice.

I have the BEST signature ever! I bet you cant guess what it is!
hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 10th May 2006 20:47
I updated the attachment in my first post with the latest version of the IDE. I added a very primitive search (no replace yet), fixed a few bugs, and also changed the IDE so that it only opens the main source of a project. I still haven't fixed the problem(if you think it is one) where it only compiles the saved version of includes instead of what's onscreen if you haven't saved your modifications. By the end of this week I plan to have the search/replace up to a good standard as well as the editor customization features in place so you don't have to live with my default colors.

Quote: "You should have a tips menu pop-up by default at startup, with the "show tips/ dont show tips" checkbox."

I really don't see the point of it, as I intend to have my IDE so stupidly simple that you won't need any of these "tips of the day" to figure it out.

Quote: "Add the dbps default help menu settings at the top right of the toolbar. Or another one that might help."

A good help system will be coming along shortly.
Quote: "You should add an insert code function, like my asm editor has, there you can insert chat systems, or the common keyboard walk code, an ability to automatically setup a window accordingly, etc."

I personally don't use these code library things that much, so this isn't real high on the priority list. If enough people think it's useful, then I'll add it.

Thanks so far for the good comments.

Cryptoman
19
Years of Service
User Offline
Joined: 24th Nov 2003
Location: Utah Mountains
Posted: 10th May 2006 21:40
That problem you speak of could be a problem for a newb. You should add an option to compile open includes or saved includes with open as default. I prefer open myself as it saves an extra step between changes.


Phaelax
DBPro Master
19
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 11th May 2006 06:47
I like the name.


hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 11th May 2006 19:51
Quote: "I like the name."

Great! Hopefully that's not all you like.
Has anyone tried this for a decent sized project yet?

Phaelax
DBPro Master
19
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 11th May 2006 22:20
I just tried it out, so far I like it. You're missing a few keywords though, like type/global/as/endtype/and all those data types.

Also, I have a suggestion. On my editor, I allowed for 2 different colors be used for comments. So "`" could grey something out, while "rem" could be another color for documenting.


hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 12th May 2006 20:44
Yes, I've noticed the missing keywords, and I'll soon have them added. Your suggestion on the comments sounds kinda neat. I'll see if I can make a feature for that.

As always, thanks for the comments people. Keep them coming.

Lukas W
19
Years of Service
User Offline
Joined: 5th Sep 2003
Location: Sweden
Posted: 12th May 2006 21:00 Edited at: 12th May 2006 21:01
this ide really rocks. i like the colour theme, and it's very easy to use.

what i would like to see added: (not sure if synedit support it though)

* show/hide parts of the code and instead display a [ ] thingie.
.. like: [+][Function makeCube()]
.. or: [+][Type tStats]

* in project explorer, a button "open all source files".

* a 3500 line project compiles in about 7 secounds, possible to optimize a bit?

and that's pretty much all i can think of right now. good work!

my forum - now partly finished
Sven B
17
Years of Service
User Offline
Joined: 5th Jan 2005
Location: Belgium
Posted: 13th May 2006 14:08
Quote: "a 3500 line project compiles in about 7 secounds, possible to optimize a bit?"


Isn't the compiling the work of DBP itself?

Quote: "* show/hide parts of the code and instead display a [ ] thingie.
.. like: [+][Function makeCube()]
.. or: [+][Type tStats]"


I agree!

It's the programmer's life:
Have a problem, solve the problem, and have a new problem to solve.
Lukas W
19
Years of Service
User Offline
Joined: 5th Sep 2003
Location: Sweden
Posted: 13th May 2006 15:08
Quote: "Isn't the compiling the work of DBP itself?"

maybe you are right, in dbc btw, when using the default ide a game might compile in 2 secounds, while in darkedit it compiles in 4-5 secounds. so i've allways thought it was the speed of the IDE that decided the speed of the compiling

I tried the same 3500 lines of code in the default dbpro ide, and it compiled in 9 seconds.

my forum - now partly finished
hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 13th May 2006 17:56
The IDE does take a second or two to collate all the source files into one, but the rest of the compile time is completely dependant on the compiler.
Quote: "I tried the same 3500 lines of code in the default dbpro ide, and it compiled in 9 seconds."

And you say it compiled in 7 seconds with mine? I don't think that's bad at all.

MikeS
Retired Moderator
19
Years of Service
User Offline
Joined: 2nd Dec 2002
Location: United States
Posted: 13th May 2006 22:42
Wow Hyrichter this is looking really nice, and very professional. A very clean design, something I always look for in IDEs. I'll be interested in trying this out once it's complete.



A book? I hate book. Book is stupid.
(Formerly Yellow)
Lukas W
19
Years of Service
User Offline
Joined: 5th Sep 2003
Location: Sweden
Posted: 17th May 2006 11:41
i just had another idea:

for labels/functions,
when ctrl+mouse1 over a label/function, it automatically jumps to the line of declaration of that label/function.

it could also work with constants/globals/locals/types/arrays etc.

(just like in delphi )

my forum - now partly finished
JulesD
17
Years of Service
User Offline
Joined: 7th Feb 2005
Location:
Posted: 17th May 2006 16:46 Edited at: 17th May 2006 16:47
When compiling with build type set to "Executable with media"
the media is not found. The folder and file name are together in the error message without the "\" in between them.
hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 17th May 2006 17:18
Quote: "when ctrl+mouse1 over a label/function, it automatically jumps to the line of declaration of that label/function."

That's an excellent idea, and I've actually thought of it before. It would certainly be a nice feature.

Quote: "When compiling with build type set to "Executable with media"
the media is not found. The folder and file name are together in the error message without the "\" in between them."

Thanks for pointing this out. I haven't really done any debugging with the different build types yet.

Thanks for the comments, and please keep them coming. I now have a good search system in place(not replace yet, though) and you can even use regular expressions for searching. I've also been fixing a few quirks with project includes being in a subfolder from the main source file. Hopefully I can get this fixed and have you guys an update.

hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 27th May 2006 03:45
Sorry for the long wait, everyone. I've been extremely busy, but I've found a few seconds of spare time to post the latest version that I have. Download the newest version from the first post. Features in this update include:

* Fully functional search/replace (with regular expression support as well)
* Scans the DBP keywords folder on startup to get the list of keywords so your 3rd party keywords should highlight properly
* By request of Cash Curtis II, it now compiles the source code of whatever's opened and not the saved file. (If the include file isn't opened, it compiles the saved source.)
* Including, removing media files works now. Fixed the bug with compiling the media into the exe.

There were also a few bug fixes (can't remember right now what they were, lol.) Still to do:
* Let you change the editor colors, options, etc.
* Help system (context sensitive help, etc.)
* Function parameter tips (as a tooltip or in the status bar at the bottom)
* Variable, function, and label browsers

And some of the ideas you guys(and possibly gals) suggested. Let me know what you think of it so far, and remember to have fun.

Diggsey
16
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 28th May 2006 01:49
Sounds good! But I don't have DBP

There are three types of people, those that can count and those that can't.
Olby
19
Years of Service
User Offline
Joined: 21st Aug 2003
Location:
Posted: 28th May 2006 15:18
Quote: "* Function parameter tips (as a tooltip or in the status bar at the bottom)"


You better use tooltip help like in other professional ides its easier to look at them rather then at the status bar on the bottom of the screen!

Anyways looks like a very nice IDE you got there!

"Error at line 0 - Your game sucks. Try again loser..." (Cash Curtis II)
AMD Sempron 3.1+ Ghz, 512MB Ram, ATI R9550 256MB Ram, Sound Blaster Live!, WinXP SP2, DirectX 9.0c
hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 29th May 2006 18:02
Quote: "Sounds good! But I don't have DBP"

You can still use this IDE even if you don't have DBP. You probably won't get any keyword highlighting, and you won't be able to compile anything, but you can still use it as a general text editor. Once I get all the DBP stuff done, I'll see if it's feasible to support DBC with it.

Quote: "You better use tooltip help"

I definitely prefer tooltip help myself. It's just if it takes me too long to figure out a good system for tooltip help, I might have to resort to using the status bar. Hopefully, I can get some more time to work on this and have another update by the weekend with a good help system.

Freddy 007
18
Years of Service
User Offline
Joined: 30th Nov 2004
Location: Denmark
Posted: 29th May 2006 19:04
First of all, will this be free? I'm not sure whether you've mentioned that already or not. Because this sure does look interesting! When it's done, I'm pretty sure I will use this instead of the official IDE. I can't see any reason not to!

But it doesn't highlight anything except for the standard commands here. I thought it was supposed to scan the keywords folder and highlight anything it found there? Oh, and I feel stupid when I keep pressing F5 and nothing happens!

Apart from that, it's looking really good!

hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 29th May 2006 19:18
I just realized that when I edited the top message, it didn't upload the new version of the IDE. When I'm home, I'll upload the latest version I have.

Half of me wants this to be free, but the other half says that it shouldn't. Right now it's free, so have fun with it.

Thanks for the comments so far.

hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 29th May 2006 20:48
OK, here's the proper update, and I believe that now the keywords are highlighting properly for 3rd party commands. See what bugs and problems you can find.

Attachments

Login to view attachments
Freddy 007
18
Years of Service
User Offline
Joined: 30th Nov 2004
Location: Denmark
Posted: 30th May 2006 22:45
Keywords seem to work now.

But I still feel something is missing when I press F5...

jharbour
16
Years of Service
User Offline
Joined: 27th Apr 2006
Location:
Posted: 17th Jun 2006 21:18
This would be a nice IDE if it did more than just open up an existing project. There is no way to add new files, or add existing files, to the project. The Save As... option only allows you to save the project file, not the source file. The project manager can't be re-opened if you close it. There is no code insight, which a beginner needs. I'm loathe to open up DBP to add new files to the project, fearing it will hose the .dbpro file in the process.

We truly are up the creek without a paddle when it comes to writing DBP code. It's a shame, because this IDE problem ruins the whole impression of DarkBasic and there are no decent alternatives.

Jonathan Harbour
www.jharbour.com
Glenn Carter
17
Years of Service
User Offline
Joined: 20th Mar 2005
Location: United Kingdom
Posted: 19th Jun 2006 15:10
Looking good. I hope you are going to see this through, as this is looking like the first worthwhile IDE I've seen for DBPro in some time.

I would be prepared to use this, if it was in a more finished state.

Please finish this - DBP desperately needs a decent IDE, although, I appreciate that writing an IDE is a lot more hassle and work than anyone thinks its going to be...


Specific Comments:

It seems stable, although, half the features needed are missing right at the moment, so its difficult to do a full test.

F1 help and access to DBP help files are a must!


Until you've done more there not much more to say, sorry.

Glenn Carter
hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 19th Jun 2006 19:20 Edited at: 19th Jun 2006 19:28
jharbour,
I'm not sure if you downloaded the latest version I uploaded here, but you can add and remove files from the project quite easily. Create a new source file, and when you're ready for it to be part of your project, click on project->Add File to Project. I admit it's still a little clumsy right now, but it is there.

Quote: "The Save As... option only allows you to save the project file, not the source file. "

Make sure you didn't click "Save Project As" instead of "Save As." Last I tested it, you could save the file or project as a different filename without any problems. Of course, I could have easily overlooked something. I just noticed that it doesn't update the dbpro project if you save it as a different name, so thanks for pointing this out.

As for the dockable windows....Yes I realize there's no way to get them back if you close them. Thanks for reminding me about this, as it's only a 5 minute job to put in some menu options to view/hide them.

I've got an update with a help browser (somewhat primitive right now), function browser, and a bunch of bug fixes that I hope to have ready either tonight or tomorrow morning.
Quote: "I appreciate that writing an IDE is a lot more hassle and work than anyone thinks its going to be...
"

Absolutely correct there. But it's been an excellent learning experience for me.

Quote: "It seems stable, although, half the features needed are missing right at the moment, so its difficult to do a full test."

That's why it's in WIP instead of Program Announcements.


Edit: jharbour, are you the guy that wrote the Beginner's Guide to DarkBASIC? The name sounds very familiar.

hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 21st Jun 2006 08:31 Edited at: 21st Jun 2006 08:39
Ok, I said I'd give you an update Monday or Tuesday, and it's still Tuesday where I am. (11:30 p.m) First a screenshot:


The main feature of this update is the code explorer. This is what's been taking me so long, but it's quite functional now. It has a few quirks with functions that are inside of a remstart/remend comment block and it doesn't do well with multiple functions on a single line...(Although who in their right mind would do such a thing other than for the 20 line contest....) I haven't done as much extensive testing as I did on the previous releases, so you guys will probably find lots of little quirks, etc. with it. I'm going to be using it some more for my own DBP project, so that should help me find any bugs and add features.

Ok, now what is new in this version?
Function/Label Browser
Help Browser
The "Add New File" and "Add Existing File" to project options now work.
You can restore the dockable windows if you close them.
A bunch of bug fixes and tweaks that I'm too tired to remember right now.

Still to do:
Code insight (please be patient on this one)
Function insight (again, be patient)
Context sensitive help
Remember your layout
Customize editor colors
Improved Help Browser
Highlight the proper line when an error occurs in an included file.

That's the main stuff I'm focusing on right now. You have to be patient with me. I don't have a lot of time to work on this, but I believe that good performance is better than a good excuse. So download, play with it, curse at it, praise it, etc. Keep the good ideas coming.


Good performance is better than a good excuse.
CodeSurge -- DBP Editor for serious programmers.

Attachments

Login to view attachments
hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 21st Jun 2006 08:34 Edited at: 21st Jun 2006 08:40
Sorry for the triple post, but I suppose you do want a download.
All you need do do is extract the exe wherever you want and run it. It can find everything else out from your registry. Have fun.

Good performance is better than a good excuse.
CodeSurge -- DBP Editor for serious programmers.

Attachments

Login to view attachments
Lukas W
19
Years of Service
User Offline
Joined: 5th Sep 2003
Location: Sweden
Posted: 21st Jun 2006 15:00
will you add the [ctrl]+[mouse click] over a label call / function call etc. and it takes you to the origin of that label/function/type etc.?

that is one of the more usefull stuff i'm interested in at the moment

great update btw, i will download and try it out when i get home today.

hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 21st Jun 2006 18:41
Quote: "will you add the [ctrl]+[mouse click] over a label call / function call etc. and it takes you to the origin of that label/function/type etc.?"

That's definitely on the list of features, but I don't know how soon it will make it into the iDE. I'm sure you realize that will be a little tricky, but it will be a great feature to have. The Delphi IDE has given me lots of ideas for this IDE. This feature will probably come along about the same time as Function Insight.

Good performance is better than a good excuse.
CodeSurge -- DBP Editor for serious programmers.
Bob da reaper
16
Years of Service
User Offline
Joined: 25th Mar 2006
Location:
Posted: 21st Jun 2006 18:51 Edited at: 21st Jun 2006 18:52
i'm going to use this alot for my new project, i think you should make it tabbed browsing, although the project explorer is good enough

I pwn n00bs - current project "Darkness Falls"
hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 21st Jun 2006 19:09
Quote: "i think you should make it tabbed browsing"

It IS tabbed browsing. Look at the first screenshot. The Project Explorer just lists all the source files and media files. The tabs are just for the ones you want to work on righ then.

Good performance is better than a good excuse.
CodeSurge -- DBP Editor for serious programmers.
Diggsey
16
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 21st Jun 2006 20:57
Would it be possible to have step through debugging?
Where you can see the values of variables when you hover the cursor over them.

There are three types of people, those that can count and those that can't.
hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 22nd Jun 2006 18:09
While that would be totally awesome, I don't think it would be possible for me to do that right now. First, I have no idea where to begin on such a task. Secondly, even if I did, I would need to know how to access the memory that the DBP program is currently using and work out how to get the values from it, etc.

Just use the built-in DBP debugger for now, please. Maybe when I get the IDE really polished, I can contact TGC about what would need to be done about writing a third party debugger.

Good performance is better than a good excuse.
CodeSurge -- DBP Editor for serious programmers.
Hamish McHaggis
19
Years of Service
User Offline
Joined: 13th Dec 2002
Location: Modgnik Detinu
Posted: 24th Jun 2006 20:31
Hyrichter, this looks like a pretty decent editor, I'll download this later and give it a go.

What would be similar to what diggsey suggested, is like in the Delphi editor, where you hover variables and functions, and it tells you their data type, parameters and such. Although the problem with this sort of thing it it'd need to be designed very well, with Blue GUI it slows down unbelievably when it's having to compile all the debug data, I just ended up turning it off.


Join the BlackOut Forum Today
hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 24th Jun 2006 21:15
I'm very much aware of how debugging in Delphi is. As I said, it would be uber nice, but I have no idea where to begin on such a project.
Quote: "with Blue GUI it slows down unbelievably when it's having to compile all the debug data, I just ended up turning it off."

Don't all the IDEs out there (for DBP) just use the DBP debugger? So I would think it's more the DBP debugger's fault for going slow rather than the IDE.

I've started working on the very most important feature. This is of course to report the CORRECT line number when an error occurs in an included file. Hopefully I can have it perfected by tomorrow and have another update for you all.

Good performance is better than a good excuse.
CodeSurge -- DBP Editor for serious programmers.
Hamish McHaggis
19
Years of Service
User Offline
Joined: 13th Dec 2002
Location: Modgnik Detinu
Posted: 25th Jun 2006 15:22 Edited at: 25th Jun 2006 15:50
Quote: "Don't all the IDEs out there (for DBP) just use the DBP debugger? So I would think it's more the DBP debugger's fault for going slow rather than the IDE."


By debug data I meant when an IDE parses the code to compile a list of variables, functions, types etc. Blue IDE seems to do this on every mouse press almost and so slows down immensely with large source codes. I was referring to where Delphi shows all the variable info when you hover it, not actual run-time debugging information. The former would be a lot simpler, as you wouldn't have to go anywhere near DBPro stuff, although some work would still have to be done, and it is a rather non-essential feature.

I don't know if you have thought about making this IDE open source, like Blue IDE is, once you have finished development. There are certainly many advantages to be had by taking this route, although of course you have to think about the disadvantages as well.

EDIT

I've just downloaded the latest version, and seems very clean, fast and simple. Some things to note are:

- Right click menu doesn't exist.
- Clicking the Project Explorer in the view menu tiles the windows sideways for some reason.
- Once the various windows are closed, they cannot be opened again by clicking on the view menu items.
- Compile menu should have a "Run only" option.
- Project name in Explorer seems to be one letter behind name in manager when changing project name.
- An "open project folder" button would be welcome .
- While compiling, the total number of lines should be shown.
- In the code explorer, code inside remstart-remend brackets is shown as labels or functions.
- A couple of times after compiling I find that I cannot bring the editor to the front by clicking on the start bar icon.


Join the BlackOut Forum Today
hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 26th Jun 2006 02:13
Yes, yes, YES!!! I finally got it working! I hope you'll be excited as me when you try this next update. It now will jump to the correct line number that an error occured on (opening the file if necessary) and highlight the offending line.

I also fixed a minor bug where the code explorer would flicker if you had more functions than could be shown on the screen at once. Also, I fixed the Project Explorer so it alphabetizes the list of includes when the project is loaded instead of when you click on the treeview.

Quote: " - Compile menu should have a "Run only" option."

It does now (F6)
Quote: " - In the code explorer, code inside remstart-remend brackets is shown as labels or functions."

Yes, I know. I'm working on this.

Most of your problems and suggestions I'm aware of, so please be patient.

Anyway, try it out! (Please) Let me know of any more suggestions, errors, etc.

Quote: "By debug data I meant when an IDE parses the code to compile a list of variables, functions, types etc. Blue IDE seems to do this on every mouse press almost and so slows down immensely with large source codes. I was referring to where Delphi shows all the variable info when you hover it, not actual run-time debugging information."

I see now. I'm looking into making all the function/label/variable/etc. parsing multithreaded. Right now it isn't, so I've just put "application.processMessages" commands in the loops that parse out the functions and labels.

Good performance is better than a good excuse.
CodeSurge -- DBP Editor for serious programmers.

Attachments

Login to view attachments
Tartopom
18
Years of Service
User Offline
Joined: 27th Jun 2004
Location:
Posted: 26th Jun 2006 14:19
Hello,

First I would like to say this is a very nice work, very fast and stable, much much better than synergy IDE.

Just two things :

* When an error has occured in include file, one of my project file is replaced by this one.

* The line number is still not working for me

But anyway, thanks
hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 26th Jun 2006 15:18 Edited at: 26th Jun 2006 21:44
Does your project have the includes in a subfolder? (project folder\includes or something similar.) I thought I had it working properly with those, but I just tried it out, and it's rather buggy to say the least.

I also only tested this with one included file, so it may be getting the line numbers off a little with each file. I'm off to do some major testing and let you know what happens.

Edit: Ok, here's an update that should now really get the correct line number (well, as far as the compiler actually reports the correct line.) The problem was that I was calculating one extra line per include. Not much of a problem if the error occurs in your second or third include, but if you have 30 or 40 includes, it could really throw you off. Anyhoo, I believe I've got it working correctly now. I created a test project with several includes, and it seemed to work just fine.

I think I've also fixed the includes in subfolders problem it was having, so if anyone has a project with this layout, please test it (backup your project first of course) and let me know what happens. I also fixed the bug where it asks if you want to save your file when closing a tab even if the file is saved.

My next step is to get it to remember your layout preferences and to let you customize the editor colors. Have fun until then.

Good performance is better than a good excuse.
CodeSurge -- DBP Editor for serious programmers.

Attachments

Login to view attachments
Hamish McHaggis
19
Years of Service
User Offline
Joined: 13th Dec 2002
Location: Modgnik Detinu
Posted: 26th Jun 2006 16:56 Edited at: 26th Jun 2006 16:57
Quote: "I see now. I'm looking into making all the function/label/variable/etc. parsing multithreaded. Right now it isn't, so I've just put "application.processMessages" commands in the loops that parse out the functions and labels."


Well your IDE doesn't noticably slow down, maybe Blue IDE had some inefficient parsing routines, or maybe it scanned the whole project rather than one file.

I tested with BlackOut and with FreshGUI as test projects, the correct line appears to be highlighted for FreshGUI (two source codes), but for BlackOut I changed a function call so the function name didn't exist, and it reported an error at a line that didn't exist. As a result no line was highlighted. Maybe this was the compilers fault? I tested some other errors and some didn't work. Here are a few error reports:

- Changed the line in character.dba in Type_PersonAnim "backward as Type_Anim" to "backward as Type_Anims", or some other non-existant type, and got the error highlighted two lines ahead of this line ("right as Type_Anim").
- Change line 71 in text.dba to "delete image sprite image(G_FontSprjfhdite(x))". It highlighted line 94.

Some things to note again:

- The line highlighted from the last error found is highlighted again if a project successfully compiles (even if you have switched projects since the error).
- The IDE needs a "Find in files" function, which could also possibly call for an output window similar to Delphi's at the bottom of the screen.
- I also think an output window as mentioned above would be good, so that the error message isn't lost as soon as you close the error dialog. It would also be good if such a thing is implimented, if you double click the error message, it jumps to the correct line.
- Need some way to open all the source files (maybe right click on "Source files" in the project explorer).
- I'd like to be able to browse the project/make changes while it is compiling. Could you make this possible?
- Cancelling a compilation results in the exe attempting to run anyway (and failing, you have to ctrl-alt-delete). This seems to cause a major slow down of everything. I tried to compile a few times after that and eventually the compile dialog box got stuck on line 772 and refused to close until I manually went and ended 3 occurences of DBPCompiler.exe, which resulted in the last successful compilation running anyway :S.
- #constant isn't highlighted.
- Closing source code windows doesn't result in the source code that is tabbed actually being open. This causes some problems when compiling as the compiler actually uses the code that is open as the code that is tabbed.
- Dragging the scroll bar up and down, with the mouse hovering over the code sometimes results in the code being drag-selected. Probably shouldn't happen.


Join the BlackOut Forum Today
hyrichter
18
Years of Service
User Offline
Joined: 15th Feb 2004
Location: Arizona
Posted: 26th Jun 2006 17:37 Edited at: 26th Jun 2006 18:33
Hamish, did you try the version I uploaded in my last post? The one before that had a bug where it calculated an extra line for each include, so the farther down your project the error occured, the farther off the error reporting would be.

Quote: "The line highlighted from the last error found is highlighted again if a project successfully compiles (even if you have switched projects since the error)."

Thanks for pointing this out. I fixed this last build so that all you have to do is click the editor and it clears the highlighting. I haven't tested what you just mentioned though.
Quote: "The IDE needs a "Find in files" function, which could also possibly call for an output window similar to Delphi's at the bottom of the screen."

Should be coming shortly.
Quote: "I also think an output window as mentioned above would be good, so that the error message isn't lost as soon as you close the error dialog. It would also be good if such a thing is implimented, if you double click the error message, it jumps to the correct line."

Unless I'm doing something terribly wrong, the compiler stops compiling as soon as it hits the first error and won't bother to find any more errors. The output window is a good idea though.
Quote: "Need some way to open all the source files (maybe right click on "Source files" in the project explorer)."

Thanks for reminding me. It's such a simple thing to do that I keep forgetting about it.
Quote: "I'd like to be able to browse the project/make changes while it is compiling. Could you make this possible?"

It certainly is possible. I've been so used to Delphi's instant compile times that I never even thought about this (It compiles over 40000 lines in about 2 seconds). It makes sense when you're waiting 10 minutes for something to compile in DBP. (Please, Lee, can we have a faster DBP compiler?)
Quote: "Cancelling a compilation results in the exe attempting to run anyway (and failing, you have to ctrl-alt-delete)."

Yikes! I'll look into that and see what's going on. Thanks for pointing that one out.
Quote: "Closing source code windows doesn't result in the source code that is tabbed actually being open. This causes some problems when compiling as the compiler actually uses the code that is open as the code that is tabbed."

See the last update I posted. I hope I got it fixed. If not, just don't use the "x" button on the tabs to close them. Use the Form's close button instead. I won't leave it unfixed for long if it's still broken though.
Quote: "Dragging the scroll bar up and down, with the mouse hovering over the code sometimes results in the code being drag-selected. Probably shouldn't happen.
"

Hmm, I don't understand what's happening there. Can you give more details on it? All the scrolling I've tried seems to work fine.

Thanks for all the comments. I really do appreciate them as most of these things I probably wouldn't have figured out on my own for quite a time.


Edit:
Arghhh, scratch what I said about the correct line number being reported. It's still getting it way off on a large project.

Edit2:
Actually, looking closer, it's the compiler reporting the wrong error line. Arghhhh!!!

Good performance is better than a good excuse.
CodeSurge -- DBP Editor for serious programmers.

Login to post a reply

Server time is: 2022-12-01 11:14:51
Your offset time is: 2022-12-01 11:14:51