Eclipse 可以自动创建(或建议)变量名。例如,如果我有一个名为 MyClass 的类并且我想从中创建一个对象,MyClass myClass = new MyClass(); 在类名 (MyClass) 之后的 Eclipse 中,我按 ctrl+space 键,Eclipse 会自动建议变量的名称 (myClass)。Visual Studio 中是否有类似的功能?
3 回答
Visual Studio 不执行您所描述的操作,但可以通过扩展获得此功能。我知道ReSharper可以做到这一点(以及更多),所以您可能想尝试一下。
我看到有两个免费选项:
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 答案和建议)。但是手动修复(不正确的变量大小写)非常容易。
Visual Studio 不建议使用变量名称,但它应该可以完成大多数其他事情。
例如,如果你这样做MyClass myClass =
,它应该会弹出一个 IntelliSense 框new MyClass();
。
然而,它确实有一些有用的东西,可以快速为你创造东西。例如,如果您键入class
并按 TAB 两次,它将创建一个类模板,或者如果您键入ctor
,mbox
它将MessageBox.Show()
分别创建一个构造函数或调用。