2

Кто-нибудь знает расширение VS2010 для регионов CSS? У меня есть несколько довольно больших CSS-файлов, и я не могу найти, как создать области для них. У меня есть расширение области JavaScript, но не для CSS?

3 ответа3

1

Вы можете попробовать макрос свертывания JavaScript и изменить регион //#region для /*#region*/

Проверьте http://blog.devarchive.net/2008/04/using-region-directive-with-javascript.html.

Конечно, вы должны создать новый макрос и скопировать / вставить тот же скрипт.

Option Strict Off
Option Explicit Off

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics
Imports System.Collections

Public Module JsMacros

Sub OutlineCssRegion()
    Dim selection As EnvDTE.TextSelection = DTE.ActiveDocument.Selection

    'Const REGION_START As String = "//#region"
    'Const REGION_END As String = "//#endregion"
    Const REGION_START As String = "/*#region*/"
    Const REGION_END As String = "/*#endregion*/"

    selection.SelectAll()
    Dim text As String = selection.Text
    selection.StartOfDocument(True)

    Dim startIndex As Integer
    Dim endIndex As Integer
    Dim lastIndex As Integer = 0
    Dim startRegions As Stack = New Stack()

    Do
        startIndex = text.IndexOf(REGION_START, lastIndex)
        endIndex = text.IndexOf(REGION_END, lastIndex)

        If startIndex = -1 AndAlso endIndex = -1 Then
            Exit Do
        End If

        If startIndex <> -1 AndAlso startIndex < endIndex Then
            startRegions.Push(startIndex)
            lastIndex = startIndex + 1
        Else
            ' Outline region ...
            selection.MoveToLineAndOffset(CalcLineNumber(text, CInt(startRegions.Pop())), 1)
            selection.MoveToLineAndOffset(CalcLineNumber(text, endIndex) + 1, 1, True)
            selection.OutlineSection()

            lastIndex = endIndex + 1
        End If
    Loop

    selection.StartOfDocument()
End Sub

Private Function CalcLineNumber(ByVal text As String, ByVal index As Integer)
    Dim lineNumber As Integer = 1
    Dim i As Integer = 0

    While i < index
        If text.Chars(i) = vbCr Then
            lineNumber += 1
            i += 1
        End If

        i += 1
    End While

    Return lineNumber
End Function

End Module
1

Это старый пост, но я подумал, что буду следить, так как он по-прежнему считается лучшим результатом в Google (VS CSS Regions).

См. Http://jse.codeplex.com/ - это расширение позволяет свернуть класс и регион с помощью CSS-файлов в VS 2010.

Пример:

/* #region Generic class collection */

.GenericClass {
    border: 1px solid #000000;
    }

.GenericClass2 {
    border: 2px solid #000000;
    }

/* #endregion */
0

Эта функция, наконец, добралась до Visual Studio 2012. :)

Использование, как описывает @Bjorn Aadnesgaard.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .