原帖地址:http://www.cnblogs.com/yuyijq/archive/2008/06/24/1229228.html

 

这个版本离上个版本有些时日了,最近事情太多,这两天刚空闲下来就赶紧弄了下
要查看上个版本请点击这里

在今天发布的版本里对aspx/html页面嵌入的javascript也支持了,你可以折叠内嵌的javascript,并且可以看到内嵌javascript
里面的函数列表,对于代码折叠进一步完善了,换了另外一种方法处理代码折叠

我们做完case以后为了优化网络往往要删除注释空白,这完全是个体力活,当然,现在有很多小工具甚至网页都可以做到,但是如果
我们熟悉的VS就提供这个功能岂不是更好?

还是废话不多说了,上图

没办法,我还是百厌其烦的放出那个传说的第一张图:

现在我们的插件主窗口变成了这个样子的:

 对内嵌javascript的支持:
(不过好像内嵌代码的折叠好像有些问题,当你第一次打开一个内嵌有js代码的文件时折叠了,
突然之间一下子又没了,不过只要你点击以下"Refresh"按钮,一切就好了,这个问题也不会再次出现)

关于代码压缩
选择到"Files"TabPage页,然后选择一个js文件,然后点击"Compression"按钮,在同一个目录下就会生成一个以
和你文件名相同,后缀为compression.js的文件,树目录里也会显示出来的
在本版本中还有一个新特点是,Files tab页的树会显示出当前解决方案下所有的js文件,双击树的节点就会在代码窗口打开该文件

OK,就这么多了,希望能给你编写js代码带来一些帮助

*************************************版本更新**************************************************

非常抱歉,我在写资源文件时忽略了一个问题,造成中文版的资源找不到,所以程序发生异常,现在的版本已经解决了这个问题,并
改进了一些交互,对此造成的不变请原谅

 

 


插件下载:
VS2005版本
VS2008版本

关于如何在VS里安装插件请点击这里

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原帖地址:http://www.cnblogs.com/over140/archive/2009/06/15/1503712.html

 

前言

      Visual Studio的代码折叠功能非常好用,#region #endregion 这个词连搜狗的词库里面都出现了(不含'#'号),可见使用频率很高,但是他不支持js的代码折叠 : ( 最近Ext用得比较多,一写就是上百行JS代码,非常不方便,想着自己写个扩展或插件什么的,意外搜到了下面的文章,已经用宏来实现了,本文可以理解为该 文的简单译本,注意宏代码部分我有所改动 : )
 

文章

      1.      Using #region Directive With JavaScript Files in Visual Studio

 

环境

      Microsoft Visual Studio 2008

 

正文

      1.      打开宏资源管理器:视图 -> 其他窗口 -> 宏资源管理器

   

      2.      创建一个新模块

  

  3.  编辑宏:  选中模块 -> 右键编辑

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()
        
'农民伯伯 --- 自动为"//#endregion"结束的代码添加最后一行,不然出错
        If selection.Text.EndsWith(REGION_END) Then
            selection.EndOfLine()
            selection.NewLine()
            selection.SelectAll()
        
End If


        
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

    保存即可。这里可以省去新建宏的步骤,他会根据代码自动给你生成一个宏的。

    注意我加的代码段,如果不加,并且你的JS最后一行为#endregion,宏将报错,显示“值不在预期的范围内”。

 

  4.  设置快捷键

   

    4.1  工具 -> 选项 - > 环境 -> 键盘

    4.2  在显示命令包含下面的文本框中输入宏名outli,不用输全,下面能显示你新建的宏

    4.3  点一下 按快捷键 下面的文本框, 然后自定义快捷键组合,我定义的是Ctrl+M,Ctrl+J,点分配(别忘了!),点确定。

 

  5.效果

    5.1  输入代码:


//aasdsadsad

//#region
//
#endregion

    5.2  快捷键Ctrl+M,Ctrl+J启动宏,能看到系统的右下角显示可爱的小方块在转动,js编辑框显示效果如下:

    

    5.3  之后就可以用快捷键Ctrl+M,Ctrl+L来[展开/折叠]代码了,注意关闭之后重新打开需要再启动一次宏,展开效果如下:

     

 

结束

  想到不如做到,但做之前要是能先Google一下也许能事半功倍: )

posted on 2009-12-29 14:59  Dacia  阅读(9595)  评论(0)    收藏  举报