SqlWrite(last updated: 12.18.08 23:40 UTC)
back  

Summary

SqlWrite is a work-in-progress: the ultimate tool for writing SQL database code.  Writing this software as a programmer who will use it a lot, I intend to make it powerful and highly configurable.  You will be able to specify if and when auto-complete/intellisense pops up, whether intellisense filters items, and so forth.  You will be able to specify exactly what a "word" is when using control left/right/delete/backspace (think of it moving you past a whole string), what text gets what coloring, and so forth.  I am writing this to be extremely extensible, so any [reasonable] feature requested can probably be implemented.

Download(s)

You will need the .NET framework to run SqlWrite.  (If you get an error when trying to open it, you most likely do not have the .NET framework installed.)

17:25 UTC 04/27/05   v0.1: Initial release

04:00 UTC 11/12/05   v0.2: Undo/Redo

Screenshot(s)

Version ?

SqlWrite screenshot

Features

All the features have not been listed yet.  You will probably also want to check out my code edit specifications, as much of that will eventually get implemented in the SqlWrite text edit control.  The more help I get, the closer I can get to an ideal SQL writing tool, as well as an excellent text control!

Expand all   |   Contract all
  1. Current Features
    1. auto-replace
      1. you define what replaces what; this is what I use:
        s c* f b w b.d l '%.net%'
        becomes
        select count(*) from bookmark b where b.description like '%.net%'
        (the auto-replace currently happens as you type, not all at once)
    2. intelli-X
      1. intellisense, but a word that isn't copyrighted (I need to think of a good term)  The drop-down list of table names in the picture is an example.  You will be able to specify exactly when it appears, what it contains, when it auto-fills, etc.
    3. infinite undo/redo
      1. perhaps the option to persist to disk, perhaps with the option of tree undo/redo, where no action is not saved
  2. Features not yet implemented
    1. your suggestion here
      1. I have many great ideas, but I don't have them all!
    2. configurable tree
      1. sometimes it is annoying to see server group > server > database > table > fields > field when you simply want table > field, as is currently shown in the screenshot
    3. function auto-info
      1. for both system functions and user-defined functions and stored procedures: display the data types, and comments (predefined for system calls)
    4. fully-customizable keymapping
      1. SqlWrite's text edit control will be made to emulate EMACS, VIM, or can be fully customized.  Extremely useful features such as kepeat-the-next-key-n-times will be supported.
    5. macros
      1. record keystrokes and then play them back
    6. scriping language
      1. Record keystrokes, generate a script, then alter it, or write a script from scratch.  The full database schema will be available.
    7. error reporting system
      1. you can easily upload code or simply upload comments on bugs, code that doesn't parse correctly, etc.
    8. dynamic parsing
      1. identify strings of non-comment text that cannot be parsed correctly: they are either syntax errors or a bug in the parsing engine
    9. database compatibility
      1. I will provide the proper interface specs for software developers to provide me with inherited classes to support their database(s) of choice.
    10. automatic code generation
      1. cursors, variable names that are named the same as corresponding field names, all user configured, with ability for the user to specify new advanced automatic generation templates
What will it cost?

open source

Request for Help

I want help on SqlWrite.  You don't have to know how to program something other than SQL.  First and foremost, I need a text editing control better than Microsoft's RichTextBox (see my CodeEdit pipe dream).  I need feature requests.  I might want a grid control other than Microsoft's DataGrid.  I might even want a better TreeView -- if you know of something better, tell me!

Contact

E-mail me if you have suggestions/comments.