如何修改Delphi IDE中的编程快捷键?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修改Delphi IDE中的编程快捷键?相关的知识,希望对你有一定的参考价值。

我把Ctrl+Space屏蔽了,然后只用右边的Ctrl+Shift切换输入法。反正我机器上就一种输入法。呵呵。我一到别人的机器上,第一件事情,修改快捷键。因为不仅Delphi,向Visual
Studio,JBuilder都是这样。
参考技术A 肯定是可以改的,在Key
Map设置中有一种,好象是通过代码实现的,有谁知道原理或更简单的办法。
参考技术B 我用的是Win2k,且必装两种输入法,不能修改成那种快捷,必须是Ctrl+Shift+XXX切换。 参考技术C Ctrl+Shift+Space是函数参数提示键,这么重要,不可能去掉。 参考技术D Ctrl+Space和开关汉字输入键冲突了,我想改成其它快捷,有办法吗?Delphi都出来这么久了,不知各位是如何解决(忍受)的。

delphi 修改代码补全的快捷键(由Ctrl+Space 改为 Ctrl + alt + Space)

文章来自于:https://www.cnblogs.com/lackey/p/5373761.html

delphi 的IDE快捷键与输入法切换键中突,以往的解决方法是下载一个ImeTool修改 windows 系统的快捷键

在 xp win7 都好使,但在win 10经常是修改完后,重启又失效了。

本方法采用 Open Tools API 编写是一个组件。安装方法:

菜单-->Component -->install Component 然后选择此本单元,然后就瞎折腾吧。就好了。

 1 unit EagleBufferList;
 2 
 3 interface
 4 
 5 procedure Register;
 6 
 7 implementation
 8 
 9 uses Windows, Classes, SysUtils, Menus, ToolsAPI, Controls;
10 
11 type
12   TBufferList = class(TNotifierObject, IUnknown, IOTANotifier, IOTAKeyboardBinding)
13     function GetBindingType: TBindingType;
14     function GetDisplayName: string;
15     function GetName: string;
16     //指定快捷键
17     procedure BindKeyboard(const BindingServices: IOTAKeyBindingServices);
18   protected
19     procedure CodeCompletion(const Context: IOTAKeyContext; KeyCode: TShortcut; var BindingResult: TKeyBindingResult);
20   end;
21 
22 resourcestring
23   sBufferList = Eagle‘‘s Buffer List;
24 
25   // register this key binding
26 procedure Register;
27 begin
28   (BorlandIDEServices as IOTAKeyBoardServices).AddKeyboardBinding(TBufferList.Create);
29 end;
30 
31 { TBufferList }
32 
33 // the code to bind key
34 procedure TBufferList.BindKeyboard(const BindingServices: IOTAKeyBindingServices);
35 begin
36   BindingServices.AddKeyBinding([ShortCut(Ord(P), [ssShift, ssCtrl, ssAlt])], CodeCompletion,
37     Pointer(csCodeList or csManual));
38   BindingServices.AddKeyBinding([ShortCut(Ord(O), [ssShift, ssCtrl, ssAlt])], CodeCompletion,
39     Pointer(csParamList or csManual));
40   BindingServices.AddKeyBinding([ShortCut(Ord( ), [ssCtrl, ssShift])], CodeCompletion,
41     Pointer(csCodeList or csParamList or csManual));
42   { 1,2句是原作者写的
43     3句是我加的 把代码补完快捷键 替换为 ctrl + shift + space
44   }
45 end;
46 
47 // do code completion
48 procedure TBufferList.CodeCompletion(const Context: IOTAKeyContext; KeyCode: TShortcut;
49   var BindingResult: TKeyBindingResult);
50 begin
51 
52   (Context.EditBuffer.TopView as IOTAEditActions).CodeCompletion(Byte(Context.Context));
53   BindingResult := krHandled;
54 
55 end;
56 
57 function TBufferList.GetBindingType: TBindingType;
58 begin
59   Result := btPartial;
60 end;
61 
62 function TBufferList.GetDisplayName: string;
63 begin
64   Result := sBufferList;
65 end;
66 
67 function TBufferList.GetName: string;
68 begin
69   Result := EagleKing.BufferList; // do not localize
70 end;
71 
72 end.

 

以上是关于如何修改Delphi IDE中的编程快捷键?的主要内容,如果未能解决你的问题,请参考以下文章

delphi 修改代码补全的快捷键(由Ctrl+Space 改为 Ctrl + alt + Space)

Delphi如何安装VCL控件和修改快捷键

delphi中有没将控件中的字体变大变小的快捷键?或者可不可以整体修改,一个个改好麻烦.

DELPHI IDE中部分操作快捷方式

提升Delphi编程效率必须使用的快捷键(Delphi2007版本)

Delphi编程常用快捷键大全