原帖地址: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 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一下也许能事半功倍: )
浙公网安备 33010602011771号