source insight快捷键及使用技巧

source insight快捷键及使用技巧

 

退出程序                             : Alt+F4

重画屏幕                             : Ctrl+Alt+Space

完成语法                             : Ctrl+E

复制一行                             : Ctrl+K

恰好复制该位置右边的该行的字符       : Ctrl+Shift+K

复制到剪贴板                         : Ctrl+Del

剪切一行                             : Ctrl+U

剪切该位置右边的该行的字符           : Ctrl+;

剪切到剪贴板                         : Ctrl+Shift+X

剪切一个字                           : Ctrl+,

左边缩进                             : F9

右边缩进                             : F10

插入一行                             : Ctrl+I

插入新行                             : Ctrl+Enter

加入一行                             : Ctrl+J

从剪切板粘贴                         : Ctrl+Ins

粘贴一行                             : Ctrl+P

重复上一个动作                       : Ctrl+Y

重新编号                             : Ctrl+R

重复输入                             : Ctrl+

替换                                 : Ctrl+H

智能重命名                           : Ctrl+'

关闭文件                             : Ctrl+W

关闭所有文件                         : Ctrl+Shift+W

新建                                 : Ctrl+N

转到下一个文件                       : Ctrl+Shift+N

打开                                 : Ctrl+O

重新装载文件                         : Ctrl+Shift+O

另存为                               : Ctrl+Shift+S

显示文件状态                         : Shift+F10

激活语法窗口                         : Alt+L

回到该行的开始                       : Home

回到选择的开始                       : Ctrl+Alt+[

到块的下面                           : Ctrl+Shift+]

到块的上面                           : Ctrl+Shift+[

书签                                 : Ctrl+M

到文件底部                           : Ctrl+End, Ctrl+(KeyPad) End

到窗口底部                           : (KeyPad) End (小键盘的END)

到一行的尾部                         : End

到选择部分的尾部                     : Ctrl+Alt+]

到下一个函数                         : 小键盘 +

上一个函数                           :   小键盘 -

后退                                 : Alt+,, Thumb 1 Click

后退到索引                           : Alt+M

向前                                 : Alt+., Thumb 2 Click

转到行                               : F5, Ctrl+G

转到下一个修改                       : Alt+(KeyPad) +

转到下一个链接                       : Shift+F9, Ctrl+Shift+L

回到前一个修改                       : Alt+(KeyPad) -

跳到连接(就是语法串口列表的地方)     : Ctrl+L

跳到匹配                             : Alt+]

下一页                               : PgDn, (KeyPad) PgDn

上一页                               : PgUp, (KeyPad) PgUp

向上滚动半屏                         : Ctrl+PgDn, Ctrl+(KeyPad) PgDn, (KeyPad) *

向下滚动半屏                        : Ctrl+PgUp, Ctrl+(KeyPad) PgUp, (KeyPad) /

左滚                                 : Alt+Left

向上滚动一行                         : Alt+Down

向下滚动一行                         : Alt+Up

右滚                                 : Alt+Right

选择一块                             : Ctrl+-

选择当前位置的左边一个字符           : Shift+Left

选择当前位置右边一个字符             : Shift+Right

选择一行                             : Shift+F6

从当前行其开始向下选择               : Shift+Down

从当前行其开始向上选择               : Shift+Up

选择上页                             : Shift+PgDn, Shift+(KeyPad) PgDn

选择下页                             : Shift+PgUp, Shift+(KeyPad) PgUp

选择句子(直到遇到一个 . 为止)        : Shift+F7, Ctrl+.

从当前位置选择到文件结束             : Ctrl+Shift+End

从当前位置选择到行结束               : Shift+End

从当前位置选择到行的开始             : Shift+Home

从当前位置选择到文件顶部             : Ctrl+Shift+Home

选择一个单词                         : Shift+F5

选择左边单词                         : Ctrl+Shift+Left

选择右边单词                         : Ctrl+Shift+Right

到文件顶部                           : Ctrl+Home, Ctrl+(KeyPad) Home

到窗口顶部                           : (KeyPad) Home

到单词左边(也就是到一个单词的开始)   : Ctrl+Left

到单词右边(到该单词的结束)           : Ctrl+Right

排列语法窗口(有三种排列方式分别按1,2,3次)        : Alt+F7

移除文件                             : Alt+Shift+R

同步文件                             : Alt+Shift+S

增量搜索(当用Ctrl + F 搜索,然后按F12就会转到下一个匹配)      : F12

替换文件                             : Ctrl+Shift+H

