我最近遇到的事情真的很烦人,我无法弄清楚它为什么会这样做。不知道什么时候开始,因为我最近擦了我的机器,所以也许它是最近的更新,或者可能是不久之前。
无论哪种方式,这都是正在发生的事情。当我声明一个匿名函数内联并开始键入“function(){...}”部分时,VS2010 intellisense出现并用自己的大写“Function”替换我的小写函数。我想这是JavaScript或JScript中的一些静态函数或其他东西,但我不知道。无论哪种方式,当我键入“()”时,它假定这就是我想要的。
如果我宣布一个独立的功能,它不受影响,因为我之后没有放“()”,所以它只留下我输入的内容。
以下是一些正在发生的事情的屏幕截图
这非常令人沮丧,因为我每次都没有注意到它,当然,函数不会执行。我也在VS2008每天工作,在2008年,“功能”和“功能”都列在智能感知菜单中,但它默认为小写,所以它不会影响我。
有什么方法可以覆盖智能感知设置吗?查找文件并从列表中删除“功能”,因为我永远不会使用它?将其默认设置为小写“功能”选项吗?
任何帮助都会很棒。谢谢!
-Jorin
答案 0 :(得分:2)
我几乎得出的结论是,在JavaScript文件中禁用Visual Studio的Intellisense会更有效率。但是,如果您确实喜欢它的大多数方面,那么“语句完成”选项是解决在您占用空间时用function
替换Function
的特定问题的一种方法:
<强>更新强>
我认为VS2010的新paren间距必须滥用我无意识地输入这样的东西(注意功能和parens之间的空间):
$(document).ready(function () {
});
当您这样做时,它不会插入Function
的智能感知完成。
使用VS2010 sp1,他们添加了一个选项来格式化parens而没有空格。因此,当我键入结束});
时,它会将paren间距格式化为:
$(document).ready(function() {
});
......这就是我想要的开始。
起初很难,但它很快变成了肌肉记忆。
答案 1 :(得分:2)
此问题可能是由Resharper引起的,至少在Visual Studio 2013中是这样。扩展名是添加包含“Function”的DHtml.js文件。 (对于任何其他插件,这足以让我卸载它。好的事情是它做了很多其他事情。)看到这个问题:Javascript Intellisense list too long...
编辑:JetBrains正在修复此错误:(http://youtrack.jetbrains.com/issue/RSRP-400812)。在此期间......
Resharper的选项允许您通过语言禁用其intellisense扩充。要解决此问题,您可以禁止javascript受到影响,如下所示: