source insight 使用技巧

source insight 使用技巧

 
1 sourceinsight screen font 的默认字体是Verdana的,它是一直变宽字体。在Document style中可以将字体改为定宽的Courier
  document options->auto indent 去掉indent Open Brace和Indent Close Brace的效果: 继上一段,在相对缩进行里, 如果输入"{"或"}", 则自动和上一行列对齐

3 今天把一个用sourceinsight排版整齐的C文件,偶然用VC打开一看,全乱了。研究了半天,发现SI对每个字符的宽度不太一致。

    发现选上"view --> draft view", 就可以让每个字符的宽度一致了。快捷键是 "Alt + F12"4选中几行代码按tab键或者shift+tab可以左右移动代码,调整代码时很有用。配置成简单好用的c/java代码编辑器
1、缩进与tab
(1)Options菜单àPreferencesàTyping卡,勾掉下面两项∶

Typing tab indents line,regardless of selection,空行按tab无法前进

Typing tab replaces current selection,选定部分内容、再按tab时会清除所选

(2)Options菜单àDocument Options(针对不同文件类型,分别进行设置)à下拉左上文件类型框、选择合适类型(c源文件)àEditing Options框中,tab width=2à Editing Options框中,勾选Expand tabs(这样,按tab键、等价于输入2个空格)

(3)Options菜单àDocument Optionsà选择合适的文件类型à点击右边中间的Auto Indent钮à在弹出的框中,左边一定要点Smart,右边有两个复选框Indent Open Brace和Indent Close Brace,具体效果可以看SIS的HELP。按照部门里的编程风格要求,最方便的就是把两个复选框都取消掉,然后点OK。

勾选Auto Indent之SMART的效果∶在C程序里, 如果遇到行末没有分号的语句,如IF, WHILE, SWITCH等, 写到该行末按回车,则新行自动相对上一行缩进两列。

勾掉Indent Open Brace和Indent Close Brace的效果∶继上一段,在相对缩进行里, 如果输入"}", 则自动和上一行列对齐(好像勾不勾都会有这个功能);而输入"{"时,不会与下面的行对齐(这是勾上Indent Open Brace时的效果)。

2、向项目中添加文件时,添加特定类型的文件(文件类型过滤器)
添加.pc文件和makefile文件,类型分别为C++,和Make File

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

3、去掉功能强大但是无用的自动完成功能
Options菜单àPreferences àTyping卡àAuto Completion框,勾掉Use automatic symbol completion window(这里是SIS的全局设置)

Options菜单àDocument OptionsàEditing Options框中,勾掉Allow auto-complete(局部设置)

上面两项必须全部勾选,才能启用Auto Completion功能

4、恢复小键盘的“+,-,*,/”功能
Options菜单àKey assignments,通过关键词Scroll 找到Scroll Half Page Up,取消小键盘/;通过关键词Scroll 找到Scroll Half Page Down取消小键盘*;通过关键词Function找到Function Up,取消小键盘-,通过关键词Function找到Function down,取消小键盘+。

5、恢复ctrl+a的全选功能
通过关键词save 找到save all,更改为ctrl+shift+a,通过关键词select找到select all,更改为ctrl +a

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 : 标亮所有文本中光标所在位置的单词
   
Source Insight的窗口操作:

   Ctrl+W 关闭当前文件窗口
   Ctrl+Tab 切换文件窗口
    project window Ctrl+O打开
    symbol window Alt+F8打开和关闭
    Contex Window 自定义键打开和关闭
    Relation Window 自定义键打开 先锁定再刷新联系
汇总其他小技巧:

让{ 和 } 不缩进:

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 快捷键大全=======================

剪切一个字                            : Ctrl+,
剪切行                   :Ctrl+U
复制一行                                : Ctrl+K
剪切该位置右边的该行的字符              : Ctrl+;
激活语法窗口                         : Alt+L
激活工程文件窗口                         : Alt+R(自定义的)

退出程序                                : Alt+F4
重画屏幕                                : Ctrl+Alt+Space
完成语法                                : Ctrl+E

恰好复制该位置右边的该行的字符          : Ctrl+Shift+K
复制到剪贴板                         : Ctrl+Del
剪切一行                                : Ctrl+U

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

左边缩进                                : 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

回到该行的开始                      : 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

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

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

相关文章

设计模式----2(简单工厂模式的概念,简单工厂模式的实现,简单工厂模式的优缺点)

简单工厂模式 简单工厂模式的概念 简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负 责创建其他类的实例,被创建的实例通常都具有共同的父类。 具体分类 工厂(Creator)角色 简单工厂模式的核心&#xff0…

Redis常见问题及其一些重点知识总结

1、什么是 Redis?简述它的优缺点? Redis 的全称是:Remote Dictionary.Server,本质上是一个 Key-Value 类型的内存数据库,很像 memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操…

shell生成随机文件名

1 #!/bin/bash 2 # tempfile-name.sh: 临时文件名产生器 3 4 BASE_STRmcookie # 32-字符的 magic cookie. 5 POS11 # 字符串中随便的一个位置. 6 LEN5 # 取得 $LEN 长度连续的字符串. 7 8 prefixtemp # 最终的一个临时文…

设计模式---3(工厂方法模式的概念,工厂方法模式的实现,工厂方法模式和简单工厂模式比较)