向后搜索                             : F3

在多个文件中搜索                     : Ctrl+Shift+F

向前搜索                             : F4

搜索选择的(比如选择了一个单词,shift+F4将搜索下一个)    : Shift+F4

搜索                                 : Ctrl+F

浏览本地语法(弹出该文件语法列表窗口,如果你光标放到一个变量/函数等,那么列出本文件该变量/函数等的信息)    : F8

浏览工程语法                         : F7, Alt+G

跳到基本类型(即跳到原型)             : Alt+0

跳到定义出(也就是声明)               : Ctrl+=, Ctrl+L Click (select), Ctrl+Double L Click

检查引用                             : Ctrl+/

语法信息(弹出该语法的信息)           : Alt+/, Ctrl+R Click (select)

高亮当前单词                         : Shift+F8

语法窗口(隐藏/显示语法窗口)          : Alt+F8

关闭窗口                             : Alt+F6, Ctrl+F4

最后一个窗口                         : Ctrl+Tab, Ctrl+Shift+Tab 

 

 

几个较常用的快捷键
默认情况下,SI已经定义了很多非常实用的快捷键: 
F5
指定行号,实现行跳转,在遇到编译错误的时候,能特别方便的找到出错行。 
Shift+F8
高亮显示指定标识,快速浏览标识的使用情况。 
Ctrl+鼠标点击标识
直接跳转至标识定义处。 
Ctrl+F
本文件内查找。 
F3
本文件查找结果的上一个。 
F4
本文件查找结果的下一个。 
F7
打开Browse Project Symbols窗口,快速浏览工程内标识定义。 
Ctrl+M
创建或查找书签,方便下次找回此位置。

 

Source Insight技巧收集


1、背景色选择
    要改变背景色Options->preference->windows background->color设置背景色
2、解决字符等宽对齐问题。
    SIS默认字体是VERDANA,很漂亮。这网页上应该也是用的VERDANA字体。但由于美观的缘故,VERDANA字体是不等宽的。比如下面两行
    llllllllll
    MMMMMMMMMM
    同样10个字符,长度差多了.用VERDANA来看程序,有些本应该对齐的就歪了。解放方法是使用等宽的字体,但肯定比较丑。比较推荐的是用Courier New。
3、解决TAB键缩进问题
    Options-> Document Options里面的右下角Editing Options栏里,把Expand tabs勾起来,然后确定。OK,现在TAB键的缩进和四个空格的缩进在SIS里面看起来就对齐咯

4、SI中的自动对齐设置:
    在C程序里, 如果遇到行末没有分号的语句,如IF, WHILE, SWITCH等, 写到该行末按回车,则新行自动相对上一行缩进两列。
    Option->Document option下的Auto Indient中Auto Indient Type有三种类型 None,Simple,Smart。个人推荐选用Simple类型。
5、向项目中添加文件时,只添加特定类型的文件(文件类型过滤器)
    编辑汇编代码时,在SIS里建立PROJECT并ADD TREE的时候,根据默认设置并不会把该TREE里面所有汇编文件都包含进来
    只加了.inc和.asm后缀的,.s后缀的没有。而且用SIS打开.s的文件,一片黑白没有色彩,感觉回到DOS的EDIT时代了……
    解决方法是在Options->Document Options里面,点左上的Document Type下拉菜单,选择x86 Asm Source File,
    然后在右边的File filter里*.asm;*.inc;的后面加上*.s;接着CLOSE就可以了。
    上面问题解决了,但注意加入*.s后还需要重新ADD TREE一遍才能把这些汇编加到PROJECT里面。
6、添加文件类型
    用户可以定义自己的类型,Options->Document Options->add type,定义文件类型名以及文件名后缀。
    勾选include when adding to projects在添加目录下文件到工程是该类文件就会添加进SI的工程。
    如果需要将所有文件添加进SI的工程,可以定义一种文件类型*.*。
7、恢复ctrl+a的全选功能
    通过关键词save 找到save all,更改为ctrl+shift+a,通过关键词select找到select all,更改为ctrl +a


Source Insight常用的快捷键:
    Ctrl+= :Jump to definition
    Alt+/ :Look up reference
    F3 : search backward
    F4 : search forward
    F5: go to Line
    F7 :Look up symbols
    F8 :Look up local symbols
    F9 :Ident left
    F10 :Ident right
    Alt+, :Jump backword
    Alt+. : Jump forward
    Shift+F3 : search the word under cusor backward
    Shift+F4 : search the word under cusor forward
    F12 : incremental search
    Shift+Ctrl+f: search in project
    shift+F8 : hilight word

