4

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

4

3 回答 3

2

Visual Studio 不执行您所描述的操作,但可以通过扩展获得此功能。我知道ReSharper可以做到这一点(以及更多),所以您可能想尝试一下。

于 2012-08-19T02:21:24.063 回答
1

我看到有两个免费选项:

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

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

<?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();
不幸的是,变量将获得其类的名称(请参阅visualstudio.uservoice.com 上的SO 答案和建议)。但是手动修复(不正确的变量大小写)非常容易。

于 2014-02-21T14:02:29.700 回答
0

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

例如,如果你这样做MyClass myClass =,它应该会弹出一个 IntelliSense 框new MyClass();

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

于 2012-08-18T20:52:54.013 回答