Source Insight自定义快捷键

鄙人一直用的是Eclipse来开发,如果只是做java的话,这个就够了,但因时不时要查C/C++的代码,这个时候这个工具就有点力不从心了,因为C/C++的代码非常多,一般放在服务器上,就得用Source Insight来看了,Source Insight非常强大,它能够把服务器上的代码直接导入到项目中,但开始用的时候,有点不习惯,觉得不如Eclipse方便,特别是快捷键方面,其实这一点,Source
Insight比Eclipse强多了,我觉得就好像是Photoshop与美图秀秀一样,这里就介绍一下,如何修改Source Insight注释快捷键

注释有两种:

//行注释在Eclipse中的快捷键是:Ctrl+/

/*段落注释*/在Eclipse中的快捷键是:Ctrl+Shift+/

相信你使用Source Insight来查看代码时,你应该会编程,那么,在Source Insight里添加注释,就要写代码了,其语法跟C语言差不多,里面内置很多函数,只要调用就行了,建议先看遍Help,这里面有详细的函数说明

其实Source Insight里面的快捷键都是对应一段宏代码,这些代码就放在

D:\用户目录\Documents\Source Insight\Projects\Base\utils.em

这个文件里,当然这个目录可能跟你的不一样,但你可以这样找到:

Progect->Open progect->Base

这个Base是安装完成后,就会有的一个项目,选中它,就会显示其路径

utils.em里面就是一堆的宏代码

用任何一款文本编辑器都可以打开它,

添加一段宏:

这段代码是 //行注释

实现的功能是对选中的行加/取消行注释

//添加注释
macro MultiLineComment()
{

	hwnd = GetCurrentWnd()
	selection = GetWndSel(hwnd)
	LnFirst = GetWndSelLnFirst(hwnd) //取首行行号
	LnLast = GetWndSelLnLast(hwnd)   //取末行行号
	hbuf = GetCurrentBuf()
	if(GetBufLine(hbuf, 0) == "//magic-number:tph85666031"){
   		stop
	}   

	Ln = Lnfirst
	buf = GetBufLine(hbuf, Ln)
	len = strlen(buf)
	while(Ln <= Lnlast) {
		buf = GetBufLine(hbuf, Ln)  //取Ln对应的行
		if(buf == ""){                    //跳过空行
			Ln = Ln + 1
			continue
		}
		if(StrMid(buf, 0, 1) == "/") {       //需要取消注释,防止只有单字符的行
			if(StrMid(buf, 1, 2) == "/"){
				PutBufLine(hbuf, Ln, StrMid(buf, 2, Strlen(buf)))
 			}   

		}   

		if(StrMid(buf,0,1) != "/"){          //需要添加注释
      		PutBufLine(hbuf, Ln, Cat("//", buf))
   		}
  		Ln = Ln + 1
	}
	SetWndSel(hwnd, selection)
} 

添加完成,保存!再给这段宏加个快捷键:Ctrl+/

方法:

Options->Key Assignments

弹出一个对话框,在Command下面的输入框中,输入刚保存的宏名 MultiLineComment (不要用复制,手动输入最好)

其实只要输入前几个字符,下面的选择框里就会过滤掉其他的宏名,选中要添加快捷键的宏,如果没有添加快捷键的话,在Keystrokes下面是没有按键名的,单击Assign New Key...,弹出一个对话框,

Press the key-combination you want to assign,or click a mouse.....

大致的意思就是请按组合键或点击鼠标,最好不要按鼠标,可以使用Ctrl Alt Shift组合,按我们的意思,只要按下Ctrl+/就可以了,在Keystrokes 下面就会出现Ctrl+/,如果有重复的,就会有一个提示,

Do you want to remove that keystroke from the "XXXXXXX" command?

如果你希望当前宏使用这个快捷键,点 是 ,其他可以再换个组合

下面再添加/*段落注释*/