Source Insight的窗口操作:
    project window Ctrl+O打开
    symbol window Alt+F8打开和关闭
    Contex Window 自定义键打开和关闭
    Relation Window 自定义键打开 先锁定再刷新联系

在Source Insight中添加自定义功能的步骤如下:
1.Source Insight中,Options->Custom Commands...->Add...,New Command name 随便写,我的是"Edit with Vim"
2.Run中写入: "C:Program FilesVimvim63gvim.exe" --remote-silent +%l %f
意思是在当前已经打开的gvim窗口里面打开当前的文件,并且跳转到指定行
%l为当前的行号,%f为文件名
使用 --remote-silent 的作用是,如果已经打开了对应文件,就不会打开第二次,而是在已经打开的文件里跳转到对应行
3.还是同一个对话框里面,选择Keys->Assign New Key...->按F12,如果你已经将F12设置给其他命令,选择其他的按键就行了

下面是一些常用自定义功能:( CUSTOM COMMANDS )

打开资源管理器并选中当前文件
ShellExecute open explorer /e,/select,%f
查看log
"C:Program FilesTortoiseSVNinTortoiseProc.exe" /command:log /path:%f /notempfile /closeonend
diff
"C:Program FilesTortoiseSVNinTortoiseProc.exe" /command:diff /path:%f /notempfile /closeonend
取得锁定(check out)
"C:Program FilesTortoiseSVNinTortoiseProc.exe" /command:lock /path:%f /notempfile /closeonend
提交(check in)
"C:Program FilesTortoiseSVNinTortoiseProc.exe" /command:commit /path:%f /notempfile /closeonend
更新(update)
"C:Program FilesTortoiseSVNinTortoiseProc.exe" /command:update /path:%f /notempfile /closeonend
更新整个目录(update all)
"C:Program FilesTortoiseSVNinTortoiseProc.exe" /command:update /path:*.* /notempfile /closeonend
取消锁定(undo check out)
"C:Program FilesTortoiseSVNinTortoiseProc.exe" /command:revert /path:%f /notempfile /closeonend
在ultriEdit中编辑
"C:Program FilesUltraEdit-32/uedit32" %f
在vim中编辑并定位到当前行
"C:Program FilesVimvim63gvim.exe" --remote-silent +%l %f

汇总其他小技巧:

让{ 和 } 不缩进:

Options->Document Options->Auto Indent->Indent Open Brace/Indent Close Brace

hao space: SourceInsight 小技巧
1、按住"ctrl", 再用鼠标指向某个变量,点击一下,就能进入这个变量的定义。

2、今天把一个用sourceinsight排版整齐的C文件,偶然用VC打开一看,全乱了。研究了半天,发现SI对每个字符的宽度不太一致。
    请教同事发现选上"view --> draft view", 就可以让每个字符的宽度一致了。快捷键是 "Alt + F12"

3、"shift+F8" 标亮所有文本中光标所在位置的单词

4、跳到某一行:"ctrl + g"

Source Insight是阅读和编写代码的好东东,基本上也算得上是经典之作了,虽然还有一点点小bug,不过对于我们这些C程序员来说可是一旦拥有别无所求。下列小技巧是在工作中同事整理总结的,对提高工作效率多少有点帮助,其中有些是对应于SVN的,没有使用SVN做版本管理的人就不要白费力气了。

ShellExecute open explorer /e,/select,%f
        /*作用是在资源管理器中打开当前编辑文件并选中*/
        /*可以设置快捷键如ctrl+e,这样能很方便的在资源管理器打开对应的文件,并进行tortoiseSVN的相关操作*/

X:Progra~1TortoiseSVNinTortoiseProc.exe /command:log /path:% /notempfile /closeonend
        /*使用前注意更改对应的bin安装路径*/
        /*作用是直接查看当前文件的svn log*/
        /*可以设置快捷键如ctrl+l*/

X:Progra~1TortoiseSVNinTortoiseProc.exe /command:diff /path:% /notempfile /closeonend
        /*使用前注意更改对应的bin安装路径*/
        /*作用是直接查看当前文件和基准版本的比较*/
        /*可以设置快捷键如ctrl+d*/

                                       Source Insight中的文件过滤器

