• Welcome to Powerbasic Museum 2020-B.
 

News:

Forum in repository mode. No new members allowed.

Main Menu

Konstruct Code Editor - Freeware

Started by Daren Oliver, January 17, 2011, 11:26:20 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Daren Oliver

This is my own personal PB code editor for PBWin. It doesn't have a help file but it shouldn't be too difficult to figure out how it works. There are a few quirks that may throw you initially and the way I've done certain things may seem odd but I have good reasons for doing what I have done.

This initial release is considered Beta due to the fact that I have made quite a few changes to get it to the point where I was happy to release it and I may have introduced some new bugs in the process. Also be aware that I've only really ever used it on XP so dont be surprised if it falls flat on its face under other OS's.

Heres a few tips...

Create a dedicated Konstruct project folder and be sure to set it under 'Enviroment' in the Options dialog. It will save you having to type in paths and navigation will be quicker as it will default to this folder.

The OutputDebugString API will send text to the Debug window.

Ctrl + Space will show\hide the panes. Useful for small monitors\laptops.

Regards,
Daren

Corrupted file replaced - 16th Aug 2011

Theo Gottwald

#1
Daren, thanks for sharing your Editor.
It looks great!

Can we place a wishlist here below?
Making it free has the advantage for you that you get testers and comments aboiut your tool.

Let me say that like, that this Editor is definitely "project-Oriented".
You always start " as a project".

Also i have seen that there is an (yet empty) folder for the PB 10 Keywordlist.
Means that you will adapt it to PB 10 when its out - a good idea!

