I wrote this FmyCodeExpert because of CodeRush. CodeRush is good, but some bugs and the unstability frustrated me. I decided to save myself.

I'm a super-lazy-man, hating to tolerate my keyboard. I feel despaired about the endless typing. The finger motions slow down my thinking, destroy my inspiration. That is robbing and killing me. So I present the FmyCodeExpert to help poor coders to typing faster.



Features:

CodeComplete
In Delphi, you can press CTRL+SPACE to invoke Code Completion. It's wonderful but hurt my left hand wrist. This feature automatically pops up Code Completion window after typing 2(default) characters.

CodeTemplate
In Delphi, you can invoke Code Template by pressing CTRL+J. CodeRush uses SPACE BAR, which pleased me. So I fake it. For expample, If you press SPACE BAR after 'wh', it will expand to a 'while' template.
All templates are defined in 'template.ini'. 
The template is based on the 'sndkey32.pas' in Delphi CD, so refer to the file for more details.
You may click "Tools->Reload FmyCodeExperts' Settings" to reload templates from 'template.ini'.

TemplateVariable
Code Templates have many overlapped parts, such as 'begin...end'. Template Variable can be used in Code Templates, and defined in 'variable.ini'.
e.g. a 'if' template using variable 'BLOCKUPUP':
if=if  then %BLOCKUPUP%{RIGHT 3}
Notice variables are case-sensitive. I recommend upper case.
Variable cannot be nested.

TAB Indent
Delphi defines CTRL+SHIFT+I and CTRL+SHIFT+U for indentation. I give a substitution: TAB and SHIFT-TAB.

AutoIndent
Automatically indent when pressing ENTER after some special words. The 'IndentWords.txt' control it.

Auto-Select Word When Copy/Cut
CTRL+C and CTRL+V are the conventional weapons of a super-lazy-man. But they are not lazy enough. You need to select the word you want to copy/cut first. Now CodeExpert will select the word for you.

SmartPasteauto indent as needed
More lazy more happy. SmartPaste indent the pasted code automatically. Although It is a BETA feature, I have relied on it.
'EOLWords.txt' affects the feature.

External Help File
I found Delphi help lost some VCL items after I integrate too much help file into it. This feature add external help file link under Help menu. Modify 'ExternalExe.ini' for your own usage.

AutoSave
I have encountered some awful disaster, happening before I save my source files. AutoSave simply save all opened file every 5 min.

Move Backup File
Delphi's backup files '*.~xxx' make me swirl and swim, and more difficult to select useful files. MoveBackupFile automatically move backup files into a spcified root folder(See BackupPath in FmyCodeExpert.ini).

Add Local Variable
Not like C++, declaring a local varible always terminates my coding, even using bookmark. AddLocalVariable frees coder by CTRL+SHIFT+V magic.
Notice AddLocalVariable does not support nested procedure/function.
It is a BETA feature, may have bugs.



Installation
Run the 'FmyCodeExpertInstaller.exe' in the extracted folder.



I have use the FmyCodeExpert for some time, and cannot live without it. The FmyCodeExpert need more test. Feel free to contact wintonf@tom.com.