//注释选中行/* */
macro CommentSelStr()
{
    hwnd=GetCurrentWnd()
    //sel=GetWndSel(hwnd)  

    lnFirst=GetWndSelLnFirst(hwnd)
    lnLast=GetWndSelLnLast(hwnd)
    hbuf=GetCurrentBuf()  

    Ln = Lnfirst
<span style="white-space:pre">	</span>buf = GetBufLine(hbuf, Ln)
	//msg(buf)
	if(buff==""||Strlen(buf)==0){
	//msg("buf is null")
	}else{

		if(StrMid(buf, 0, 1) == "/") {       //需要取消注释,防止只有单字符的行
				if(StrMid(buf, 1, 2) == "*"){
					PutBufLine(hbuf, Ln, StrMid(buf, 2, Strlen(buf)))
	 			}else{
					str=cat("/*",buf)
					PutBufLine (hbuf, ln, str)
				}   

			} else{
				str=cat("/*",buf)
				PutBufLine (hbuf, ln, str)
		}

		ln=lnLast
		buf=GetBufLine(hbuf, Ln)
		len_s=strlen(buf)
		//msg(len_s)
		//msg(buf)
		//msg(StrMid(buf, strlen(buf)-1, strlen(buf)))
		//msg(StrMid(buf, strlen(buf)-2, strlen(buf)-1))
		if(StrMid(buf, strlen(buf)-1, strlen(buf)) == "/"){
			if(StrMid(buf, strlen(buf)-2, strlen(buf)-1) == "*"){
				PutBufLine(hbuf, Ln, StrMid(buf, 0, Strlen(buf)-2))
			}else{
				str=cat(buf,"*/")
				PutBufLine (hbuf, ln, str)
		}

		}else{
			str=cat(buf,"*/")
			PutBufLine (hbuf, ln, str)
		}
	    //SetWndSel( hwnd, sel )
    }
}

添加快捷键:Ctrl+Shift+/,方法如上面所述

下面是几个常用的宏,建议快捷键:

AddMacroComment:Ctrl+Shift+3

//添加“#ifdef 0”和“#endif”
macro AddMacroComment()
{
    hwnd=GetCurrentWnd()
    sel=GetWndSel(hwnd)
    lnFirst=GetWndSelLnFirst(hwnd)
    lnLast=GetWndSelLnLast(hwnd)
    hbuf=GetCurrentBuf()  

    if(LnFirst == 0) {
            szIfStart = ""
    }else{
            szIfStart = GetBufLine(hbuf, LnFirst-1)
    }
    szIfEnd = GetBufLine(hbuf, lnLast+1)
    if(szIfStart == "#if 0" && szIfEnd == "#endif") {
            DelBufLine(hbuf, lnLast+1)
            DelBufLine(hbuf, lnFirst-1)
            sel.lnFirst = sel.lnFirst – 1
            sel.lnLast = sel.lnLast – 1
    }else{
            InsBufLine(hbuf, lnFirst, "#if 0")
            InsBufLine(hbuf, lnLast+2, "#endif")
            sel.lnFirst = sel.lnFirst + 1
            sel.lnLast = sel.lnLast + 1
    }  

    SetWndSel( hwnd, sel )
} 

//注释光标所在行
macro CommentSingleLine(){
	hbuf = GetCurrentBuf()
	ln = GetBufLnCur(hbuf)
	str = GetBufLine (hbuf, ln)
	str = cat("/*",str)
	str = cat(str,"*/")
	PutBufLine (hbuf, ln, str)
}

注:段落注释是本人自己写的,其他是网络上复制下来的,这里面涉及到的函数都很简单,

时间: 2024-10-25 07:45:34

Source Insight自定义快捷键的相关文章

source insight 自定义宏 使用/* */注释一行选中的代码

