[英]SourceCookifier in Notepad++ not always detecting Javascript functions
如果我在 Notepad++ 中打开文件 Fred.js 并激活 SourceCookifier,它应该显示脚本中所有函数的列表。
但是它报告功能 F_1 但不报告功能 F_2
function F_1()
{
var ann = 1234 //<--- OK without ;
var bob = 1234 ; //<----- ; must be present, so F_1 is reported.
console.log ("Hello world") //<--- OK without ;
}
function F_2()
{
var ann = 1234 //<--- OK without ;
var bob = 1234 //<----- ; should be present, so F_2 is not reported.
console.log ("Hello world") //<--- OK without ;
}
唯一的区别是在 F_2 中终止了“;” 字符不存在。
我想这是一个错误,但也许我做错了什么?
系统:Windows 7,32 位,Notepad++ v.7.7(2019),SourceCookifier v0.7.3.0。
更新(20201129)我注意到两年前(2018 年)在 SourceForge 上报告了同样的问题:- by Tarek Faham
(1) 等待解决方案(例如对 SourceCookifier 代码的可能错误修复)我发现,如果您将 .js 文件保存为文件类型: .html
并在 Notepad++ 中对其进行编辑,则问题不存在。
遗憾的是,在“html”模式下不会报告其他一些 javascript 元素类型。
当然,您必须记住使用 filetype: .js
重新保存它,如果您进行了任何编辑,则覆盖旧的 .js 版本。
(2) 使用免费的在线验证工具,如validatejavascript.com 。 但是,您需要应用适当的规则集。 使用“标准”规则集,我得到了很多(对我来说:微不足道的)错误(比如“开括号后的空格”)。 在 2300 行代码中。 使用“自定义”规则集(未选中框),它发现零错误。 所以你必须知道要注意什么样的错误!
更新 20201202
如果以下代码导致问题;
字符不存在:-
if ( cVal == "£") {cVal = "$" ; }
else if ( cVal == "@") {cVal = "\\" ; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.