【问题标题】:how to make visual studio javascript formatting work?如何使 Visual Studio javascript 格式化工作?
【发布时间】:2011-07-04 13:25:23
【问题描述】:

由于某种原因,Visual Studio javascript 格式不理解语法:

(function(){

})();

我在这一行的第二个字符中得到“预期的表达”:})();

所以我想知道以前是否有人遇到过这个问题(想要格式化他们的代码,但 Visual Studio 固执地认为有效代码有错误并拒绝这样做)以及我们如何解决它?

【问题讨论】:

  • 它会给您带来什么样的错误?从技术上讲,您应该将打开/关闭括号放在最后一个闭合花括号之前的闭合花括号之后。这可能是 Visual Studio 解析器的错误。
  • 我不太懂你,伙计。顺便说一句,我已经更新了我的问题来回答你的问题。
  • 我无法使用 VS 2010 Ultimate SP1 重现此问题。你怎么得到这个?另外,如果您想通过 JSLint 测试,请使用:(function(){}());
  • @namesis - Mrchief 传递 jslint 的例子就是我的意思
  • 就像@Dan 所说,看起来(function(){ 需要成为文件中的第一段代码才能使格式化程序工作。如果 (function(){ 之前有一个前导分号,即使符合 JSLint 的表达式也无济于事。

标签: javascript


【解决方案1】:

看来,为了让 Visual Studio JS 编译器开心,你需要将“(function(){”作为第一行代码你的 .js 文件。如果你愿意,你可以在它前面加上 cmets/whitespace,但它前面没有代码。

抱歉,我无法解释为什么会这样,但它应该可以解决您的问题。

【讨论】:

  • 这似乎是让 javascript 格式化程序再次格式化文件的唯一方法。很遗憾,因为前导分号是 jquery 插件模板的一部分,旨在防止潜在的错误。
【解决方案2】:

尝试以下方法:

(function () {

} ());

也就是说,我已经将函数参数括号移到了整个括号内。

【讨论】:

    【解决方案3】:

    使用以下快捷方式:

    ctrl k+d

    【讨论】:

      【解决方案4】:

      我不得不终止所有Node.exe 任务。重新打开我的 Javascript 文件后,ctrl+k,ctrl+d 再次开始工作。 (Visual Studio 2017)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多