因为有时会使用到一行中某部分代码需要注释,每次都去输入感觉太麻烦了所以根据网上资料自己修改的在source insight 自定义宏 用/*  */注释一行鼠标选中部分代码,如果选中部分代码已经使用/* */注释则取消注释. macro CommentSelStr() { hbuf = GetCurrentBuf() ln = GetBufLnCur(hbuf) str = GetBufSelText(hbuf) len = strlen(str) str_star = 0; while(str

source insight自定义宏脚本

1 /* 获取当前的文件名*/ 2 macro wcjFileName() 3 { 4 hbuf = GetCurrentBuf() 5 6 fullname = GetBufName(hbuf) 7 length = strlen(fullname) 8 if (length == 0) 9 return "" 10 11 index = length 12 while ("\\" != fullname[--index]); 13 14 purename = &

Source Insight 自定义命令说明

1.Custom Command Dialog box Command 显示当前选中命令的名字. 下拉列表中包含了所有的自定义命令. Run 命令行,当调用自定义命令时,这个命令行就会被执行. 命令行中可以包含特殊的元字符. 详见 "The 'Run' Field Format". Dir 设定命令行执行时的工作目录.Source Insight 会在命令行执行前将当前工作目录设置为此处设定的值. 如果是空的,那么Source Insight 会将当前工作目录设置为工程源码目录. Ou

Source Insight基本使用和快捷键

Source Insight基本使用和快捷键 为什么要用Source Insight呢?貌似是因为比完整的IDE要更快一些,比较利于查看大量的代码. 软件的安装很简单,设置好安装目录. 配置好文档路径,当然这个也可以在Options里面改,选Options->Preferences-里面的Folders标签就行. Project的建立和工作区域 在菜单中选择Project->New Project-可以建立新的工程,自定义工程名,选择保存路径,然后新建. 新建确定之后,在接下来的菜单中,需要选

Source Insight(C/C++/Java编辑器)用法

操作技巧 1.同步 在编辑区域中,键盘按下Ctrl,用鼠标单击变量或方法时,会跳到变量或方法的定义. 如果某个变量或者方法是黑色字体表示的,说明它还没有被定义. 当然有时候也不是因为没定义,需要同步一下,Project->Synchronizing Files. 2.查看定义 可以选中一个变量,然后右键,Jump to Definition,跳转到定义. 当然,上面提过,也可以直接Ctrl+鼠标点击. 在编辑区域内选中变量或者方法,过一两秒,Context Window会自动显示定义. 3.查找

【Android 系统开发】使用 Source InSight 阅读 Android 源码

1. 安装 Source Insight (1) Source Insight 相关资源 安装相关资源 : -- 下载地址 : http://www.sourceinsight.com/down35.html; -- 注册码 : SI3US-361500-17409 . 2. 导入 Android 源码 导入 Android 源码 : -- 创建工程 : Project -> New Project, 输入一个工程名, 文件路径设置为 Android 源码路径, 这个一定要注意, 否则会拷贝整个

Source Insight 常用设置和快捷键大全

1.括号配对高亮:"在前括号左侧,后括号左侧" 双击鼠标左键,可以选定匹配括号和其中内容(<>,(),L{R},[]之间) 2.让{ 和 } 不缩进:Options -> Document Options -> Auto Indenting -> Auto Indent Type 选 Simple 还有:让{ 和 } 不缩进: options->document options->auto indent 去掉indent Open Brace和

【转】Source Insight 常用设置和快捷键大全

出处:http://www.cnblogs.com/bluestorm/archive/2012/10/28/2743792.html 1.括号配对高亮:“在前括号左侧,后括号左侧” 双击鼠标左键,可以选定匹配括号和其中内容(<>,(),L{R},[]之间) 2.让{ 和 } 不缩进:Options -> Document Options -> Auto Indenting -> Auto Indent Type 选 Simple 还有:让{ 和 } 不缩进: options

source insight快捷键及使用技巧

退出程序                             : Alt+F4 重画屏幕                             : Ctrl+Alt+Space 完成语法                             : Ctrl+E 复制一行                             : Ctrl+K 恰好复制该位置右边的该行的字符       : Ctrl+Shift+K 复制到剪贴板                         : Ctrl