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

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

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

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

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

源码下载

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.

http://www.cnblogs.com/lackey/p/5373761.html

时间: 2024-12-29 07:59:41

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

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

delphi 的IDE快捷键与输入法切换键中突,以往的解决方法是下载一个ImeTool修改 windows 系统的快捷键 在 xp win7 都好使,但在win 10经常是修改完后,重启又失效了. 本方法采用 Open Tools API 编写是一个组件.安装方法: 菜单-->Component -->install Component 然后选择此本单元,然后就瞎折腾吧.就好了. EagleBufferList.pas 源码如下: 源码下载 unit EagleBufferList; inte

MyEclipse自动补全与快捷键设置

一般默认情况下,Eclipse ,MyEclipse的代码提示功能是比Microsoft Visual Studio的差很多的,主要是Eclipse ,MyEclipse本身有很多选项是默认关闭的,要开发者自己去手动配置.如果开发者不清楚的话,就不知道Eclipse ,MyEclipse的代码提示功能一样能像Microsoft Visual Studio的代码提示功能一样强大. 先举个简单的例子说明问题所在,例如一般默认情况下,在Eclipse ,MyEclipse代码里面,打个foreach,

vim--golang代码补全

我想说,我折腾了很久编辑器,试了九种办法 最后我只成功了一种 但我依然想就我混乱的逻辑做下整理 一.一开始,我试图入手ipad编码软件,大概9美金吧,叫Textastic.我试图用它的近亲来试验Textastic Mac Trial看看能否代码补全. 我安装了golang.tmbundle. 语法高亮和snips是有的.可惜没有补全. 二.我想,听说TextMate是Textastic Mac Trial的近亲,何不试试TextMate?于是下载安装 mkdir -p ~/Library/App

ADT中的代码补全设置

设置自动补全代码 刚刚学Android,有很多变量和方法 都不熟悉.需要有提示,才更加方便. 快捷方式:Alt + /    可以出现代码提示. 默认的只有输入“ .” 以后才会有代码补全提示,可作如下设置: 在Auto activation triggers for Java: 那一栏修改为“._abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ” 表示输入._abc等任何字符都会有代码补全提示. 在XML中也作如下设置: 加上“<=:_a

python代码补全工具Kite

Python 的代码补全工具 Kite,它可以帮助广大开发者在敲代码时,实时生成与上下文相关的代码片段. 这不仅大大提高了代码敲写效率,同时也让开发者能更轻松地完成更复杂.更多字符的代码语句.Python 之父 Guido van Rossum 用后,也非常喜爱这个功能,向大家强烈推荐了这一高效工具. 它的使用条件很简单,支持多种IDE和操作系统,并且免费使用. 下载地址:https://kite.com/download/ 支持Windows.Mac.Linux 支持Atom.PyCharm.

Windows 10环境安装VIM代码补全插件YouCompleteMe

Windows 10环境安装VIM代码补全插件YouCompleteMe 折腾一周也没搞定Windows下安装VIM代码补全插件YouCompleteMe,今天在家折腾一天总算搞定了.关键问题是在于Python环境:必须确保环境变量Path里只有一个python.exe. ycmd是client-server架构.ycmd本身是server,可以为多种客户端所用,如VIM/YouComplete,emacs/emacs-ycmd等.服务端有不同引擎,如clang补全c-familiy语言,其他引

史上最强大的 Vim 代码补全引擎:YouCompleteMe

引言 自己之前Vim的代码补全插件都是使用 ctags + autotag + taglist + omnicppcompele 的组合,而且很多时候都没有提示或提示补全,而且每次打开一个新文件文件都需要创建一个 ctag 标签库,代码补全才能正能工作,十分的繁琐蛋疼.当时我就在想,既然源代码都有了,难道就没有一个 Vim 插件能的通过已有的源代码,实时构建语法书来提供代码补全提示吗?通过一番搜索,终于发现了她--YouCompleteMe,看了介绍,我开始迫不及待的试用了,顿时感觉从小米加步枪

[jetbrains系列] 外链第三方库+代码补全设置

jetbrains系列的IDE真的是太好用了,有种相见恨晚的感觉. 在开发过程中第三方库是必不可少的,在开发的时候如果有一个可以补全的IDE可以节省查文档的时间. 举个例子:给pycharm配pyspark的环境变量,并且设置代码补全.最终结果应该是这样的: 首先配置的是第三方库的编译(解释)支持,在Run/Edit Configurations里.点+号添加一个新的配置. 在Configuration选项卡里找到Environment中的Environment variables,如下编辑:

Eclipse自动代码补全

Windows——>Preferences——>Java-->Editor-->Content Asist, 在Auto activation triggers for Java后面的文本框里只有一个“.”. 现在你将其改为“.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”即可. 然后你再试试,会发现,现在的补全功能跟VS差不多了.你还可以在Advanced和Favorite里进行高级的设置. 值得注意的是: 虽然这样实现