如何修复Visual Studio在输入for循环时的自动完成功能?

3

自从我从VS 2015转换到VS 2017后,这件事一直困扰着我。

以下是发生的情况: 当我键入以下内容时

for(int i = 0; i<v.size()

然后添加一个分号,VS将自动完成该行代码并变为以下内容:
for(int i = 0; i<v.size());

显然,这不是我想要的,因为我仍然需要输入for循环的递增部分。

我如何特别防止自动完成?


看起来是右括号 ) 导致了自动解析器的错误。你可以关闭“输入分号时自动格式化语句”的选项,但这可能不是你想要的。作为一种解决方法,你可以使用基于范围的 for 循环或标准算法。 - NathanOliver
如果您拥有微软账户,请确保投票支持此问题:https://developercommunity.visualstudio.com/content/problem/27757/auto-complete-adds-parentheses-at-the-wrong-place.html - Benjamin Lindley
尝试使用range进行循环。 - Guillaume Racicot
2个回答

2
很奇怪你在手动输入这个。你尝试过使用存储的代码片段吗?输入for,你应该会得到一个弹出窗口,其中for片段被选中 -> 按Tab键插入主体和自动选择索引变量类型 -> 输入新类型 -> 按Tab键选择索引变量名称等等; 最后按Enter键跳转到循环体中。 enter image description here

@NathanOliver 你也可以编写自己的代码片段。 - user7860670
2
这是一个不错的解决方案,但手动输入for循环并不奇怪。如果编辑器没有添加多余的括号,那么这段代码片段也不会节省太多时间。 - Benjamin Lindley

1
这是在VS2017中引入的一个错误。请确保提高专门处理此问题的线程的重要性,希望这将鼓励VS团队在未来的发布中优先修复此错误。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接