如果我在.txt文件中并执行 Alt-Shift-X , Q 或使用我自己创建的 Alt-R < / kbd>快捷方式,它运行该项目的build.xml。
如果我在.js文件中并且我做同样的事情,它什么都不做。
我已经测试了不同的文件,文件类型和编辑器,它绝对是控制它是否有效的文件扩展名。
其他键盘快捷键(与“在Windows中”的“何时”相同)在所有文件中都能正常工作。
某些扩展程序可以工作(.txt,.cfm,.xml),而其他扩展程序(.html,.js,.less,.cfg)则不行。
我在工作单元之间可以看到的唯一链接是,在查看“首选项”&gt;“常规”&gt;“编辑器”和“文件关联”时,有效链接至少有一个关联编辑器旁边的locked by 'X' content type
。
经过测试,将* .js添加到“Text”内容类型可以使快捷方式适用于JS文件。
为什么分配“内容类型”允许具有特定扩展名的文件运行Ant构建文件?
如何使其无论当前文件类型如何(无需通过并设置所有文件扩展名的内容类型以及所有未扩展文件的名称)?
答案 0 :(得分:1)
键绑定不是全局存在的,而是为给定的上下文定义的。所有现有contexts in Eclipse组成一个层次结构,例如“编辑文本”将“在Windows中”作为父级,其中“在对话框和Windows中”作为父级。
如果某个上下文被激活(插件明确需要这样做),那么该上下文和该层次结构中所有父项的所有键绑定都是可用的。由于“运行Ant构建”命令绑定到“在Windows中工作”上下文,我将猜测非工作编辑器仅在某个内容类型处于活动状态时才设置该上下文(如您所述)我会评价一个错误)。或者他们定义一个上下文,其中“在对话框和Windows中”作为直接父级,从而“绕过”定义快捷方式的“在Windows中”上下文。
可能的解决方法可能将首选项中的键绑定的上下文从“在Windows中”更改为“在对话框和Windows中”。