遇到在新建工程的时候,需要加入一些除了.c .h 等之外的文件,比如.s,.scf ,Makefile和ReleaseNotes等文件,而每次新建工程的时候,即使取消了shown only known document types,和在点击Add All之后选择了Recusively add lower sub-directories ,也还是不能正常识别这类文件,也就不能加入进工程,只能我们自己手动双击添加到工程中,如果文件少还无所谓,但是包含了很多子文件夹的大工程,这样实在不可行。

百度了下,终于发现解决办法了:

打开Source Insight,在新建工程之前,进入

Options -> Document Options... Alt-T    -> 点击Document Type的下拉框,然后选择Make File,在右边的File Filter中,在原先的*.mak后面加上一个分号,即多个不同过滤规则以分号间隔开,再加上*makefile,变成 *.mak;*makefile,并且选中Include when adding to projects,这样,以后再新建工程的时候,就可以识别makefile或Makefile了(好像此处Source Insight并不区分大小写)。

类似的原理,给其他你想要加入的不同的类型的文件,分别加入到原先的一些文件类型后面,注意要用分号隔开,或者直接新建一个文件类型,然后写上对应的顾虑规则,比如

点击 Add Type,填入新文件类型的名字Scatter File,File Filter中写上*.scf,注意再选中下面的Include when adding to projects,这样就建立了一个新的文件类型, 以后新建工程加入文件时候,系统就能够识别后缀是scf的文件了。

当然感兴趣的,还可以对你新建立的文件类型进行一些格式化设置。包括Parsing,Tab等等设置。

转载于:https://www.cnblogs.com/Charles-Zhang-Blog/archive/2013/05/28/3103465.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/401580.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Crosstool-ng制作交叉编译工具链

Crosstool-ng制作交叉编译工具链 交叉编译器可以用现成的,比如CodeSourcery制作的交叉编译器,也可以自己制作,一般是用kernelgccglibcbinutils的源码包来编译安装,后来由于这个太麻烦于是就有类似crosstool这样的自动化配置工具。…

数学建模之聚类模型详解

聚类模型 引言 “物以类聚,人以群分”,所谓的聚类,就是将样本划分为由类似的对象组成的多个类的过程。聚类后,我们可以更加准确的在每个类中单独使用统计模型进行估计、分析或预测;也可以探究不同类之间的相关性和主…

嵌入式Linux启动过程中的问题积累

嵌入式Linux启动过程中的问题积累 Dongas 07-12-19 1.Bad Magic Number ## Booting image at 33000000 ... Bad Magic Number OMAP5912 OSK # (tftp下载好kernel的uImage后就停止在这,不能启动kernel) 问题原因:启动参数设置错误,…

使用BusyBox制作嵌入式Linux根文件系统

STEP 1:构建目录结构 创建根文件系统目录,主要包括以下目录/dev /etc /lib /usr /var /proc /tmp /home /root /mnt /bin /sbin /sys #mkdir /home/rootfs#cd /home/rootfs #mkdir dev etc lib usr var proc tmp home root …

Linux串口c_cc[VTIME]和c_cc[VMIN]属性设置的作用

