什么是自动自动支撑完成?

时间:2015-06-29 20:16:12

标签: c# visual-studio visual-studio-2013 autocomplete ide

有人问过如何关闭它。但开头的内容是什么意思?毕竟 - 当我想在括号(或括号)之后继续 - 我必须按一些键。那么我怎样才能将此用于我的利益呢?

3 个答案:

答案 0 :(得分:3)

我发现这个前提有点可疑。是的,有些情况下,如果你想按顺序输入行,自动大括号完成可能几乎没有收获。但是,我建议你(我)经常用非线性线编程。一些例子:

  1. 当您点击方法的末尾时,您经常会跳转到其他文件继续,因此您不必添加方法的结束括号。

  2. 当您修改方法内的代码时,通常只需添加几行代码。

  3. 即使在创建新文件时,我也很少从空白文件开始,无论是使用代码片段还是复制其他文件作为起点。此外,即使您从一个空白文件开始,您添加的前几行可能是namespace {class {。右边有两个关闭括号,你不必输入,因为你可能不会在它们之后添加代码。

  4. 我确信还有更多实例。在我的脑海中,我猜我不经常写连续的代码行。那可能只是我。

答案 1 :(得分:2)

不同的人有不同的偏好,但在代码编辑器中这样的功能可以更快地将代码写入熟练的用户。例如,在创建函数时,键入

void foo(){ <enter>

将创建以下代码

void foo () {
    <cursor here>
}

允许您快速创建某些内容,而无需担心输入语言的语法(同样多)。同样适用于ifwhile

像我一样,程序员往往很懒惰(Doh!&gt;。&lt;)所以即使少按几次按键也是一件光荣的事。

编辑:

有评论说这实际上并不能保存按键,所以我会尝试澄清我的意思。

定性:这就是我所说的“人们有不同的偏好”。有些人可能不关心这个功能,但有些人发现它非常有用。有些人认为使用自动完成功能的编码 感觉 更加流畅...一旦你习惯了它,没有它就很难编码。

定量:考虑在命名空间中包含以下类,包括和不使用大括号和制表符的自动完成。

namespace MyNameSpace {
\t  public class DoStuff {
\t  \t  private int myPrivate;
\t  \t
\t  \t  public DoStuff() {
\t  \t  \t  myPrivate = 73; // 0x1001001 yay palidromes!
\t  \t  }
\t  \t
\t  \t  public int GetMyStuff() {
\t  \t  \t  return myPrivate;
\t  \t  }
\t  }
}
好的,所以如果所有的“\ t”都是标签,那么22(我希望我可以计算!)标签,最后有3个花括号,共计25次按键。对于这么小的文件和简单的功能来说并不多,但并不坏。

我非常喜欢自动完成大括号,当它与更高级的功能和工具结合使用时会发生什么。根据您选择的IDE,可能有许多工具不仅可以自动完成大括号和括号,还可以自动完成关键字,类型名称,标识符等。例如,如果您实现了接口,则会有自动创建一个实现类shell(在方法中没有任何实现),这意味着您根本不必编写任何方法声明!

在我看来,有一个工具比普通文本编辑器更适合任何程序员。只需继续尝试IDE和相应的工具,直到它 感觉 为止,并且不要专注于按键的定量测量。

答案 2 :(得分:0)

关键是,当您想要在括号后继续时,如果该功能不存在,您将必须按键。但是,当您想要在大括号或括号内键入内容时,您不必键入另一个键,IDE会在您键入时抱怨缺少大括号或括号[并且会正确缩进所有内容],并且你可以马上开始打字。

另外,请记住Visual Studio支持的其他语言有时可以从此功能中获得更多优势。例如,Visual Basic不要求所有方法调用都包含括号:

vfprintf