【问题标题】:Can visual studio suggest variable names?视觉工作室可以建议变量名吗?
【发布时间】:2016-02-02 16:21:04
【问题描述】:
Eclipse 可以自动创建(或建议)变量名。例如,如果我有一个名为 MyClass 的类并且我想从中创建一个对象,MyClass myClass = new MyClass();在类名 (MyClass) 之后的 Eclipse 中,我按 ctrl+space 键,Eclipse 会自动建议变量的名称 (myClass)。 Visual Studio 中是否有类似的功能?
【问题讨论】:
标签:
visual-studio-2010
visual-studio
【解决方案1】:
Visual Studio 不执行您所描述的操作,但可以通过扩展获得此功能。我知道ReSharper 会这样做(以及更多),所以您可能想尝试一下。
【解决方案2】:
我看到有两个免费选项:
1) 免费的 Visual Studio 扩展 .net AutoCode.
只需安装它并输入代码:
MyClass i
然后按 Ctrl + Enter。 AutoCode 会将MyClass i 替换为
MyClass myClass = new MyClass();
2) 您可以编写代码 sn-p 并将其保存到自定义 sn-ps 文件夹(通常是 C:\Users\UserName\Documents\Visual Studio NNNN\Code Snippets\ Visual C#\我的代码片段):
<?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 answer 和suggestion on visualstudio.uservoice.com)。
但是手动修复(不正确的变量大小写)非常容易。
【解决方案3】:
Visual Studio 不建议使用变量名称,但它应该可以完成大多数其他事情。
例如,如果您执行MyClass myClass =,它应该会弹出一个带有new MyClass(); 的IntelliSense 框。
然而,它确实有一些有用的东西,可以快速为你创造东西。例如,如果您键入class 并按两次TAB,它将创建一个类模板,或者如果您键入ctor 或mbox,它将分别创建一个构造函数或MessageBox.Show() 调用。