[javascript] 자바 스크립트에서 지역 / 코드 축소를 구현하는 방법

Visual Studio에서 JavaScript에 대한 코드 축소 (일명 코드 축소) 영역을 어떻게 구현할 수 있습니까?

자바 스크립트에 수백 줄이있는 경우 vb / C #에서와 같이 영역으로 코드 접기를 사용하면 더 이해할 수 있습니다.

#region My Code

#endregion



답변

블로그 항목은 여기 와이 MSDN 질문에 대해 설명합니다 .

Visual Studio 2003/2005/2008 매크로를 사용해야합니다.

충실도를 위해 블로그 항목에서 복사 + 붙여 넣기 :

  1. 매크로 탐색기 열기
  2. 새로운 매크로 생성
  3. 이름을 붙이다 OutlineRegions
  4. 매크로 편집을 클릭하고 다음 VB 코드를 붙여 넣습니다.
Option Strict Off
Option Explicit Off

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

Public Module JsMacros

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

        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. 매크로를 저장하고 편집기를 닫습니다
  2. 이제 매크로에 단축키를 할당 해 봅시다. 도구-> 옵션-> 환경-> 키보드로 이동하여 “다음을 포함하는 명령 표시”텍스트 상자에서 매크로를 검색하십시오.
  3. 텍스트 상자에서 “바로 가기 키 누르기”아래에서 원하는 바로 가기를 입력 할 수 있습니다. Ctrl + M + E를 사용합니다. 왜 그런지 모르겠습니다-방금 처음 입력하여 지금 사용하십시오 🙂

답변

Microsoft는 이제이 기능을 제공 하는 VS 2010 의 확장 기능을 갖습니다 .

JScript 에디터 익스텐션


답변

최신 버전의 Visual Studio를 사용하는 개발자에게 희소식

웹 요점은 이 기능을오고있다.

이것 좀 봐

여기에 이미지 설명을 입력하십시오

참고 : VS 2017의 경우 JavaScript 리전 사용 : https://marketplace.visualstudio.com/items?itemName=MadsKristensen.JavaScriptRegions


답변

간단합니다!

접고 싶은 부분을 표시하고

Ctrl + M + H

확장하려면 왼쪽에 ‘+’표시를 사용하십시오.


답변

Visual Studio 2012를 사용하려는 사람들을 위해 Web Essentials 2012가 있습니다.

Visual Studio 2015를 사용하려는 사람들을 위해 Web Essentials 2015가 있습니다 .3

사용법은 @prasad와 정확히 같습니다.


답변

논리 블록에 관계없이 코드 섹션을 표시하고 CTRL + M + H를 누르면 선택 영역이 축소 가능하고 확장 가능한 영역으로 정의됩니다.


답변

JSEnhancements는 비주얼 스튜디오 주소이 잘 플러그인.