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

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

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, ssAlt])], CodeCompletion,
41     Pointer(csCodeList or csParamList or csManual));
42   { 1,2句是原作者写的
43     3句是我加的 把代码补完快捷键 替换为 ctrl + alt + 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.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、IDE 1、对IDE的高DPI支持,涵盖了最新的4k+显示器,整个字体和图标更干净、更清晰。 2、多显示器和多窗口改进:在多个窗口中同时设计和编辑同一个表单的代码 3、完重建的欢迎页,具有原生的外观和感觉,以及适合IDE的UI,并可自定义布局和内容 4、C++代码格式化器。使用clang-format自动布局你的C++代码 5、改进了对VCL和IDE的远程桌面支持 6、FireMonkey设计时指南。通过可视化的线条和增强的边距和填充支持更快地进行原型设计 二、VCL 1、丰富的编辑组件更新删除了XP的依赖性,并为TRichEdit控件引入了新的功能。 2、VCL样式增加了设计时支持:通过在设计时立即看到你的样式表格和控件在运行时的样子,使时尚的UI原型更快。 3、增加了对TreeViews中CheckBoxes的支持,每个节点都支持3种状态(部分、变暗、排除)以帮助定制UI。 4、新的TDBLabeledEdit组件提供了TLabelEdit的数据感知版本,以加快原型设计。 5、大量的VCL改进,包括默认的表格大小和字体,例外对话框的复制按钮,备忘录和RichEdit的边距等等。 三、FMX 1、改进了对Windows和桌面的FMX高DPI支持,桌面UI明显优越 2、在WebBrowser组件中支持微软的WebView 2控件(Edge Chromium)。 3、支持最新的Android 30 API和最新的计费API,并迁移到使用AndroidX库 4、Android支持多个classes.dex文件,简化了对外部Android依赖的整合 四、Platforms 1、Delphi macOS 64位ARM编译器和工具链,包括为Intel/Arm AppStore提交构建通用二进制文件 2、Delphi语言支持二进制小数和数字分离器 3、改进了C++工具链,对C++类型的RTTI进行了大修,包括在Delphi类型上使用typeid。 4、为Delphi类型改进了C++风格的RTTI 5、在Win32和Win64上改进了CMake的质量并大大改进了异常处理。 五、RTL 1、RTL质量重点。TZipFile、大数据结构的64位改进、蓝牙LE 2、System.DateUtils中TDateTime的记录帮助器 3、System.SysUtils中TCurrency的Record Helper使货币的工作更加简单和容易。 4、C++ RTL的改进包括在Delphi类中使用make_shared和make_unique,对Delphi字符串的string_view支持,以及Delphi/C++字符串的简单转换。 六、LSP 1、使用Visual Studio Code来编辑Delphi代码,并具有完整的代码完成功能 2、LSP对Include文件的认识 3、自动重新启动LSP服务器 4、用Tab键自动完成代码 5、支持类辅助工具 6、赋值数组时的数组建议 七、Data 1、新版本中的FireDAC为PostgreSQL、Oracle和Firebird数据库提供了具体的改进。 2、HTTP和REST客户端库已经扩展了超时机制,支持HTTP/2、TLS 1.3、Base64 URL编码。 3、新组件TRESTRequestDataSetAdapter简化了向服务器上传数据集的过程 4、新的低流量RAD Server Lite允许无限制地部署您的多层解决方案,以及完可扩展的Server引擎。 5、对于DataSnap,REST URL映射逻辑现在是完可配置的

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值