3

我正在使用 Nodeclipse 运行 Eclipse Kepler,并且无法让 Tasks 视图显示我的标记。

  1. 我已将自己的 FEATURE 标签定义为“文本包含 FEATURE”,但它没有显示出来。

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

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

这就是我配置它的方式:

任务视图设置

我的项目在选定的工作集中。任务标签在 Preferences->Javascript 中启用。

更新

事实证明这是几个相关的问题,所以这里尝试组织和总结已经取得的进展:(以下所有内容仅涉及问题的第 2 点)

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

  2. 可以通过转到首选项 -> Javascript -> 验证器 -> 任务标签,更改某些内容并应用来解决根本没有显示的 Javascript 任务。这会触发重建并合并代码中的任何任务标签。但是,未来的任务不会自动合并。这似乎是一个已知问题。

  3. 节点模块污染任务视图的问题可以通过将文件夹设置为库文件夹而不是源文件夹来解决。请参阅此问题的答案

4

2 回答 2

2

Eclipse BugZilla 上的一个向导解释了一个简单的解决方案,它显示了来自节点模块的 TODO:

node_modules文件夹必须成为库文件夹。为此,需要转到项目 -> 属性 -> Javascript -> 包含路径,选择“库”选项卡,单击“添加库文件夹...”并将其设置为 node_modules 子文件夹。

就那么简单。

这是来源:https ://bugs.eclipse.org/bugs/show_bug.cgi?id=432231#c4

更新:

Nodeclipse 项目配置将在 0.15 更新以解决该问题

node_modules-2-as-lib 文件夹

node_modules-3-project-overview-after-configuration

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

于 2014-04-08T16:02:40.130 回答
0

在屏幕截图上,您的范围是“在工作集上”,而不是“在同一个项目中”。尽管即使使用该过滤器,它也不适用于 Eclipse Luna 4.4.M4 (Enide Studio 2014)

请注意,JavaScript 任务是由 JSDT 添加的,这不是 Node.js 感知的(因此它无法处理node_modules

在https://bugs.eclipse.org/bugs/上提出错误(并在此处分享)

更新:

错误 432231 - 任务视图在 Javascript 项目上无法正常工作,.project它读取到 TODO 在包含它时由 JSDT 构建器处理

<?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错误 223131 - [语言支持] 添加 ecmascript4 /JavaScript 2 编译器合规级别。这不是一件小事。

另请参阅如何忽略 Eclipse 中的节点 shebang 错误?回答为什么推荐当前配置。

通过 JSHInt-Eclipse 解析 TODO 是开放问题https://github.com/eclipsesource/jshint-eclipse/issues/68 但有人说,它应该是更好的独立插件。

于 2014-04-08T02:15:30.597 回答