视觉工作室可以建议变量名称?

时间:2012-08-18 20:46:27

标签: visual-studio-2010 visual-studio

Eclipse可以自动创建(或建议)变量名称。例如,如果我有一个名为MyClass的类,并且我想从中创建一个对象,MyClass myClass = new MyClass();在Eclipse中,在类名(MyClass)之后,我点击了ctrl + space键,Eclipse自动建议变量的名称(myClass)。 Visual Studio中是否有类似的功能?

3 个答案:

答案 0 :(得分:2)

Visual Studio不会执行您正在描述的内容,但可以通过扩展来获得此功能。我知道ReSharper会这样做(以及更多),所以你可能想尝试一下。

答案 1 :(得分:1)

我看到有两个免费选项:

1)免费的Visual Studio扩展程序.net AutoCode 只需安装它并输入代码:
MyClass i
然后按Ctrl + Enter。 AutoCode将用{替换MyClass i MyClass myClass = new MyClass();

2)您可以编写代码片段并将其保存为自定义片段文件夹(通常为C:\ Users \ UserName \ Documents \ Visual Studio NNNN \ Code Snippets \ Visual C#\ My Code Snippets),例如newvar.snippet名称):

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
      <Title>newvar</Title>
      <Author>
      </Author>
      <Description>Declares varible with the same name as its type name.</Description>
      <HelpUrl>
      </HelpUrl>
      <Shortcut>newvar</Shortcut>
    </Header>
    <Snippet>
      <Imports>
        <Import>
        </Import>
      </Imports>
      <Declarations>
        <Literal Editable="true">
          <ID>type</ID>
          <ToolTip>type</ToolTip>
          <Default>type</Default>
          <Function>
          </Function>
        </Literal>
      </Declarations>
      <Code Language="csharp"><![CDATA[$type$ $type$ = new $type$($end$);]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

重新启动VS并输入代码时 newvar
然后按两次Tab键 VS会插入 type type = new type();
第一个“类型”字高位。键入适当的类名MyClass(启用自动完成)并按两次Enter键。 VS将取代代码:
MyClass MyClass = new MyClass();
不幸的是,变量会获得其类的名称(请参阅SO answersuggestion on visualstudio.uservoice.com)。 但是手动修复(不正确的变量大小写)非常容易。

答案 2 :(得分:0)

Visual Studio不建议变量名称,但它应该完成大多数其他事情。

例如,如果您执行MyClass myClass =,则应弹出一个包含new MyClass();的智能感知框。

它确实有一些有用的东西,可以快速为你创造东西。例如,如果您键入class并按两次TAB,它将创建一个类模板,或者如果您键入ctormbox,它将创建一个构造函数或MessageBox.Show()调用分别。