如何用C#缩进区域内容?

时间:2009-09-25 23:56:53

标签: c# visual-studio-2008

我真的想让VS2008自动缩进一个区域的内容。样本可能是最好的。

现在做什么:

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

我想要的是:

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

我怎样才能让VS做到这一点?

编辑: 为了它的价值,VS 在VB.NET中做了

5 个答案:

答案 0 :(得分:6)

这个宏应该在大多数情况下起作用:

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

答案 1 :(得分:4)

开箱即用?你不能。

答案 2 :(得分:4)

将背景颜色更改为主页面背景以外的其他颜色(我在白色的顶部使用了银色),它会给你一种缩进的感觉,你正在寻找。

Options> Environment> Fonts and Colors>显示项目:Preprocessor Keyword,然后更改item background下拉列表。

答案 3 :(得分:1)

我想说模拟这个的唯一方法是在区域内使用大括号“{”和“}”,分隔你的代码块。不幸的是,这仅适用于函数和方法代码,因此这不适用于您的示例。在某些情况下,分隔代码块可能不兼容,需要根据代码逻辑进行调整。

function Test(){

    #region Example
    {
        your code
    }
    #end region

}

答案 4 :(得分:-1)

工具 选项 文本编辑器 C# 标签 缩进 智能识别