Linux串口c_cc[VTIME]和c_cc[VMIN]属性设置的作用 在串口编程模式下,open未设置O_NONBLOCK或O_NDELAY的情况下。 c_cc[VTIME]和c_cc[VMIN]映像read函数的返回。 VTIME定义等待的时间,单位是百毫秒(通常是一个8位的unsigned char变量,取值不能…

Linux_2.6字符设备驱动实例

第一步&#xff1a;my74hc595.c #include <linux/module.h> //模块所需的大量符号和函数定义#include <linux/init.h> //指定初始化和清除函数#include <linux/fs.h> //文件系统相关的函数和头文件#include <linux/cdev.h> //cdev结构的头文件#include…

移植mysql到嵌入式ARM平台

移植MySQL到嵌入式ARM平台 MySQL没有专门针对ARM的版本&#xff0c;移植到ARM没有官方文档可参考&#xff0c;因此&#xff0c;暂时参考这样一篇文档&#xff1a; http://blog.chinaunix.net/space.php?uid9701860&doblog&id285428&#xff0c;因为MySQL5.5之后&…

'./mysql-bin.index' not found (Errcode: 13) 的解决方法

将文件系统复制到PC机上&#xff0c;然后再拷贝到别的SD卡后&#xff0c;发现mysql无法启动了&#xff0c;首先检查了一下mysql的错误日志&#xff0c;发现最后出现以下错误&#xff1a;/usr/local/mysql/libexec/mysqld: File ./mysql-bin.index not found (Errcode: 13)提示.…

Unity Hub安装Android Build Support报错:Failed to delete old Unity Android Supprtinstallation files

安装失败&#xff1a; 解决方法&#xff1a; 需要先安装 Android Build Support &#xff0c;再安装 Android SDK & NDK Tools 和 OpenJDK 其他情况&#xff1a; 如果已经安装了Android SDK & NDK Tools 和 OpenJDK&#xff0c;只剩Android Build Support 未安装成功…

红米5 Plus刷开发版/小米手机刷开发版

到官网选择对应手机型号下载Rom包&#xff1a;MIUI下载 下载完成后手机打开&#xff1a;设置→我的设备→MIUI版本→右上角选择【手动选择安装包】&#xff0c;找到下载的包等待手机重启就行了。 PS&#xff1a;如果是像下面这样 小米手机找不到手动选择安装包 选项的话&#…

小米手机开启Root权限

1.开启权限前手机先要刷成开发版&#xff0c;可以看 → 小米手机刷开发版 2.设备解锁&#xff0c;先在 设置→我的设备→全部参数→开启开发者模式→多击MIUI版本 开启开发者模式&#xff0c;然后进入 设置→更多设置→开发者选项→设备解锁状态 &#xff0c;根据操作提示解锁…

小米手机Linux Deploy安装Ubuntu

1.Linux Deploy 2.4版本之后无需再安装Busy Box&#xff0c;所以BusyBox安装报错失败的不需要再安装了。直接GooglePlay下载inux Deploy最新版进行安装即可&#xff0c;或 点击此处下载。 2.下载安装Linux Deploy之后进行Ubuntu的安装。 我的配置如下&#xff1a; 引导设置&a…

Linux Deploy Ubuntu安装samba服务

1.更新软件源&#xff1a;sudo apt-get update 2.安装samba服务&#xff1a;sudo apt-get install samba 3.备份原配置文件&#xff1a;sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak 4.创建共享目录&#xff1a;sudo mkdir -p /共享文件夹路径 5.更新目录权限&…

摄像头监控录像保存到手机(旧手机/废弃手机)本文使用手机为红米Note5 Plus

本文为使用旧手机安装linux Ubuntu系统之后安装samba服务&#xff0c;用作NAS网络存储&#xff0c;需要摄像头软件可以将录像保存至NAS。 1.手机需要先开启 Root权限&#xff0c;小米手机可参考&#xff1a;小米手机开启Root权限-CSDN博客 2.小米手机正常开启的Root权限不是完整…

通过Blender将PMX模型转为FBX导入Unity

一、下载Blender&#xff08;建议2.83版本不要太高的&#xff09; 官网下载网址&#xff1a;Blender 2.83 LTS — blender.org 二、之后安装Blender&#xff0c;安装后下载插件 下载地址&#xff1a;https://codeload.github.com/GiveMeAllYourCats/cats-blender-plugin/zip/…

Git理论、原理、操作

Git理论、原理、操作 Git简介&#xff1a; 一个开源的分布式版本控制系统。用于处理任何大大小小的项目&#xff0c;是一个开放源码的版本控制软件。Git与SVG的区别&#xff1a; 1、git是分布式的 2、git把内容按元数据方式存储&#xff0c;svg按文件 3、git分支和svg分支不同…

我在Facebook的十点经验分享[转载]

转载自 http://blog.sina.com.cn/s/blog_70c9335b010144kc.html 我是2007年初加入Facebook, 那时大概150人; 2011年9月底离开, 当时3200多人. 经历了很多稀奇古怪但影响很大的项目, 像Application Platform, Social Ads, News Feed, Gift Shop, Facebook Credits等等. 碰到的很…

Android中让Service被关闭后再重新启动

2019独角兽企业重金招聘Python工程师标准>>> --------------------------------------------------------------------------- 转载&#xff1a;http://blog.csdn.net/arui319 --------------------------------------------------------------------------- 如何做…

CloudStack学习-3

此次试验主要是CloudStack结合openvswitch 背景介绍 之所以引入openswitch&#xff0c;是因为如果按照之前的方式&#xff0c;一个网桥占用一个vlan&#xff0c;假如一个zone有20个vlan&#xff0c;那么岂不是每个vlan都要创建一个桥&#xff0c;维护很麻烦 openvswitch是由Nic…

JavaScript将负数转换为正数

负负得正 .vue里的写法&#xff1a; <div v-if"num < 0">{{-(num)}}<div> <div v-if"num > 0">{{num}}<div> 使用过滤器&#xff1a; <div >{{num | absNum}}<div> filters: {absNum(value) {if(a < 0)…