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

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

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

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

源码下载

D7_KeyMapping下载XE8_KeyMapping下载

 unit EagleBufferList;

 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 = 'Eagle''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(Ord('P'), [ssShift, ssCtrl, ssAlt])], CodeCompletion,
Pointer(csCodeList or csManual));
BindingServices.AddKeyBinding([ShortCut(Ord('O'), [ssShift, ssCtrl, ssAlt])], CodeCompletion,
Pointer(csParamList or csManual));
BindingServices.AddKeyBinding([ShortCut(Ord(' '), [ssCtrl, ssAlt])], CodeCompletion,
Pointer(csCodeList or csParamList or csManual));
{ 1,2句是原作者写的
3句是我加的 把代码补完快捷键 替换为 ctrl + alt + space
}
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 := 'EagleKing.BufferList'; // do not localize
end; end.

EagleBufferList.pas

附:delphi 进阶基础技能说明

delphi 修改代码补全的快捷键(由Ctrl+Space 改为 Ctrl + alt + Space)的更多相关文章

  1. delphi 修改代码补全的快捷键(由Ctrl+Space 改为 Ctrl + alt + Space)(通过修改OpenTool生效)

    delphi 的IDE快捷键与输入法切换键中突,以往的解决方法是下载一个ImeTool修改 windows 系统的快捷键 在 xp win7 都好使,但在win 10经常是修改完后,重启又失效了. 本 ...

  2. NetBeans8.2 修改代码补全延迟时间

    NetBeans早期版本提供修改提示速度的选项,大概是6.5版本之后就没这个修改功能了,但是仍可以配置: Windows配置如下: 1.C:\Users\${用户名}\AppData\Roaming\ ...

  3. IntelliJ IDEA 设置代码提示或自动补全的快捷键

    IntelliJ IDEA 设置代码提示或自动补全的快捷键   点击 文件菜单(File) –> 点击 设置(Settings- Ctrl+Alt+S), –> 打开设置对话框. 在左侧的 ...

  4. Notepad++强大的代码补全和代码提示功能的方法

    最近写项目,经常要打开一些文件去修改一些代码段.那么我的项目都是使用ied大型编辑器去写的,每次修改文件,哪怕是一个标点都要用一分钟时间去打开软件.当然,后来我也考虑到使用记事本,但总感觉不是很爽. ...

  5. jupyter notebook安装/代码补全/支持golang 踩坑记

    安装(不要用root) 安装anaconda3,然后ln -s bin目录下的jupyter命令到/usr/bin目录下 生成密码备用 敲ipython进入交互终端 In [1]: from note ...

  6. [转]Sublime Text 新建文件快速生成Html【头部信息】和【代码补全】、【汉化】

    Sublime Text 新建文件快速生成Html[头部信息]和[代码补全].[汉化] 真心越来越喜欢sublime 这个工具,高效便捷,渐渐离不了了! 安装package control简单的安装方 ...

  7. vim--golang代码补全

    我想说,我折腾了很久编辑器,试了九种办法 最后我只成功了一种 但我依然想就我混乱的逻辑做下整理 一.一开始,我试图入手ipad编码软件,大概9美金吧,叫Textastic.我试图用它的近亲来试验Tex ...

  8. vim代码补全-spf13,YouCompleteMe

    vim代码补全 现在的图形界面的IDE(Integrated Development Environment)一般具有语法高亮,语法检查,自动补全功能,大大提高了编程的效率. vim作为文本编辑器其强 ...

  9. ADT中的代码补全设置

    设置自动补全代码 刚刚学Android,有很多变量和方法 都不熟悉.需要有提示,才更加方便. 快捷方式:Alt + /    可以出现代码提示. 默认的只有输入“ .” 以后才会有代码补全提示,可作如 ...

随机推荐

  1. Metafunction

    Metafunction is a more general idiom than type generator. Metafunctions that produce type(s) as a re ...

  2. linux 让一个程序开机自启动并把一个程序加为服务

    本文以tomcat7为例 首先找到tomcat启动的目录,我的为 cd /usr/local/tomcat7/bin/ 这个目录 启动脚本是startup.sh 然后在/etc/rc.d/rc.loc ...

  3. C#.NET Split 的几种使用方法

    第一种方法: string s = "abcdeabcdeabcde"; string[] sArray = s.Split('c'); foreach (string i in ...

  4. Android 自定义下拉刷新ListView

    package com.dwtedx.qq.view; import android.content.Context; import android.util.AttributeSet; import ...

  5. 运维人员:走好你的IT运维路

      转自 http://os.51cto.com/art/201303/387120.htm   现阶段,大多数运维人员只是处于被动低效率手工救火的状态,企业对其重视程度不高,导致部分运维人员对自己的 ...

  6. 使用pymysql和paramiko实现远程安装软件

    通过pymysql模块调用数据库获取安装信息,通过paramiko模块远程传输脚本并执行来安装软件,本文以安装apache为例. 创建apache安装信息数据表install_apache,设定三个字 ...

  7. OleVariant的本质

    OleVariant的本质 OleVariant,COM的一种数据类型.MIDAS基于COM之上构建的,自然使用OleVariant作为数据序列格式. 延续到现在最新的DATASNAP仍然支持它. T ...

  8. SMO要点总结

    SMO要点总结: SMO使用坐标上升的方法,求解SVM的最优解.和原始坐标上升方法的不同点在于: 1.       由于SVM的限制条件 ,所以不能只使用一个坐标,改为更新两个 2.       采用 ...

  9. oracle 物化视图导入导出报错

    1.exp导出报EXP-00008: 遇到 ORACLE 错误 1455,ORA-01455: 转换列溢出整数数据类型 2.imp导入报.注: 表包括 ROWID 列, 其值可能已废弃,不是警告也不是 ...

  10. Zoom属性的使用介绍(IE私有属性)

      其实Zoom属性是IE浏览器的专有属性,Firefox等浏览器不支持.它可以设置或检索对象的缩放比例.除此之外,它还有其他一些小作用,比如触发ie的hasLayout属性,清除浮动.清除margi ...