Hi,
I would just like to introduce a new IDE I've been working on for a while with a friend of mine. Theta IDE aims to give DBPro coders something close to a Visual Studio/Office 2007 progamming experience. That is, the power of Visual Studio, with the nice interface and easy-to-get-atness (technical speak, sorry) of Office 2007.
At current, we have most of the features (see below) for the intial release in code, and we're just wrapping them all up into the interface. Obviously, as time progresses and new ideas pop-up we will implement more and more features.
Features Key:
- Going to implement
- Implemented in Code
- Implemented in Interface + Code
List of features for the intial release:
Code Editing
Highlighting: Syntax Highighting for all DBPro commands as well as user keywords and variables. Can choose highlighting in options box.
IntelliSense: Same as above
Code Refactoring: You know what it is (for Rename, Safe Delete, Introduce variable/parameter, Extract to Function, Extract variables to UDT)
Snippets: You can create snippets, which can then be inserted through Visual Studio-type snippets manager
Foldable Code Areas: Users can fold many different kinds of code area, from multi-line comments to functions to UDTs. You can select exactly how much you want to be foldable from the options box.
Live Analysis: Provides important, before compile analysis of the code, such as Variable Misuse, Variable not used, Function not used etc
Item Creation: Allows you to create stuff... An example expains it best: If you specify a function in code, but it has not yet being created, then Live Analysis will pick that up, and give you the option to create that function
Code Tags: You can label code in comments as TODO or BUG or NOTE and this can be read in the to-do explorer. You can also specify your own tags.
Command Documentation: You can specify details of commands through VS 2008 style XML documentation (start with ```). This can then be exported from the editor into a variety of formats.
Ultimate Customisability (spelling? proper word?): Basically, you can change everything about the way the editor looks, from text font to gradient/image backgrounds... If you're gonna code a lot, you might as well "accessorize".
All the basic stuff: Find, Replace, Go-To Line etc
Tools
Media Management: Easy media management for the project, including insertion into the code with a click of a button or dragging of an item from the media menu.
Colour Insertion: Insertion of colour into the code, with a professional colour picker, alike to the one found in Visual Studio
Speech Coding: Speech recognition of commands, allows a DarkBASIC program to be written completely by voice (Note: Up to you, its easy enough to implement, but not sure if wanted)
Open File Manager: View what files are opened in the editor, scroll through them in full 3D and finally open them.
Project Home: Place where you can explore everything that is in his project. It has a Source Manager, a Media Manager and a place to change Project Settings.
Solution Home: Alike to project home, apart from you view solutions in it.
Help/Web Viewer: Take a guess... An internal help and web viewer... Well, more a web viewer that views help, therefore it qualifies for the "Help" bit as well
Compilation
Compiles code... Obviously
Compile whole solution
Export all compiled exes (and media) in solution to a certain directory
Compiles to "bin" folder with all the media and stuff
Filetypes
The editor provides a way for you to manually choose what program opens what files in the project. This enables custom editors for custom filetypes. It allows for things like custom world editors for worlds.
Files of these new "custom" filetypes can be added through the "Add Item" dialog (like the one in VS)
Project Templates
Allows for quick set-up of projects of any kind (Can use default (Starter Kit) ones or custom-created ones)
Select through the "Add/New Project" dialogs
Addons
Think of VS Class Libraries. They allow for you to write DBPro code and export it as an "Addon".
Store in an encrypted file, which only Theta IDE can access
Allow for users to make DBPro code into addon.
Have full Intellisense for them
Export command documentation, for easy documentation of commands in addon
Set requirements for what plugins are needed etc
Note: On compile, the code in these is treated exactly like normal DBPro code for it to be able to compile
Projects and Solutions
All implemented in code.
Solutions:Each project is contained in a solution. These solutions work like Visual Studio 2008 solutions. They are useful if the user wants to separate off World Editors, Server/Client and more.
Project Notes: Due to the wealth of new features the IDE introduces, unfortunately a new Project type will most likely have to be made. This means that a converter will be made as well as compatability options for other editors. Hopefully, this can be avoided, but the way things are looking, we're going to have to keep it this way.
Edited 10/08/08 00:44
In-Built Designers
I've just had a new idea. I basically want to implement some in-built designers for some of the GUIs around the forums. Obviously, I'd need the creator's permission for each one, but it might be a nice feature to consider. Also, this could be just done externally, using a custom edtior and adding it as a filetype. What are your thoughts on this?
Well, I hope I haven't missed anything out. Screenshots below are from early tests of the editor. As I'm in India, I can't get newer images off the other coder (who's making the interface) and I apologise for this.
These screenshots show the editor editing a C# file (notice Leadwerks Engine 2.1 is being edited) and the Open File Viewer.
[img=http://img520.imageshack.us/img520/1905/fta5418tmpwa1.th.jpg]
[img=http://img154.imageshack.us/img154/3906/xuv753dtmpbb2.th.jpg]
This post will be updated as the project progresses.
Thanks,
Rich Bosworth
"I'm a firm believer that if a team scores one goal, then the other has to score two to win."