我正在尝试配置 NetBeans 构建以调用 jslint 并产生错误,我可以单击这些错误以将我带到源。
使用 Maven plugins to analyze javascript code quality 中的 Maven 构建脚本,jslint 正在运行并产生错误,但我无法单击它们。 NetBeans 输出窗口中的文本如下所示:
[jslint] C:\Documents and Settings\arx\My Documents\Progs\jsweb\src\main\wwwroot\jsweb.js:125:48: 'keydown' is not defined.
我在 Windows 上运行 NetBeans 6.9.1。路径中的空格不是问题。我用无空间路径试了一下,还是不行。
最终,我想在 NetBeans 中编辑一个简单的 javascript+html 项目,并且有来自 jslint 的可点击错误。我没有嫁给 Maven。非常感谢收到任何建议。
更新:一个解决方案
如果我将 jslint4java 直接放入 Ant 项目(而不是包裹在 Maven 插件中的 Ant 项目),输出不包含 [jslint] 前缀,我可以单击错误。
这有点麻烦,因为似乎有必要明确列出所有 jar 文件依赖项的位置,但它确实有效。
另一个更新
我正在尝试在 Maven 中完成这项工作,因为它的 Java 依赖管理非常好。问题肯定出在输出中的 [jslint] 前缀,它是由 Ant 生成的。
似乎没有任何方法可以让 NetBeans 忽略前缀,这很奇怪,因为 Ant 是 NetBeans 的默认构建工具。
可以通过在 Ant 的 DefaultLogger 上设置 emacsmode 属性来抑制前缀。 NetBeans 在启动 Ant 本身时会执行此操作(如果在选项中设置了“build.compiler.emacs=true”),但 maven-antrun-plugin 不会执行此操作(并且查看源代码,目前没有任何方法可以说服它).
可能的修复是:
- 使 NetBeans 更好地解码 Ant 输出。
- 为 maven-antrun-plugin 添加一个 emacsmode 选项。
- 找到一个原生的 Maven jslint 插件(这样就根本不用 Ant)。
选项 3 看起来可能是最简单的,所以我使用 TortoiseSVN 下载 http://mojo.codehaus.org/jslint-plugin/ 的源代码来自 https://svn.codehaus.org/mojo/trunk/sandbox/jslint-plugin并让它工作。但它会产生 NetBeans 不友好的输出,例如:
[ERROR]jssvg.js:2690:48:'keydown' is not defined.
最佳答案
最简单的方法是添加this插入。支持 Netbeans 7.3。
关于javascript - 无法点击 NetBeans 中的 jslint 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5194537/