0

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
4

3 に答える 3

3

VB には独自の規則があります。他のプログラミング言語からそれらをインポートしないでください。他のコード ベースとの不一致につながります。

代わりに、VB のスタイルを採用してください。実際、最初の引数の前でブレークしようとすると、結果がおかしくなることがわかります。しかし、のに行うと、すべてが理にかなっています。

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

このインデントのスキーマは、特にメソッド呼び出しと LINQ 式で、IDE によって一貫してサポートされていることがわかります。

ここで、個人的な好みに関する限り、後続のすべての行を 1 つのインデント幅でインデントするという C# の規則も好みますが、ここまでです。

于 2013-07-31T14:51:56.260 に答える
2

行末はVB.NET で重要です。行末はステートメント ターミネータです。セミコロンに相当します。C#で。構文要素として空白を使用することは珍しくありません。Python は別の例です。IDE が改行を挿入することを期待することはできません。これにより、プログラムの意味が変更されます。行継続文字であるアンダースコア _ を使用する必要があります。

アンダースコアの使用をオプションにする VB10 (VS2010 バージョン) で作業が行われました。「暗黙の行継続」と呼ばれる機能。アンダースコアを任意にスキップすることはできません。適切な場所で改行する必要があります。この MSDN ページで詳しく説明されています。暗黙的な行継続セクションまで下にスクロールします。

そのすぐ上に、アンダースコアの使用法が記載されています。その上で、: 文字を使用して、1 行に複数のステートメントを配置する方法を説明します。

VB.NET が C# に似ていると思い込まないでください。VB.NET の構文規則は、中括弧言語でコードを記述する方法とは根本的に異なります。

于 2013-07-31T08:54:54.743 に答える