Eclipse中的任务视图没有显示TODO?

时间:2014-04-05 12:42:51

标签: eclipse nodeclipse jsdt

我正在使用Nodeclipse运行Eclipse Kepler,并且无法获取“任务”视图以显示我的标记。

  1. 我已将自己的FEATURE标记定义为“text contains FEATURE”,但它没有显示出来。

  2. 我不能将node.js任务限制在我自己的项目中。当我将它设置为“show all”时,它将向我展示我正在使用的节点模块的数百个任务。当我在屏幕截图中设置它时,它根本不会向我显示任何任务。

  3. 我可以忍受1.但2.对我来说是一个严重的问题...... 这是开普勒的一个错误还是我有配置错误?

    这就是我配置它的方式:

    Task view settings

    我的项目是选定的工作集之一。在Preferences-> Javascript。

    中启用了任务标记

    更新

    这已经证明是几个相关的问题汇集在一起​​,所以这里是尝试组织和总结已取得的进展:(以下所有仅涉及问题的第2点)

    1. “显示全部”不符合所选范围是所需行为。范围是配置的一部分(UI通过将它们放在“配置”组窗格中)提示,“全部显示”设置绕过。所以这实际上不是功能错误,只是误导用户界面。我提出了问题here

    2. 根本不需要显示的Javascript任务可以通过转到首选项 - >来解决。 Javascript - >验证器 - >任务标签,改变一些东西并申请。这会触发重建并包含代码中的任何任务标记。但是,未来的任务不会自动合并。这似乎是一个已知问题。

    3. 通过使文件夹成为库文件夹而不是源文件夹,可以解决节点模块污染任务视图的问题。请参阅this answer to this question

2 个答案:

答案 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中更新以解决问题

node_modules-2-as-lib-folder

node_modules-3-project-overview-after-configuration

请参阅https://github.com/Nodeclipse/nodeclipse-1/issues/143

答案 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 但有人说,它应该是更好的独立插件。