【问题标题】:Visual Studio 2010 JavaScript Intellisense capitalizing the F in "function"Visual Studio 2010 JavaScript Intellisense 在“函数”中大写 F
【发布时间】:2011-06-16 15:41:25
【问题描述】:

我最近遇到了一件非常烦人的事情,我不知道为什么会这样。不知道它是什么时候开始的,因为我最近擦了我的机器,所以可能是最近的更新,也可能是不久前的。

无论如何,这就是正在发生的事情。当我声明一个匿名函数内联并开始输入“function() { ... }”部分时,VS2010 智能感知出现并将我的小写函数替换为它自己的大写“函数”。我猜这是 JavaScript 或 JScript 或其他东西中的一些静态函数,但我不知道。无论哪种方式,当我输入“()”时,它假定这就是我想要的。

如果我声明一个独立的函数,它不会受到影响,因为我没有在后面加上“()”,所以它只留下我输入的内容。

这里是正在发生的一些屏幕截图。

这很令人沮丧,因为我每次都没有注意到它,当然,该函数没有执行。我也是每天在VS2008工作,2008年,“功能”和“功能”都列在智能菜单中,但它默认为小写,所以它不会影响我。

有什么方法可以覆盖智能感知设置?找到一个文件并从列表中删除“功能”文件,因为我永远不会使用它?让它默认回到小写的“函数”选项?

任何帮助都会很棒。谢谢!

-乔林

【问题讨论】:

  • +1 这非常烦人(尽管这是设计使然)
  • @SLaks - 设计使然? Functionfunction 构造函数,很少使用(实际上应该很少使用)。如果有人决定将其设为默认值,那么他们并不真正知道自己在做什么。

标签: javascript visual-studio-2010 intellisense


【解决方案1】:

我几乎得出结论,在 JavaScript 文件中禁用 Visual Studio 的 Intellisense 会更有效率。但是,如果您确实喜欢它的大部分方面,“语句完成”选项是一种解决特定问题的方法,即当您点击空格时将 function 替换为 Function

更新:

我认为 VS2010 的新括号间距一定是让我无意识地输入了这样的东西(注意函数和括号之间的空格):

$(document).ready(function () {

});

当您这样做时,它不会插入 Function 的 Intellisense 补全。

在 VS2010 sp1 中,他们添加了一个选项来格式化没有空格的括号。因此,当我键入结束 }); 时,它会将括号间距格式化回:

$(document).ready(function() {

});

...这就是我想要开始的。

一开始很复杂,但很快就会变成肌肉记忆。

【讨论】:

  • 有趣的是,我实际上选择了该选项。显然,即使它说“仅制表符或输入”,它显然意味着“仅制表符或输入或键入括号”。 :-) 是的,我真的不想完全禁用智能感知,因为其中一些项目有很多功能,很适合找到这些功能,但除此之外……
  • 我显然是通过其他我没有注意到的东西来规避父母触发的完成。更新了答案。
  • 是的,我想我只需要养成输入那个空格的习惯。非常不幸。我希望有人知道编辑智能感知文件或其他任何东西的方法......
  • 原来这是 JScript Editor Extensions 在某个时候引入的问题。今天有一个新的更新可以修复它:visualstudiogallery.msdn.microsoft.com/…
  • 哇哦!该更新修复了它。现在“函数”sn-p 是默认值。谢谢!
【解决方案2】:

这个问题可能是由 Resharper 引起的,至少在 Visual Studio 2013 中是这样。扩展正在添加包含“功能”的 DHtml.js 文件。 (对于任何其他插件,这足以让我卸载它。幸好它做了很多其他事情。)请参阅这个问题:Javascript Intellisense list too long...

编辑:JetBrains 正在修复此错误:(http://youtrack.jetbrains.com/issue/RSRP-400812)。与此同时……

Resharper 的选项允许您按语言禁用其智能感知增强功能。要解决此问题,您可以禁用 javascript 不受影响,如下所示:

【讨论】:

  • 虽然 Resharper 确实引入了这个问题,但建议的解决方案会在您未选择的语言中杀死自动智能感知。您可以通过 Ctrl-Spacing 获得原生智能感知...
  • @Steve 确实如此。 IMO,intellisenseless javascript 比在您键入时会自行中断的 javascript 更可取。让我们都期待包含该错误修复的版本,因此它不再是一个最糟糕的选择。
  • 我很懒,我喜欢我的 Intellisense :)
猜你喜欢
  • 2012-02-26
  • 2011-07-20
  • 2017-01-14
  • 2011-05-28
  • 2011-04-07
  • 2011-10-23
  • 1970-01-01
  • 2012-02-12
  • 2011-02-28
相关资源
最近更新 更多