我正在使用Nodeclipse运行Eclipse Kepler,并且无法获取“任务”视图以显示我的标记。
我已将自己的FEATURE标记定义为“text contains FEATURE”,但它没有显示出来。
我不能将node.js任务限制在我自己的项目中。当我将它设置为“show all”时,它将向我展示我正在使用的节点模块的数百个任务。当我在屏幕截图中设置它时,它根本不会向我显示任何任务。
我可以忍受1.但2.对我来说是一个严重的问题...... 这是开普勒的一个错误还是我有配置错误?
这就是我配置它的方式:
我的项目是选定的工作集之一。在Preferences-> Javascript。
中启用了任务标记更新
这已经证明是几个相关的问题汇集在一起,所以这里是尝试组织和总结已取得的进展:(以下所有仅涉及问题的第2点)
“显示全部”不符合所选范围是所需行为。范围是配置的一部分(UI通过将它们放在“配置”组窗格中)提示,“全部显示”设置绕过。所以这实际上不是功能错误,只是误导用户界面。我提出了问题here
根本不需要显示的Javascript任务可以通过转到首选项 - >来解决。 Javascript - >验证器 - >任务标签,改变一些东西并申请。这会触发重建并包含代码中的任何任务标记。但是,未来的任务不会自动合并。这似乎是一个已知问题。
通过使文件夹成为库文件夹而不是源文件夹,可以解决节点模块污染任务视图的问题。请参阅this answer to this question
答案 0 :(得分:1)
Eclipse BugZilla上的一个向导解释了一个简单的解决方案,它显示了来自节点模块的TODO:
必须将node_modules
文件夹设为库文件夹。要做到这一点,需要转到Project - >属性 - > Javascript - >包含路径,选择“库”选项卡,单击“添加库文件夹...”并将其设置为node_modules子文件夹。
这很简单。
以下是来源:https://bugs.eclipse.org/bugs/show_bug.cgi?id=432231#c4
更新:
Nodeclipse项目配置将在0.15中更新以解决问题
答案 1 :(得分:0)
在屏幕截图上,您有范围"在工作集"上,而不是"在同一个项目中#34;。 虽然使用过滤器但它在Eclipse Luna 4.4.M4(Enide Studio 2014)
上对我不起作用请注意,JSDT添加了JavaScript Task,而不是Node.js
(因此它无法处理node_modules
)
提出https://bugs.eclipse.org/bugs/上的错误(并在此处分享)
更新:
从Bug 432231 - Tasks view not working correctly on Javascript projects 开始,当.project
包含它时,它会读取由JSDT构建器处理的TODO
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>JSDTJavaScriptProject</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
</projectDescription>
虽然Nodeclipse .project
模板如下所示(使用JSHInt而不是JSDT Validator)
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>NodeExpressEjsLESS</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.eclipsesource.jshint.ui.builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.nodeclipse.ui.NodeNature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
</projectDescription>
这是因为JSDT不支持ECMAScript 5 Bug 223131 - [language support] Add ecmascript4 /JavaScript 2 compiler compliance level 。这不是一件容易的事。
另请参阅How to ignore node shebang error in Eclipse?答案,了解为何建议使用当前配置。
通过JSHInt-Eclipse解析TODO是一个未解决的问题https://github.com/eclipsesource/jshint-eclipse/issues/68 但有人说,它应该是更好的独立插件。