2013-07-31 22 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上這樣做。這不是一個論壇。 –

相關問題