工厂方法模式 概念 工厂方法模式同样属于类的创建型模式又被称为多态工厂模式 。 工厂方法模式的意义 定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。 核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅…

设计模式---4(抽象工厂模式的概念,产品组和产品等级的概念,抽象工厂模式的实现)

抽象工厂模式 抽象工厂模式的概念 抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向 客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品 族的产品对象。 抽象工厂的角色及其职责 抽象工…

Win32项目关于MessageBox参数的详细说明

函数功能:该函数创建、显示、和操作一个消息框。消息框含有应用程序定义的消息和标题,加上预定义图标与Push(下按)按钮的任何组合。 函数原型:int MessageBox(HWND hWnd,LPCTSTR IpCaption,UINT…

w3af解析

1. w3af简介 w3afis a Web Application Attack and Audit Framework.即Web应用攻击和审计框架。w3af用python编写&#xff0c;依赖的库主要有2类&#xff0c;分别如下&#xff1a; <1> Core requirements: Python 2.6 fpconst-0.7.2&#xff1a;用于处理IEEE 754浮点…

1.c++中初始化列表和构造函数初始化的区别是什么?2.类的成员变量的初始化顺序是按照声明顺序吗?

初始化列表和构造函数初始化的区别是什么&#xff1f; 初始化和赋值对内置类型的成员没有太大的区别&#xff0c;在成员初始化列表和构造函数体内进行&#xff0c;在性能和结果上都是一样的。只有一些需要注意的事项 初始化列表一般情况如下&#xff1a; Date(int year, int …

设计模式---5(建造者模式的概念及其实现,建造者模式的角色与职责,建造者模式和工厂模式的区别)

建造者模式 建造者模式的概念 Builder 模式也叫建造者模式或者生成器模式&#xff0c;是由 GoF 提出的 23 种设计模式中的一种。 Builder 模式是一种对象创建型模式之一&#xff0c;用来隐藏复合对象的创建过程&#xff0c;它把复合对象的 创建过程加以抽象&#xff0c;通过子…

system阻塞SIGCHLD信号原因

system阻塞SIGCHLD信号原因 标签&#xff1a; c 2014-11-08 11:58 198人阅读 评论(0) 收藏 举报 分类&#xff1a; linux编程&#xff08;1&#xff09; 代码1&#xff1a;APUE10.18节的system函数源代码 int system(const char *cmdstring) /* with appropriate signal ha…

设计模式6---(单例模式的概念及其实现(懒汉式和饿汉式),线程安全)

单例模式 单例模式的概念 单例模式是一种对象创建型模式&#xff0c;使用单例模式&#xff0c;可以保证为一个类只生成唯一的实例对象。也就是说&#xff0c;在整个程序空间中&#xff0c;该类只存在一个实例对象。 GoF 对单例模式的定义是&#xff1a;保证一个类、只有一个实…

C语言解析http请求表单内容

[1].[文件] cgi.h ~ 405B 下载(105) 跳至 [1] [2] [3] [4] [5] [6] [7] [8] ?123456789101112131415161718192021222324252627#ifndef CGI_H#define CGI_H#include <stdio.h>#include <string.h>#include <stdlib.h>typedef struct Node{char *…

centos给用户添加sudo权限

linux给用户添加sudo权限&#xff1a; 有时候&#xff0c;linux下面运行sudo命令&#xff0c;会提示类似&#xff1a; xxxis not in the sudoers file. This incident will be reported. 这里&#xff0c;xxx是用户名称&#xff0c;然后导致无法执行sudo命令&#xff0c;这时候…

php手册

http://www.php100.com/manual/php/ http://www.kuqin.com/php5_doc/

套接字编程---2(TCP套接字编程的流程,TCP套接字编程中的接口函数,TCP套接字的实现,TCP套接字出现的问题,TCP套接字多进程版本,TCP套接字多线程版本)

TCP模型创建流程图 TCP套接字编程中的接口 socket 函数 #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int socket(int domain, int type, int protocol); domain: AF_INET 这是大多数用来产生socket的协议&#xff0c;使用TCP或UDP来传输&…

安全关注

http://yttitan.blog.51cto.com/70821/1576365

Linux中netstat工具详解

简介 Netstat 命令用于显示各种网络相关信息&#xff0c;如网络连接&#xff0c;路由表&#xff0c;接口状态 (Interface Statistics)&#xff0c;masquerade 连接&#xff0c;多播成员 (Multicast Memberships) 等等。 常见参数 -a (all)显示所有选项&#xff0c;默认不显示…

网络基础 2-1(应用层,HTTP三点注意,HTTP协议格式, 最简单的HTTP服务器)

应用层 应用层 负责应用程序之间的数据沟通-----协议都是用户自己定的 自定制协议&#xff1a; 结构化数据传输 序列化&#xff1a; 将数据对象以指定的协议&#xff08;数据格式&#xff09;进行可用于持久化存储或者数据传输时的数据组织 例如在分布式的系统中&#xf…

正则表达式 学习

http://regexr.com/ 在线匹配 http://c.biancheng.net/cpp/html/1434.html 查询网址

网络基础2-2(传输层,端口,详谈UDP)

传输层 负责数据能够从发送端传输接收端. 端口号 端口号(Port)标识了一个主机上进行通信的不同的应用程序;在TCP/IP协议中, 用 “源IP”, “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组来标识一个通信(可以通过 netstat -n查看);一个端口只能被一个…