2013-07-31 17 views
0

C#

太长如何格式化我的VB.NET方法,使其看起来更像C#方法?

public void AcceptableFunctionName(string variable, int anotherVariable, object variableThree) 
{ 

} 

可接受

public void AcceptableFunctionName(
    string variable, int anotherVariable, object variableThree) 
{ 

} 

替代

public void AcceptableFunctionName(
    string variable, 
    int anotherVariable, 
    object variableThree) 
{ 

} 

VB.NET

太长

Public Sub AcceptableFunctionName(variable As String, anotherVariable As Integer, variableThree As Object) 

End Sub 

什么?

Public Sub AcceptableFunctionName(
           variable As String, anotherVariable As Integer, variableThree As Object) 

End Sub 

什么?

Public Sub AcceptableFunctionName(
           variable As String, 
           anotherVariable As Integer, 
           variableThree As Object) 

End Sub 

问题

我如何使它所以Visual Studio会自动格式化我的VB.NET方法更好?

可接受

Public Sub AcceptableFunctionName(
    variable As String, anotherVariable As Integer, variableThree As Object) 

End Sub 

我已经试过

工具 - >选项 - >文本编辑器 - >基本 - >标签 - >缩进:无座,智能

Public Sub AcceptableFunctionName(
variable As String, anotherVariable As Integer, variableThree As Object) 

    End Sub 

Public Sub AcceptableFunctionName(
variable As String, anotherVariable As Integer, variableThree As Object) 

End Sub 
+2

不要。 VB有自己的格式约定,使用*这些*,而不是一些外语。 –

回答

3

VB有自己的约定。不要从其他编程语言中导入,这会导致与其他代码库不一致。

相反,拥抱VB的风格。事实上,当你在第一个参数之前尝试破解时,你会正确地观察到结果很奇怪。但是,如果你把它后做的,一切是有道理的:

Public Sub AcceptableFunctionName(variable As String, 
            anotherVariable As Integer, 
            variableThree As Object) 
    ' … 
End Sub 

你会发现,这个模式压痕的是一贯通过IDE的支持,特别是还在的方法调用和LINQ表达式。现在,就个人喜好而言,我也更喜欢C#的所有后续行缩进一个缩进宽度的约定,但是在这里我们继续。

1

在Vb.Net,当你想要的东西,继续另一条线路上使用_

Public Sub AcceptableFunctionName(_ 
variable As String, _ 
anotherVariable As Integer, _ 
variableThree As Object) 
    '... 
End Sub 

同为里面的代码:

Dim s As String = "This is my " & _ 
         "line" 

注意你不能在多行块中使用注释。
你可以阅读这个MSDN Documentation关于它。 This也很有用。


编辑:

的样子,因为Visual Studio 2010中,编译器会自动接受一些线隐含打破没有_字符。请参阅MSDN的Implicit Line Continuation

+0

在我的例子中下划线是不需要的。为什么VB.NET在创建新行时创建了这么多的空白区域,并且有可能使它看起来更像C#? –

2

在VB.NET中行结尾是重要,它们是语句结束符。相当于分号;在C#中。使用空白作为句法元素并不罕见,Python是另一个例子。您不能指望IDE为您插入换行符,这将改变程序的含义。你必须使用连续字符,一个下划线_。

工作是在VB10(VS2010版本)中完成的,它使下划线的使用成为可选项。称为“隐式行延续”的功能。你不能任意跳过下划线,你必须在正确的位置打破这条线。在this MSDN page中有详细记录,向下滚动到Implicit Line Continuation部分。

就在上面你会看到记下的下划线用法。在此之上,您将看到如何使用:字符在单行上放置多个语句。

避免假设VB.NET与C#类似,VB.NET语法规则与您在大括号语言中编写代码的方式有着根本的不同。

+0

为了清晰起见,我编辑了我的问题。 –

+0

按Backspace键。你的编辑使我的答案无效,你不能在SO上这样做。这不是一个论坛。 –

相关问题