问题:
Binding(CTRL+S,
ParameterizedCommand(Command(org.eclipse.ui.file.save,Save,
Save the current contents,
Category(org.eclipse.ui.category.file,File,null,true),
org.eclipse.ui.internal.handlers.SaveHandler@fbd1fc,
,,true),null),
org.eclipse.ui.defaultAcceleratorConfiguration,
org.eclipse.ui.contexts.window,,,system)
Binding(CTRL+S,
ParameterizedCommand(Command(cn.com.bankit.ide.bsp.navigator.command.shield,屏蔽 F2,
,
Category(org.eclipse.core.commands.categories.autogenerated,Uncategorized,Commands that were either auto-generated or have no category,true),
,
,,true),null),
org.eclipse.ui.defaultAcceleratorConfiguration,
org.eclipse.ui.contexts.window,,,system)
如何屏蔽掉Eclipse插件本身的快捷键,使自定义的快捷键功能有效。
1. 屏蔽所有快捷键 (这个方法显然是杀鸡取卵)
((IBindingService)PlatformUI.getWorkbench().getAdapter(IBindingService.class)).setKeyFilterEnabled(false);
PS.:这个能屏蔽所有的Binding 包括自定义的,这显然不合适。
2. 采用默认的ContextID:org.eclipse.ui.contexts.window。 这里有一个缺点,输入快捷键时,同时出现两个快捷键。
在plugin.xml中实现:
<extension
point="org.eclipse.ui.bindings">
<key
commandId="org.xxx.SaveConfigHandler"
contextId="org.eclipse.ui.contexts.window"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="CTRL+S">
</key>
</extension>
3. 屏蔽eclipse的快捷键,使自己的快捷键生效。(这就是所谓的走别人的路,让别人无路可走)
指定自定义ContextID,只有在该ContextID下快捷键才有效。
在plugin.xml中实现扩展点org.eclipse.ui.bindings
<extension
point="org.eclipse.ui.bindings">
<key
commandId="org.xxxx.SaveConfigHandler"
contextId="cn.com.xxx.Context"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="F2">
</key>
</extension>
同时扩展:
<extension
point="org.eclipse.ui.contexts">
<context
id="cn.com.xxx.Context"
name="MY Context"
parentId="org.eclipse.ui.contexts.window">
</context>
</extension>
(以 CommonNavigatorView的F2为例,editor也是一样的道理。
重写起init方法如下:
public void init(IViewSite site, IMemento memento) throws PartInitException
{
super.init(site, memento);
....
....
IContextService contextService = (IContextService) getSite()
.getService(IContextService.class);
contextService.activateContext("cn.com.xxx.Context");
}
分享到:
相关推荐
Eclipse SVN插件是开发人员在使用Eclipse集成开发环境时,用于版本控制的重要工具,主要功能是与Subversion(SVN)服务器进行交互,实现代码的版本管理。本篇文章将详细阐述Eclipse SVN插件的相关知识点,包括其安装...
使用EclipseSVN冲突解决方案可以有效地解决文件冲突问题,提高开发效率和团队协作的effectiveness。 技术要点: 1. 文件冲突的定义和分类 2. 解决冲突的四种方式 3. EclipseSVN冲突解决方案的优点 EclipseSVN冲突...
IntelliJ IDEA(简称IDEA)和Eclipse都是广泛使用的Java开发IDE,它们各自拥有独特的功能和快捷键设置。有时候,从Eclipse转向IDEA的开发者可能希望保持熟悉的快捷键习惯,因此将IDEA的快捷键设置成与Eclipse相同会...
Eclipse SVN 1.8插件是专门为Eclipse集成开发环境设计的一款版本控制系统插件,用于支持Subversion(SVN)1.8版本的版本控制功能。Subversion是一款开源的分布式版本控制系统,允许用户跟踪文件和目录的更改,并在...
Eclipse CVS插件是开发人员在使用Eclipse集成开发环境时进行版本控制的重要工具,它集成了CVS(Concurrent Versions System)系统,使得开发者能够方便地管理代码库,实现团队间的协同开发。CVS是一种广泛使用的源...
快捷键在Eclipse中扮演着至关重要的角色,它们极大地提升了开发人员的编程效率,减少了鼠标操作,使得开发者能够更加专注于代码编写。以下是一些关键的Eclipse快捷键及其应用: 1. **代码编辑快捷键**: - `Ctrl +...
Eclipse-svn插件是Eclipse IDE的一个扩展,它使开发者可以直接在Eclipse内部进行SVN操作,而无需离开开发环境。 首先,安装eclipse-svn插件是使用SVN的关键步骤。通常,这可以通过Eclipse的“帮助”->“安装新软件...
- 解决冲突后,用户A或B需要删除这些冲突标记,并用合并后的版本替换它们。然后,使用`svn resolved file1.txt`命令告诉SVN冲突已解决。 - 最后,用户A或B可以再次提交更改,确保在提交前使用`svn diff file1.txt`...
1. **Eclipse集成SVN**:Eclipse是一款流行的Java开发IDE,通过安装Subversive或Subclipse插件可以实现对SVN的支持。推荐使用Subversive,因为它与Eclipse的集成度更高。在Eclipse的“帮助”>“Eclipse Marketplace...
5. **冲突解决(Conflict Resolution)**:在多个人同时修改同一文件时,如果发生冲突,Eclipse SVN插件会提供帮助解决冲突的工具。 6. **查看差异(Diff)**:比较本地文件和版本库中的文件差异,便于理解改动内容。 7....
23. 有目录树冲突的文件:file that has a tree conflict图标表示该文件已经发生目录树冲突,需要解决冲突。 24. 引用外部项目的文件:file that is external to the project图标表示该文件引用外部项目,不能提交...
Eclipse SVN插件是开发人员在Eclipse集成开发环境中用于版本控制的重要工具,它使得开发者能够无缝地与Subversion(SVN)服务器进行交互。这个插件极大地提升了代码管理的效率,支持版本回退、分支合并、冲突解决等...
在Eclipse集成开发环境中,为了方便开发者进行版本控制操作,通常会安装SVN插件。本篇文章将详细介绍Eclipse中的SVN插件及其相关知识点。 1. **SVN的基本概念** - 版本控制:SVN的主要功能是跟踪文件和目录的变更...
Eclipse SVN插件是开发人员在使用Eclipse集成开发环境时进行版本控制的重要工具,它使得Eclipse能够与Subversion(SVN)服务器无缝协作。这个插件允许开发者执行诸如检出、提交、更新、合并等SVN操作,极大地提高了...
在本文中,我们将深入探讨如何在Qt环境中实现全局快捷键功能,这在开发跨平台的桌面应用程序时非常有用。Qt是一个强大的C++图形用户界面工具包,它提供了丰富的功能,包括创建可自定义的快捷键,即使软件最小化也能...
"svn 1.4.6 eclipse plugin"便是这样的插件,它使得开发者可以直接在Eclipse内部进行SVN操作,如检出、提交、更新、解决冲突等,极大地提高了开发效率。 1. **安装过程** 安装SVN 1.4.6 Eclipse插件通常涉及以下...
Eclipse的SVN插件,如Subclipse或Subversive,使得开发者可以直接在Eclipse界面中执行常见的SVN操作,如检出、提交、更新、解决冲突等,大大提高了开发效率。Subclipse是基于Apache的Subversion库构建的,而...
Eclipse SVN集成客户端是开发人员在使用Eclipse IDE时进行版本控制的重要工具,它使得开发者能够在熟悉的开发环境中无缝地与Subversion(SVN)服务器进行交互。Subversion是一款开源的版本控制系统,它允许团队协作...
Egit是Eclipse基金会开发的一个强大的开源插件,专为集成Git版本控制系统到Eclipse和MyEclipse IDE而设计。Git是一种分布式版本控制系统,广泛应用于软件开发中,因为它提供了高效的数据管理和灵活的工作流。Egit的...
Hierarchical Graph Models for Conflict Resolution 冲突消解的层次图模型