请问Delphi IDE下,有没有辅助工具,可以自动加全函数名、定义的变量、关键字的? (50分)

  • 主题发起人 主题发起人 cornermoss
  • 开始时间 开始时间
C

cornermoss

Unregistered / Unconfirmed
GUEST, unregistred user!
就像VC 下的 Visual Assist 6.0,我现在用GExperts for D6,没找到这个功能呢?
比如:在delphi IDE的编辑器里,定义过程的时候输入“proc”,就可以自动把
“procedure”补全;如果在一个函数体内定义了某个变量名称为procXXX,输入
“proc”的时候,就自动把“procXXX”补全。这样可以省很多事啊 ^_^
 
有,Developer Express出品的Coderush,下载地址:http://soft.0zones.com,进去后搜一下coderush。
不过CodeRush只能自动填充保存前声明的变量或其他。所以要常按ctrol+s,另外它的键盘模版功能相当强大。
 
Ctrl+空格,和输入法快捷键有冲突。要先禁输入法的快捷键才可用。
也可以修改为 Alt + 空格,将以下代码保存为 pasKeyboard.pas,新建一个 Package,
加入这个pas文件安装就可以了。
unit pasKeyboard;

interface

procedure Register;

implementation

uses Windows, Classes, SysUtils,Menus, ToolsAPI, Controls ;

type
TBufferList = class(TNotifierObject, IUnknown, IOTANotifier,
IOTAKeyboardBinding)
function GetBindingType: TBindingType;
function GetDisplayName: string;
function GetName: string;
procedure BindKeyboard(const BindingServices: IOTAKeyBindingServices);
protected
procedure CodeCompletion(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
end;

resourcestring
sBufferList = 'Szy''s Buffer List';

//register this key binding
procedure Register;
begin
(BorlandIDEServices as IOTAKeyBoardServices).AddKeyboardBinding(TBufferList.Create);
end;

{ TBufferList }


//the code to bind key
procedure TBufferList.BindKeyboard(const BindingServices: IOTAKeyBindingServices);
Begin
BindingServices.AddKeyBinding([ShortCut(VK_SPACE, [ssAlt])], CodeCompletion, Pointer(csCodeList or csManual));
end;

//do code completion
procedure TBufferList.CodeCompletion(const Context: IOTAKeyContext;
KeyCode: TShortcut; var BindingResult: TKeyBindingResult);
begin

(Context.EditBuffer.TopView as IOTAEditActions).CodeCompletion(Byte(Context.Context));
BindingResult := krHandled;

end;

function TBufferList.GetBindingType: TBindingType;
begin
Result := btPartial;
end;

function TBufferList.GetDisplayName: string;
begin
Result := sBufferList;
end;

function TBufferList.GetName: string;
begin
Result := 'Szy.BufferList';
end;

end.
 
[red]谢谢回复,结贴 :-)[/red] [:D]
 
后退
顶部