0

如果我在一个 .txt 文件中Alt-Shift-XQ或者使用我自己创建的Alt-R快捷方式,它会运行该项目的 build.xml。

如果我在一个 .js 文件中并且我做同样的事情,它什么也不做。

我用不同的文件、文件类型和编辑器进行了测试,绝对是文件扩展名决定了它是否有效。

其他键盘快捷键(与“在 Windows”中的“时间”相同)在所有文件中都可以正常工作。

一些扩展名(.txt、.cfm、.xml)有效,而另一些(.html、.js、.less、.cfg)则无效。

我可以看到的工作之间的唯一链接是,当查看首选项>常规>编辑器>文件关联时,那些工作的链接locked by 'X' content type至少有一个关联的编辑器。

经测试,将 *.js 添加到“文本”内容类型可使快捷方式适用于 JS 文件。

为什么分配“内容类型”允许具有特定扩展名的文件运行 Ant 构建文件?

无论当前文件类型如何,如何使其工作(无需检查并设置所有文件扩展名的内容类型以及所有非扩展文件的名称)?

4

1 回答 1

1

键绑定不是全局存在的,而是为给定的上下文定义的。Eclipse 中所有现有的上下文构成一个层次结构,例如“编辑文本”以“在窗口中”作为父级,以“在对话框和窗口中”作为父级。

如果激活了某个上下文(插件明确需要这样做),则此上下文和该层次结构中所有父级的所有键绑定都可用。由于“运行 Ant Build”命令绑定到“在 Windows 中工作”上下文,我猜想非工作编辑器仅在您描述的某个内容类型处于活动状态时才设置该上下文(我会评价一个错误) . 或者他们定义了一个将“在对话框和 Windows 中”作为直接父级的上下文,从而“绕过”了定义快捷方式的“在 Windows 中”上下文。

一种可能的解决方法可能是将首选项中的键绑定上下文从“在 Windows”中更改为“在对话框和 Windows 中”。

于 2012-08-23T06:06:27.563 回答