Arhn - архитектура программирования

Как отформатировать методы VB.NET, чтобы они больше походили на методы C#?

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)
{

}

ВБ.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

  • Не. VB имеет свои собственные правила форматирования, используйте они, а не какие-то иностранные языки. 31.07.2013

Ответы:


1

VB имеет свои собственные соглашения. Не импортируйте их из других языков программирования, это приведет к несоответствиям с другими базами кода.

Вместо этого примите стиль VB. На самом деле, вы правильно заметили, что результат получается странным, когда вы пытаетесь выполнить прерывание перед первым аргументом. Но если вы делаете это после, все имеет смысл:

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

Вы заметите, что эта схема отступов последовательно поддерживается IDE, в частности, также в вызовах методов и выражениях LINQ.

Теперь, что касается личных предпочтений, я также предпочитаю принятое в C# соглашение об отступе всех последующих строк на одну ширину отступа, но начнем.

31.07.2013

2

Концы строк важны в VB.NET, они являются терминаторами операторов. Эквивалент точки с запятой ; в С#. Использование пробелов в качестве синтаксического элемента не является чем-то необычным, Python — еще один пример. Вы не можете ожидать, что IDE вставит за вас разрывы строк, что изменит смысл программы. Вы должны использовать символ продолжения строки, символ подчеркивания _.

Работа была проделана в VB10 (версия VS2010), что сделало использование подчеркивания необязательным. Функция под названием «Неявное продолжение строки». Вы не можете произвольно пропустить подчеркивание, вы должны разбить строку в нужном месте. Это хорошо задокументировано на этой странице MSDN, прокрутите вниз до раздела «Неявное продолжение строки».

Чуть выше вы увидите задокументированное использование подчеркивания. Выше вы увидите, как поместить более одного оператора в одну строку, используя символ :.

Не думайте, что VB.NET похож на C#, правила синтаксиса VB.NET коренным образом отличаются от того, как вы пишете код на языках с фигурными скобками.

31.07.2013
  • Нажмите клавишу Backspace. Ваше редактирование сделало мой ответ недействительным, вы не можете сделать это в SO. Это не форум. 31.07.2013

  • 3

    В 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 об этом. Это тоже полезно.


    ИЗМЕНИТЬ:

    Похоже, что начиная с Visual Studio 2010 компилятор автоматически неявно принимает некоторые разрывы строк без символа _. См. Неявное продолжение строки из MSDN.

    31.07.2013
  • В моих примерах подчеркивания не нужны. Почему VB.NET создает так много пробелов при переходе на новую строку и можно ли сделать так, чтобы она автоматически выглядела более похожей на C#? 31.07.2013
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..