質問

どのようにすることができますの実施地域。k.a.コード崩壊のためにJavaScript Visual Studio?

がある場合は、数百線javascriptだき、より理解を利用コードの折りた地域としてvb/C#.

#region My Code

#endregion
役に立ちましたか?

解決

ブログここでは説明で この MSDN質問.

使Visual Studio2003/2005/2008マクロです。

コピー+ペーストからブログのエントリを忠実に再現酒:

  1. 開放マクロExplorer
  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. プラグインのインスに割り当てショートカットをクリックします。ツール->オプション->環境->キーボードおよび検索用のマクロに"showコマンドを含む"テキストボックス
  3. 現在、テキストボックスの"プレスショートカットキー"を入力することが可能です希望のストメニューから起動できます。使っていCtrl+M+E.なぜだかよくわかりません-Iに入ったので初めて使う:)

他のヒント

Microsoftは今、この機能を提供しての VS 2010 のための拡張機能を持っています:

のJScriptエディタ拡張する

のVisual Studioの最新バージョンに取り組んでいる開発者にとって朗報

この機能を使って来ているののWebエッセンシャルます。

これをチェックする

 loading=

"ここに画像の説明を入力します。

注:VS 2017を使用するための JavaScriptの地域:ます。https: //marketplace.visualstudio.com/items?itemName=MadsKristensen.JavaScriptRegionsする

ザッツ簡単!

マークあなたが崩壊してしたいセクション、

  

はCtrl + M + H

その左側の

と利用を拡大するために '+' マークます。

とつのvisual studio2012存在し、 Web Essentials2012年

とつのvisual studio2015年は、まさにそこに存在し、 Web Essentials2015.3

使用方法は以下のとおりですくん@prasadた

(かかわらず、任意の論理ブロックの)コードのセクションをマークし、折り畳み可能かつ拡張可能な領域として選択を定義しますCTRL + M + Hを押すこと。

Visual Studioのアドレスうまくこのため、

JSEnhancements のプラグイン。

感謝 0A0D 大答えになります。った新しい環境でも、頑張って下さい。 Darin Dimitrov も良い議論を制限する複雑さのJSファイルです。もう見が崩壊機能を定義するの閲覧を通じてファイルに以前に比べて簡単になりました。

に関する#領域、一般に、この その質問 カバーも非常に良く一致している。

その数の変更は、マクロの支援により高度なコード崩壊する。このメソッドを使用するという説明の後、//#地域のキーワードala C#表示しまのコードとして表示されます:

例コード:

//#region InputHandler
var InputHandler = {
    inputMode: 'simple', //simple or advanced

    //#region filterKeys
    filterKeys: function(e) {
        var doSomething = true;
        if (doSomething) {
            alert('something');
        }
    },
    //#endregion filterKeys

    //#region handleInput
    handleInput: function(input, specialKeys) {
        //blah blah blah
    }
    //#endregion handleInput

};
//#endregion InputHandler

更新マクロ:

Option Explicit On
Option Strict On

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics
Imports System.Collections.Generic

Public Module JsMacros


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

        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 New Stack(Of Integer)

        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 ...
                Dim tempStartIndex As Integer = CInt(startRegions.Pop())
                selection.MoveToLineAndOffset(CalcLineNumber(text, tempStartIndex), CalcLineOffset(text, tempStartIndex))
                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) As Integer
        Dim lineNumber As Integer = 1
        Dim i As Integer = 0

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

            If text.Chars(i) = vbCr Then
                lineNumber += 1
                i += 1
                If text.Chars(i) = vbLf Then
                    i += 1 'Swallow the next vbLf
                End If
            End If

            i += 1
        End While

        Return lineNumber
    End Function

    Private Function CalcLineOffset(ByVal text As String, ByVal index As Integer) As Integer
        Dim offset As Integer = 1
        Dim i As Integer = index - 1

        'Count backwards from //#region to the previous line counting the white spaces
        Dim whiteSpaces = 1
        While i >= 0
            Dim chr As Char = text.Chars(i)
            If chr = vbCr Or chr = vbLf Then
                whiteSpaces = offset
                Exit While
            End If
            i -= 1
            offset += 1
        End While

        'Count forwards from //#region to the end of the region line
        i = index
        offset = 0
        Do
            Dim chr As Char = text.Chars(i)
            If chr = vbCr Or chr = vbLf Then
                Return whiteSpaces + offset
            End If
            offset += 1
            i += 1
        Loop

        Return whiteSpaces
    End Function

End Module

このはVS2017でネイティブになりました。

//#region fold this up

//#endregion

//と#間の空白は関係ありません。

私は変更履歴で、それの一切の言及を見つけることができないとして、これは、中に添加し、どのバージョンかわかりません。私はv15.7.3でそれを使用することができるよ。

VS 2012とVS 2015年WebEssentialsプラグインをインストールして、あなたがそうできるようやってます。

http://vswebessentials.com/features/javascriptする

あなたは ReSharperのに使用している場合、

この写真で手順を休閑地

  //#region $name$
$END$$SELECTION$
  //#endregion $name$

と名前がそれがこの絵のように#region loading="lazy"

"ここに画像の説明を入力します"

このヘルプを願っています。

これらの答えはいずれも、Visual Studioの2017年に私のために動作しませんでした。

VS 2017のための最高のプラグイン: JavaScriptの地域

例1:

" ここに画像の説明を入力する

実施例2:

" ここに画像の説明を入力する

テストおよび承認されます:

" ここに画像の説明を入力する

Visual Studioの2017年については、

    //#region Get Deactivation JS
    .
    .
    //#endregion Get Deactivation JS

これは、以前働いていなかったので、私はここ

地域の設定を変更せずに動作するはずです。

//#region Optional Naming
    var x = 5 -0; // Code runs inside #REGION
    /* Unnecessary code must be commented out */
//#endregion

崩壊コメント領域を有効にするには、/ ** /

/* Collapse this

*/

設定 - >検索 "折りたたみ式" - >エディタ:戦略折りたたみ - > "自動" に "インデント"

から。

TAGS:Node.jsのNodejsノードJS JavascriptをES5 ECMAScriptのコメント折りたたみ隠れ地域 Visual Studioのコードvscode 2018バージョン1.2+ https://code.visualstudio.com/updates/v1_17#_folding-regions

VSのためではなく、ほぼすべての編集者のためだけでなくます。

(function /* RegionName */ () { ... })();

警告:のようにスコープなどの欠点があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top