I have some suggestions / wishes on a first look:
- In the project settings beeing able to override the standard API-Path (so you can choose on project base if you prefer Jose's API or choose the PB-API files).
- Support for Drag and Drop (VB-like) to add files to the project.
- A additional Menüpoint: Open Project-Folder in the Explorer.
- add a "Project Global Search and Replace"

Daren Oliver

Theo,

Re your suggestions...

QuoteIn the project settings beeing able to override the standard API-Path (so you can choose on project base if you prefer Jose's API or choose the PB-API files).
There are currently 5 compiler slots in the Options Dialog. The reason for this is to enable you to set different compiler configurations, even for the same compiler. I've added a pic at the bottom to clarify what I mean. You can freely switch the active compiler configuration from one to another at any point and the effect will be immediate.


QuoteSupport for Drag and Drop (VB-like) to add files to the project.
I've not investigated this yet but I don't think it will be difficult to implement.


QuoteA additional Menüpoint: Open Project-Folder in the Explorer.
Ok, easy enough. You can currently open the project folder by selecting the .KCP item in the treeview and hitting the "Open Containing Folder" button.


Quoteadd a Project Global Search and Replace
I came to your house last night while you were sleeping and added this feature. Look again!


A quick note about your comment regarding it being "Project-Oriented". I tend to work on projects that last for weeks or even months so this suits me fine but I did have comments in the past saying that it's not very friendly if you just want to run a quick test on some code that you dont initially intend to keep, maybe a forum post or whatever, because you have to clean up the files and folders that a new project generates. This is no longer the case, read the following statement carefully...

If you start a new project from the New Project Dialog and never save the project at any point (either from the menu or the toolbar), and answer 'No' when you are asked to save before closing the project, then the project folder and all sub folders and files will be moved to the recycle bin. This does not apply to a project that is loaded by any other means.

So basically, this means that if you started a new project and didnt save the project, you didn't save anything! I will be adding a checkbox to the Options Dialog to enable\disable this feature that will default to Disabled and I will also add a message box to warn the user when this is about to happen.

Regards,
Daren

Daren Oliver

I was asked how to use Folding Rem statements.

Theo Gottwald

#4
Quote. I tend to work on projects that last for weeks or even months so this suits me fine

Thats the way "How to make a good tool better".
Let's do it with your Editor also. Don't be in a hurry.

Take time, improve it step-by-step. As it is, you see that it got quite >30 fans on the first day!

Good to know that its made for "Project People" like us.
Good that it supports several different compiler configurations.
Thinking about it, there are a lot of interesting future Chances to expand it for TEAMWORK.
Something that is actually a bit thin with PowerBasic (locking files from a workplace).

I do not think you should invest time to get in competition with those "Quick-Start Editors" like the PB Editor.
For just quickly compiling something these editors are fine and maybe unbeatable.
Let them be and concentrate on the strength of this one: to be project-oriented.

Expand it direction "Team-Work", "Version Control","Team-Messaging","ToDo-List","Project-Delegation".
We need several Editors for different niches in which PB can be used.
That looks to me like the diection to have expansion in long term.
I's even thinkable to make the Freeware limited to 5 Seats and then make a commercial version for larger companies.

And keep the VB Feeling.

Eros Olmi

As far as I can see, Konstruct works fine under Windows 7 64 bit.

My curiosity: what language do you use to develop Konstruct?

Regards
Eros
thinBasic Script Interpreter - www.thinbasic.com | www.thinbasic.com/community
Win7Pro 64bit - 8GB Ram - Intel i7 M620 2.67GHz - NVIDIA Quadro FX1800M 1GB

Daren Oliver


Thanks for testing on Win7 64 Eros.

It was developed using PB v9.05.

Regards,
Daren

Eros Olmi

#7
I too develop an editor/ide called thinAir but your UI style is much better and clean
I will steal some ideas :)

Just last question: your tabs controls are different from standard. Did you developed them as custom controls?
thinBasic Script Interpreter - www.thinbasic.com | www.thinbasic.com/community
Win7Pro 64bit - 8GB Ram - Intel i7 M620 2.67GHz - NVIDIA Quadro FX1800M 1GB

Mike Mayerhoffer

Thanks Daren ,

looks nice, seems pretty straight forward - no help file needed.

-Mike

Daren Oliver


Thanks for the comments Mike.

Eros,
You are welcome to steal any of my ideas.
The Tab control is indeed a custom control although I can take no credit for how it looks. If you google some screen shots of VS2005, you'll see the exact same tab control, or at least very close.

Patrice Terrier

#10
Daren,

I like the modern interface design, well done, thank you.

...
Patrice Terrier
GDImage (advanced graphic addon)
http://www.zapsolution.com

Petr Schreiber

Daren,

this is great job! It takes the best from Visual Studio and brings it to PB world.
Big thanks and congratulations!


Petr
AMD Sempron 3400+ | 1GB RAM @ 533MHz | GeForce 6200 / GeForce 9500GT | 32bit Windows XP SP3

psch.thinbasic.com

Daren Oliver

#12
Thanks Petr and special thanks to Patrice for not commenting on my poor photoshop skills on the start page banner!

Added an update to v1.1.0 in the first post. Filled a few requests and fixed a few bugs. See History.txt for details.

Regards,
Daren

Added:
Forgot to mention you can click on tooltips although its not a new feature.
For example, type 'CreateWindowEx(', click the tooltop and the tip text will paste itself into the code.
You can also hold the shift key down while clicking and it will paste in the same display format as the tip. (Multiline tips only)

Jim Dunn

Wow, Daren, nice... thanks for sharing!!

Theo Gottwald

#14
Let's take a look into the last update history:

Quote
-------------------------------------------------------------------------------
Version 1.1.0 - Jan 20 2011
-------------------------------------------------------------------------------
#Files modified from previous update:
Konstruct.exe

---------

#Feature Added.
Messagebox. 'Folder Deletion'
Provides an option to the delete the files and folders that were created, as
the result of a stating a New Project, if the project was closed without
ever being saved.

---------

#Feature Added.
Menu item. 'Open containing folder'

---------

#Feature Added.
Menu item. 'Task List'
Scans for tokens at the start of a comment (not case sensitive).
Tokens accepted:- 'Fix:', 'Hack:', 'Note:', 'ToDo:'

---------

#Feature Added.
Build Configuration combobox.
When set to "Release", any debug\tools metastatement settings are overridden.
When set to "Debug", current metastatement settings apply and the %DEBUG_ON
constant is automatically added for use with conditional compilation.

---------

#Feature Added.
Drag n drop to add files to an open project is now supported.

---------

#Bug Fix.
When only spaces were entered into the Find Dialog and 'Find All' was clicked,
the Find Results pane would not always draw correctly.

---------

#Bug Fix.
Double clicking an empty line in the Find Results pane when it already
contained search data would cause a GPF.

---------

#Bug Fix.
Temporary file and folder deletion. If CurDir$ returned the same path
as the folder being deleted, the SHFileOperation API would fail reporting
that the folder is 'currently in use'.


-------------------------------------------------------------------------------
Version 1.0.0 beta - Jan 17 2011
-------------------------------------------------------------------------------
Initial public release