【问题标题】:SourceCookifier in Notepad++ not always detecting Javascript functionsNotepad++ 中的 SourceCookifier 并不总是检测 Javascript 函数
【发布时间】:2021-03-05 11:43:33
【问题描述】:

如果我在 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

【问题讨论】:

    标签: javascript notepad++


    【解决方案1】:

    (1) 等待解决方案(例如对 SourceCookifier 代码的可能的错误修正)问题不存在。

    遗憾的是,其他一些 javascript 元素类型在“html”模式下不会被报告。

    当然,您必须记住使用文件类型重新保存它:.js,如果您进行了任何编辑,请覆盖旧的 .js 版本。

    (2) 使用免费的在线验证工具,如validatejavascript.com。但是,您将需要应用适当的规则集。使用“标准”规则集,我得到了很多(对我来说:微不足道的)错误(比如“开括号后的空格”)。在 2300 行代码中。使用“自定义”规则集(未选中框),它发现零错误。所以你必须知道要注意什么样的错误!


    更新20201202

    如果; 字符不存在,则以下代码会导致问题:-

    if      ( cVal == "£") {cVal = "$"  ; }  
    else if ( cVal == "@") {cVal = "\\" ; } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-26
      • 1970-01-01
      • 1970-01-01
      • 2022-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-21
      相关资源
      最近更新 更多