Как отступы содержимого региона с С#?

Мне бы очень хотелось, чтобы VS2008 автоматически отступал от содержимого региона. Вероятно, выбор будет лучше.

Что происходит сейчас:

#region [ Fields ]
public int Count;
public int Total;
#endregion

Я бы хотел:

#region [ Fields ]
    public int Count;
    public int Total;
#endregion

Как я могу заставить VS сделать это?

EDIT: Для чего это стоит, VS делает сделать это в VB.NET.

Ответы

Ответ 1

Из коробки? Вы не можете.

Ответ 2

Этот макрос должен работать, по большей части:

Public Sub IndentRegions()
    'Assume that the document has been smart formatted
    Dim TS As TextSelection = DTE.ActiveDocument.Selection
    TS.SelectAll()
    Dim lines As String() = TS.Text.Split(vbNewLine)

    Dim level As Integer = 0

    TS.StartOfDocument()

    While Not TS.ActivePoint.AtEndOfDocument

        If lines(TS.ActivePoint.Line - 1).Trim().StartsWith("#endregion") Then
            level = level - 1
        End If

        For i = 1 To level
            TS.Indent()
        Next

        If lines(TS.ActivePoint.Line - 1).Trim().StartsWith("#region") Then
            level = level + 1
        End If

        TS.LineDown()
        TS.StartOfLine()
    End While
End Sub

Ответ 3

Измените цвет фона на другой цвет, отличный от фона главной страницы (я использовал серебро поверх белого), и это придаст этому отступу ощущение, которое вы ищете.

Options > Environment > Fonts and Colors > Элементы отображения: Preprocessor Keyword, а затем измените выпадающее меню item background.

Ответ 4

Я бы сказал, что единственный способ имитировать это - использовать фигурные скобки "{" и "}" внутри регионов, ограничивая ваш кодовый блок. К сожалению, это работает только внутри Кодов функций и методов, поэтому это не сработает для вашего примера. В некоторых случаях разграничение блоков кода может быть несовместимым и требует корректировок в соответствии с вашей логикой кода.

function Test(){

    #region Example
    {
        your code
    }
    #end region

}

Ответ 5

Инструменты Опции Текстовый редактор С# Вкладки индент Smart Ident