把emacs变成代码浏览器,类似sourceinsight
SourceInsight和UltraEdit技巧
Source Insight使用技巧默认情况下,SI已经定义了很多非常实用的快捷键:F5指定行号,实现行跳转,在遇到编译错误的时候,能特别方便的找到出错行。
Shift+F8高亮显示指定标识,快速浏览标识的使用情况。
Ctrl+鼠标点击标识直接跳转至标识定义处。
Ctrl+F本文件内查找。
F3本文件查找结果的上一个。
F4本文件查找结果的下一个。
F7打开Browse Project Symbols窗口,快速浏览工程内标识定义。
Ctrl+MSource Insight设置1、背景色选择要改变背景色Options->preference->windows background->color设置背景色2、解决字符等宽对齐问题。
SIS默认字体是VERDANA,很漂亮。
这网页上应该也是用的VERDANA 字体。
但由于美观的缘故,VERDANA字体是不等宽的。
比如下面两行llllllllllMMMMMMMMMM同样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后缀的没有。
将Emacs配置成一个IDE编程环境
图中的几个脚本文件将在下面分别解释器用途。 ①对 emacs 的基本设置, 即 base.el 文件 (在~/_emacs 中) , base.el 文件中的部分内容如下:
设置默认工作目录,即启动 emacs 后所在的目录,我这里设的是主目录下的 work 文件夹, 我几乎所有的代码都是在该目录下完成的,在 base.el 中加上下面一句:
1.Emacs 的模式键定义
四个模式键:C------ctrl;M------alt;s------super(win);S----shift 比如:C-x:表示 ctrl+x(表示先按下 ctrl 键,然后按下 x 键 C-x c C-c:表示按下 ctrl,然后按下 x 键松开后再按下 c 键 C-x k:表示按下 ctrl,同时按下 x 和 k 键
这部分是对 f1-f12 的一些绑定:
这里的 f6 为调试,即用 gdb 调试,f7 是调用 make 来对原文件进行编译。 将 f8 为对 buffer 的一些常用操作:
用 f12 查看函数定义:
对 ecb 的键绑定:
对窗口的一些键绑定:
7.Emacs 的扩展配置
上面已经完成配置 emacs 的基本工作,换句话说,到目前为止我们已经可以用 emacs 进行 开发了,但是为了进一步的是 emacs 更符合我的习惯,又加了一个 cyexpand.el 这个配置文 件,是 emacs 的功能更强大,cyexpand.el 的部分设置为:
4.Emacs 的基本文件中一般不会放太多的设置信息,一般放一些 emacs 的搜索路 径的信息。这里我的 emacs 的配置文件,即 lisp 脚本都放在~/_emacs 的文件夹中。 因此首先添加一个 emacs 的搜索路径:
用vim替代sourceinsight
用V I M替代S O U R C E I N S I G H T 在浏览和修改稍微复杂的程序时候,确实source insight是个非常好的工具。
转到Linux以后,我一直在找替代工具。
最先是等anjuta,结果苦苦等到了一个鸡肋的。
然后,认真配置了下wine,用wine把si跑了起来,只是si的开发有些非常规,就算在win下面,中文注视等都是类似半角汉字的那样,而且,在实际使用中,快速查找参考的功能,有bug,曾经搞得我冒汗。
试想下,你在一堆源码里面通篇修改了一个变量的处理方式,等一个星期以后,发现si原来的搜索不全,有2个需要修改的地方漏了,不冒汗才怪。
(anjuta也有类似的问题)。
我当初使用vi,纯粹是为了能在任何时候(比如tty下面)都有个熟悉的编辑器而已。
偶尔一次看到了别人的vim的截图,发现支持一些函数列表,就赶紧搜索了一下,首先找到了一个中文的vim在线帮助(我已经贴论坛了&sid=0577f1936d33b3cc9b1e34b85233ebc9),有了中文帮助,当然中国人才最能理解其中的命令的确切含义,不想读英文帮助,半懂而已。
想起以前,看fvwm的英文帮助,是何等的艰难。
这下终于开始了逐篇的阅读。
才慢慢熟练了:h查找帮助的方法。
通过2天的奋斗,几乎读完了在线帮助,搜索了几个小时的的插件。
才发现vim 竟然完全可以达到si的常用的那些非常有特色的功能。
虽然界面还是有些简陋。
下面列举一下我认为需要实现的si的功能:1。
函数和变量的定义的即时浏览。
这个是非常有用的功能。
成千的变量,对于C/C++来说,一个类型错误都可能导致极难发现的问题,运行时出现无法预料的结果。
vim 里面使用taglist实现的。
并且多个文件的列表都在一起,还可以按照类型折叠,员阌阡馈2。
变量调用的通篇搜索。
涉及到一个全局变量的时候,可能10来个文件包括。
排错的时候,需要一个一个的地方去认真确认的。
Source_Insight设置
si的主要配置都在Options->Perferences菜单里,1、GeneralProject File Synchronization->Remove missing file from project选上可以避免因文件找不到而弹出错误对话框。
把Misc->Use stricter confirmation dialog选项去掉可以使确认时不输入"yes"。
2、TypingSource Editing->Indent commands affect #-preprocessor statements。
去掉后(默认值),进行多行缩进时不会影响预处理语句(如#if...#endif)。
Auto Completion->Use detailed completion window,选上后,联想时可以出现该函数的详细信息。
见下图:(简单)(详细)Auto Completion->Insert paremeters for functions,去掉后,自动联想不会把整个参数都输出到当前行。
Browsing in Lists->Match syllables while typing(slower)。
在symbol list框检索符号时是否采用音节匹配方式,如对于函数FindNext,输入find或者next都可以找到该函数。
该功能可能导致反应缓慢(视工程和机器配置而定),建议关闭,因为即使在关闭状态下也可以通过先输入空格再输入单词来动态启用该功能。
注意Browsing in Lists里其实有两个功能,但一般我们只能看到Match syllables while typing 这一条,应该是si的菜单设计没有做好,导致在中文windows下不能显示全,另一个功能是Match members while typing,用于打开/关闭按成员变量名来检索类/结构体的功能。
[程序员小助手]emacs最强编辑器没有之一
[程序员小助手] Emacs,最强编辑器,没有之一[程序员小助手] Emacs,最强编辑器,没有之一程序员联盟2015-06-04 00:18内容简介1、Emacs简介2、Emacs三个平台的安装与配置3、自动补全插件4、小编的Emacs配置文件5、常用快捷方式6、和版本控制系统的配合(以SVN为例)【程序员小助手】系列在这个系列文章中(不定期更新),小编会把这些年(也没几年)的编程学习和工作中使用到的个人感觉非常好的软件推荐给大家,希望能够共享美好资源,使大家提高编程和办事效率。
Emacs,最强编辑器,没有之一小编知道,此标题一出,肯定会遭受广大群众“诟病”,说不好还会被其他编辑器的粉丝暗地里“干掉”。
比如,Vim 编辑器的粉丝可能就会来“踢馆”,VS或Eclipse的粉丝也兴许会“群起而攻”,但是小编只是表达一下自己的感受,请拍砖的时候轻一点,鸡蛋少扔几个,如果扔的鸡蛋多也请多扔几个番茄过来,这样我可以做番茄炒蛋,谢谢。
对于很多人来说,使用Vim和Emacs,不仅是提升“逼格”的方式,更是上升到“信仰”的层面,夸张吧。
当然这和宗教信仰不一样,只是一种可爱的“偏执”而已。
Emacs实在能做很多事,不要认为它就只是一个文本编辑器,它可以说是一个整合环境,或可称它为“集成开发环境”,它还可以做以下事情:上网,浏览网页看视频收发邮件调试程序,结合GDB,EDebug等。
支持C/C++,Perl,Python,Lisp等等玩游戏计算器记日记管理日程,Task,ToDo,约会等个人信息管理目录管理文件比较阅读info和man文档等等小编以前在Linux 下编写代码是使用Vim编辑器的,也非常强大,但是自从2014年接触到Emacs之后,就爱上了Emacs(fall in love with Emacs),Vim虽然有时还会用到,但是大部分时间编写代码还是用的Emacs。
一开始我不知道为什么Emacs如此优美又强大,直到后来阅读了《黑客与画家》这部经典著作(硅谷创业教父Paul Graham 保罗·格雷厄姆所写,其实也就是他的一些日志汇编而成),里面讲述了Lisp语言的强大和优美,而Emacs就是用Lisp语言编写的,怪不得。
Source Insight:Linux源代码阅读的利器
阅读源代码是钻研技术的最佳手段,而Linux提供了一个庞大的源代码库,但是,由于缺乏良好的源代码阅读工具,使得阅读Linux源代码尤其是内核源代码十分困难,在本文中,笔者向大家推荐一个优秀的源代码阅读工具,并介绍了它的使用方法。
作为一个开放源代码的操作系统,Linux附带的源代码库使得广大爱好者有了一个广泛学习、深入钻研的机会,特别是Linux内核的组织极为复杂,同时,又不能像windows平台的程序一样,可以使用集成开发环境通过察看变量和函数,甚至设置断点、单步运行、调试等手段来弄清楚整个程序的组织结构,使得Linux内核源代码的阅读变得尤为困难。
当然Linux下的vim和emacs编辑程序并不是没有提供变量、函数搜索,彩色显示程序语句等功能。
它们的功能是非常强大的。
比如,vim和emacs就各自内嵌了一个标记程序,分别叫做ctag和etag,通过配置这两个程序,也可以实现功能强大的函数变量搜索功能,但是由于其配置复杂,linux附带的有关资料也不是很详细,而且,即使建立好标记库,要实现代码彩色显示功能,仍然需要进一步的配置(在另一片文章,我将会讲述如何配置这些功能),同时,对于大多数爱好者来说,可能还不能熟练使用vim和emacs那些功能比较强大的命令和快捷键。
为了方便的学习Linux源程序,我们不妨回到我们熟悉的window环境下,也算是“师以长夷以制夷”吧。
但是在Window平台上,使用一些常见的集成开发环境,效果也不是很理想,比如难以将所有的文件加进去,查找速度缓慢,对于非Windows平台的函数不能彩色显示。
于是笔者通过在互联网上搜索,终于找到了一个强大的源代码编辑器,它的卓越性能使得学习Linux内核源代码的难度大大降低,这便是Source Insight3.0,它是一个Windows平台下的共享软件,可以从/上边下载30天试用版本。
也可以在/index.php?option=com_remository&Itemid=67&func=fileinfo&parent=folder&filecatid=3由于Source Insight是一个Windows平台的应用软件,所以首先要通过相应手段把Linux系统上的程序源代码弄到Windows平台下,这一点可以通过在linux平台上将/usr/src目录下的文件拷贝到Windows平台的分区上,或者从网上光盘直接拷贝文件到Windows平台的分区来实现。
source_insight
Source Insight实质上是一个支持多种开发语言(java,c ,c 等等)的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,常被我们当成源代码阅读工具使用。
作为一个开放源代码的操作系统,Linux附带的源代码库使得广大爱好者有了一个广泛学习、深入钻研的机会,特别是Linux内核的组织极为复杂,同时,又不能像windows平台的程序一样,可以使用集成开发环境通过察看变量和函数,甚至设置断点、单步运行、调试等手段来弄清楚整个程序的组织结构,使得Linux内核源代码的阅读变得尤为困难。
当然Linux下的vim和emacs编辑程序并不是没有提供变量、函数搜索,彩色显示程序语句等功能。
它们的功能是非常强大的。
比如,vim和emacs就各自内嵌了一个标记程序,分别叫做ctag和etag,通过配置这两个程序,也可以实现功能强大的函数变量搜索功能,但是由于其配置复杂,linux附带的有关资料也不是很详细,而且,即使建立好标记库,要实现代码彩色显示功能,仍然需要进一步的配置(在另一片文章,我将会讲述如何配置这些功能),同时,对于大多数爱好者来说,可能还不能熟练使用vim和emacs那些功能比较强大的命令和快捷键。
为了方便的学习Linux源程序,我们不妨回到我们熟悉的window环境下,也算是“师以长夷以制夷”吧。
但是在Window平台上,使用一些常见的集成开发环境,效果也不是很理想,比如难以将所有的文件加进去,查找速度缓慢,对于非Windows平台的函数不能彩色显示。
于是笔者通过在互联网上搜索,终于找到了一个强大的源代码编辑器,它的卓越性能使得学习Linux内核源代码的难度大大降低,这便是Source Insight3.0,它是一个Windows平台下的共享软件,可以从/上边下载30天试用版本。
由于Source Insight 是一个Windows平台的应用软件,所以首先要通过相应手段把Linux系统上的程序源代码弄到Windows平台下,这一点可以通过在linux平台上将/usr/src目录下的文件拷贝到Windows平台的分区上,或者从网上光盘直接拷贝文件到Windows平台的分区来实现。
source inside学习指导
Source Insight实质上是一个支持多种开发语言(java,c ,c 等等)的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,常被我们当成源代码阅读工具使用。
作为一个开放源代码的操作系统,Linux附带的源代码库使得广大爱好者有了一个广泛学习、深入钻研的机会,特别是 Linux内核的组织极为复杂,同时,又不能像windows平台的程序一样,可以使用集成开发环境通过察看变量和函数,甚至设置断点、单步运行、调试等手段来弄清楚整个程序的组织结构,使得Linux内核源代码的阅读变得尤为困难。
当然Linux下的vim和emacs编辑程序并不是没有提供变量、函数搜索,彩色显示程序语句等功能。
它们的功能是非常强大的。
比如,vim和emacs就各自内嵌了一个标记程序,分别叫做ctag和etag,通过配置这两个程序,也可以实现功能强大的函数变量搜索功能,但是由于其配置复杂,linux附带的有关资料也不是很详细,而且,即使建立好标记库,要实现代码彩色显示功能,仍然需要进一步的配置(在另一片文章,我将会讲述如何配置这些功能),同时,对于大多数爱好者来说,可能还不能熟练使用vim和emacs那些功能比较强大的命令和快捷键。
为了方便的学习Linux源程序,我们不妨回到我们熟悉的window环境下,也算是“师以长夷以制夷”吧。
但是在 Window平台上,使用一些常见的集成开发环境,效果也不是很理想,比如难以将所有的文件加进去,查找速度缓慢,对于非Windows平台的函数不能彩色显示。
于是笔者通过在互联网上搜索,终于找到了一个强大的源代码编辑器,它的卓越性能使得学习Linux内核源代码的难度大大降低,这便是Source Insight3.0,它是一个Windows平台下的共享软件,可以从/上边下载30天试用版本。
由于Source Insight是一个Windows平台的应用软件,所以首先要通过相应手段把Linux系统上的程序源代码弄到Windows平台下,这一点可以通过在 linux平台上将/usr/src目录下的文件拷贝到Windows平台的分区上,或者从网上光盘直接拷贝文件到Windows平台的分区来实现。
vim变成source Insight
运行完当前目录会多一个文件tags,就是c标签的索引文件。
2.跳转
1)用vim打开一个已经建过标签的c文件
2)ctrl+] 找到光标所在位置的标签定义的地方
set tags=tags;/
这是告诉vim在当前目录找不到tags文件时请到上层目录查找。
二、需要额外安装的脚本:
1、taglist
下载地址/scripts/script.php?script_id=273
若你下载时地址已改变,请到 找到正确的地址,这很简单。
set tags=tags;/
"Get out of VI's compatible mode..
set nocompatible
"Sets how many lines of history VIM har to remember
set history=400
"Set to auto read when a file is changed from the outside
".vimrc
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
linux 类似sourceinsight的代码
linux 类似sourceinsight的代码问题:[Linux 类似Source Insight 的代码阅读工具有哪些]引言:在软件开发过程中,代码阅读是一项重要的技能。
对于Linux 环境下的开发者而言,可以选择一款类似于Source Insight 的代码阅读工具来提高代码理解能力和开发效率。
本文将介绍几款常用的Linux 平台下类似Source Insight 的代码阅读工具,帮助开发者在Linux 平台下更好地阅读、理解和修改代码。
目录:1. Ctags2. Cscope3. Ack4. Grep5. Vim6. Emacs7. Eclipse + CDT第一节:CtagsCtags 是一款广泛使用的代码阅读工具,它可以为项目生成索引,并创建一个包含函数、变量、结构体等定义的标签数据库。
通过Ctags,用户可以通过浏览代码定义来快速导航和查找源码中的定义和引用。
在Linux 环境下,Ctags 是一个非常实用的代码阅读工具。
第二节:CscopeCscope 是另一个在Linux 环境下常用的代码阅读工具。
与Ctags 不同的是,Cscope 可以生成更复杂的索引,包括函数调用关系、函数定义关系、函数引用关系等。
Cscope 还提供了更强大的搜索功能,可以根据函数名、文件名、字符串等关键字快速定位到代码中的对应位置。
Cscope 的强大功能使其成为许多Linux 开发者首选的代码阅读工具之一。
第三节:AckAck 是一款专门用于在代码库中搜索指定内容的工具,它可以快速实现全文搜索,并返回所有匹配结果的文件名和行号。
Ack 支持正则表达式,并且可以自动排除版本控制和二进制文件。
虽然Ack 的功能相对简单,但对于在大型代码库中搜索特定内容的需求来说依然非常实用。
第四节:GrepGrep 是Linux 系统中一个强大的文本搜索工具,它可以在文件中查找指定内容,并返回匹配结果。
虽然Grep 在代码阅读方面的功能相对有限,但对于一些简单需求,例如查找某个变量在哪些文件中被引用,Grep 仍然是一种简单而有效的解决方案。
Source Insight 使用技巧
Source Insight 使用技巧1.sourceinsight screen font的默认字体是Verdana的,它是一直变宽字体。
在Document style中可以将字体改为定宽的Courier,个人更喜欢Courier new字体。
2.新开一个PROJECT后,点Options->Document Options,弹出对话框后先在左上角选好要用的Document Type,主要就是设C Source File和C++ Source File,选好后点右边中间的Au to Indent调整缩进。
单选里一定要点Smart,右边有两个复选框Indent Open Brace和In dent Close Brace,具体效果是如何的可以看SIS的HELP。
最方便的就是把两个复选框都取消掉。
然后点OK;勾选Auto Indent和SMART的效果: 在C程序里, 如果遇到行末没有分号的语句,如IF, WHILE, SWITCH等, 写到该行末按回车,则新行自动相对上一行缩进四列。
勾掉indent Open Brace和Indent Close Brace的效果: 继上一段,在相对缩进行里, 如果输入"{"或"}", 则自动和上一行列对齐3.不论是我们公司或者华为编程规范里,都有不能用TAB键而必须用4个SPACE代替的说法。
我最恨这条了,那键盘上的TAB键是干什么用的。
不过确实以前写代码时候很头痛的问题是在SIS界面里,即使设置好了Tab Width=4,按四个空格所显示的缩进,和按TAB键的缩进位置是不同的,后者要更靠里面三个字符的位置,但在左下角看到的Col=5都是一样的。
这样的代码在SIS里看了不对齐,到PB里看了却是对齐的。
而SIS里面看着对其的代码,在PB里面会差三格。
现在发现Options-> Document Options里面的右下角Editing Options栏里,把Expand tabs勾起来,然后确定。
SourceInsight使用方法及技巧
SourceInsight使用方法及技巧1.安装和设置:- 打开 Source Insight,点击 "Options",选择 "Preferences"。
2.导入代码:- 在 Source Insight 中创建一个新项目。
- 通过 "Project" 菜单中的 "Add Files" 或 "Add Directory" 来导入源代码文件。
- 可以使用 "Ctrl + /" 进行注释和取消注释。
- 可以使用 "Ctrl + ." 快速跳转到定义。
4.查找和替换:- 可以使用 "Ctrl + F" 在当前文件中查找文本。
- 可以使用 "Ctrl + Shift + F" 在整个项目中查找文本。
- 可以使用 "Ctrl + H" 执行替换操作。
5.导航代码:- 可以使用 "Ctrl + ." 快速跳转到代码定义。
- 可以使用 "Ctrl + ," 快速返回上一个位置。
- 可以使用 "Ctrl + 鼠标左键" 快速跳转到代码定义。
- 可以使用 "Ctrl + Alt + 鼠标左键" 快速打开代码定义的结果。
6.浏览代码:- 可以使用 "Ctrl + T" 快速切换到其他打开的文件。
- 可以使用 "Ctrl + B" 显示当前函数的调用者。
- 可以使用 "Ctrl + Shift + B" 显示当前函数调用的函数。
- 可以使用 "Alt + -" 和 "Alt + =" 进行代码折叠和展开。
7.代码分析:- 可以使用 "Ctrl + ." 进行符号分析,跳转到符号的定义。
Web程序员常用的15个源代码编辑器
Web程序员常用的15个源代码编辑器1. Visual Studio Code。
Visual Studio Code(简称VS Code)是由微软开发的一款轻量级源代码编辑器,它支持多种编程语言和框架,拥有丰富的插件生态系统,可以满足各种开发需求。
VS Code还提供了强大的调试功能和集成的终端,让开发者可以在一个界面中完成代码编写、调试和运行。
2. Sublime Text。
Sublime Text是一款快速、稳定、高效的源代码编辑器,它支持多种编程语言和框架,拥有丰富的插件和主题,可以满足开发者的个性化需求。
Sublime Text的多行编辑功能和快速查找替换功能让开发者可以轻松地进行大规模的代码编辑和重构。
3. Atom。
Atom是由GitHub开发的一款现代化的源代码编辑器,它支持多种编程语言和框架,拥有丰富的插件和主题,可以满足开发者的个性化需求。
Atom的实时预览功能和集成的Git功能让开发者可以更加高效地进行前端开发和版本控制。
4. Brackets。
Brackets是由Adobe开发的一款专注于前端开发的源代码编辑器,它支持HTML、CSS和JavaScript等前端语言,拥有丰富的插件和主题,可以满足前端开发者的需求。
Brackets的实时预览功能和集成的调试功能让前端开发者可以更加高效地进行网页设计和调试。
5. WebStorm。
WebStorm是由JetBrains开发的一款专注于Web开发的集成开发环境(IDE),它支持多种Web开发语言和框架,拥有丰富的功能和插件,可以满足Web开发者的需求。
WebStorm的智能代码补全和强大的调试功能让开发者可以更加高效地进行Web开发和调试。
6. Notepad++。
Notepad++是一款轻量级、快速、稳定的源代码编辑器,它支持多种编程语言和框架,拥有丰富的插件和主题,可以满足开发者的个性化需求。
Notepad++的多标签编辑功能和语法高亮功能让开发者可以更加高效地进行代码编写和查看。
SourceInsight和UltraEdit技巧
Source Insight使用技巧默认情况下,SI已经定义了很多非常实用的快捷键:F5指定行号,实现行跳转,在遇到编译错误的时候,能特别方便的找到出错行。
Shift+F8高亮显示指定标识,快速浏览标识的使用情况。
Ctrl+鼠标点击标识直接跳转至标识定义处。
Ctrl+F本文件内查找。
F3本文件查找结果的上一个。
F4本文件查找结果的下一个。
F7打开Browse Project Symbols窗口,快速浏览工程内标识定义。
Ctrl+MSource Insight设置1、背景色选择要改变背景色Options->preference->windows background->color设置背景色2、解决字符等宽对齐问题。
SIS默认字体是VERDANA,很漂亮。
这网页上应该也是用的VERDANA 字体。
但由于美观的缘故,VERDANA字体是不等宽的。
比如下面两行llllllllllMMMMMMMMMM同样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后缀的没有。
linux下替代sourceinsight的强大工具
linux下替代sourceinsight的强大工具1)在Linux下的SourceInsight--CscopeUsing Cscope on large projects (example: the Linux kernel)Cscope can be a particularly useful tool if you need to wade into alarge code base. You can save yourself a lot of time by being able todo fast, targeted searches rather than randomly grepping through thesource files by hand (especially since grep starts to take a while witha truly large code base).In this tutorial you'll learn how to setup Cscope with a large project. We'll use as our example the Linuxkernel source code, but the basic steps are the same for any otherlarge project, including C++ or Java projects.Get the source. First get the source code. You can download the Linux kernel source from .For the rest of this tutorial, I'll assume you've downloaded Linux 2.4.18 and installed it into /home/jru/linux-2.4.18.Note:Make sure you've got enough disk space: the kernel tarball alone is 30MB, it expands into 150 MB of source code, and the Cscope databasewe'll generate will gobble up another 20-100+ MB (depending on how muchof the kernel code you decide to include in the database). You can putthe Cscope database on a different disk partition than the source codeif you need to.Figure out where you want to put yourCscope database files. I'll assume you'll use /home/jru/cscope as thedirectory to store your database and associated files.Generatecscope.files with a list of files to be scanned. For some projects, youmay want to include every C source file in the project's directories inyour Cscope database. In that case you can skip this step, and just use'cscope -R' in the project's top-level directory to build your Cscopedatabase. But if there's some code that you wish to exclude, and/oryour project contains C++ or Java source code (by default Cscope onlyparses files with the .c, .h, .y, or .l extensions), you'll need togenerate a file called cscope.files, which should contain the name ofall files that you wish to have Cscope scan (one file name per line).You'llprobably want to use absolute paths (at least if you're planning to usethe Cscope database within an editor), so that you can use the databasefrom directories other than the one you create. The commands I showwill first cd to root, so that find prints out absolute paths.For many projects, your find command may be as as simple ascd /find /my/project/dir -name '*.java' >/my/cscope/dir/cscope.filesForthe Linux kernel, it's a little trickier, since we want to exclude allthe code in the docs and scripts directories, plus all of thearchitecture and assembly code for all chips except for the belovedIntel x86 (which I'm guessing is the architecture you're interestedin). Additionally, I'm excluding all kernel driver code in this example(they more than double the amount of code to beparsed, which bloatsthe Cscope database, and they contain many duplicate definitions, whichoften makes searching harder. If you are interested in the driver code,omit the relevant line below, or modify it to print out only the driverfiles you're interested in): LNX=/home/jru/linux-2.4.18cd /find $LNX \-path "$LNX/arch/*" ! -path "$LNX/arch/i386*" -prune -o \-path "$LNX/include/asm-*" ! -path "$LNX/include/asm-i386*" -prune -o \-path "$LNX/tmp*" -prune -o \-path "$LNX/Documentation*" -prune -o \ -path "$LNX/scripts*" -prune -o \-path "$LNX/drivers*" -prune -o \-name "*.[chxsS]" -print >/home/jru/cscope/cscope.filesWhilefind commands can be a little tricky to write, for large projects theyare much easier than editing a list of files manually, and you can alsocut and paste a solution from someone else.Generate the Cscope database. Now it's time to generate the Cscope database:cd /home/jru/cscope # the directory with 'cscope.files'cscope -b -q -kThe-b flag tells Cscope to just build the database, and not launch theCscope GUI. The -q causes an additional, 'inverted index' file to becreated, which makes searches run much faster for large databases.Finally, -k sets Cscope's 'kernel' mode--it willnot look in/usr/include for any header files that are #included in your sourcefiles (this is mainly useful when you are using Cscope with operatingsystem and/or C library source code, as we are here).On my 900MHz Pentium III system (with a standard IDE disk), parsing this subsetof the Linux source takes only 12 seconds, and results in 3 files(cscope.out, cscope.in.out, and cscope.po.out) that take up a total of25 megabytes.Using the database. If you like to use vimor emacs/xemacs, I recommend that you learn how to run Cscope withinone of these editors, which will allow you to run searches easilywithin your editor. We have a tutorial for Vim, and emacs users will ofcourse be clever enough to figure everything out from the helpfulcomments in the cscope/contrib/xcscope/ directory of the Cscopedistribution.Otherwise, you can use the standalone Cscopecurses-based GUI, which lets you run searches, then launch yourfavorite editor (i.e., whatever $EDITOR is set to in your environment,or 'vi' by default) to open on the exact line of the search result.If you use the standalone Cscope browser, make sure to invoke it viacscope -dThistells Cscope not to regenerate the database. Otherwise you'll have towait while Cscope checks for modified files, which can take a while forlarge projects, even when no files havechanged. If you accidentallyrun 'cscope', without any flags, you will also cause the database to berecreated from scratch without the fast index or kernel modes beingused, so you'll probably need to rerun your original cscope commandabove to correctly recreate the database.Regenerating the database when the source code changes.If there are new files in your project, rerun your 'find' command to update cscope.files if you're using it.Thensimply invoke cscope the same way (and in the same directory) as youdid to generate the database initially (i.e., cscope -b -q -k).如果懒得看就照红色的命令来做,呵呵,速度蛮快的。
让Emacs功能强于sourceInsight
让Emacs功能强于sourceInsight单独的Emacs软件的话,虽然也有着除了编辑以外的各种各样的功能,例如Mail,网页浏览等等,但是,仅对于我个人我还是觉得他就是个文本编辑器,因为别的功能我不用,也用不上。
而且这个编辑器使用时还非常的费劲,觉不出他比微软的记事本强在哪里。
但是,Emacs支持配置其工作环境,当结合了一些插件后,他就发挥出强大的功能了。
这个强大的功能 = SourceInsight+专用仿真Debug软件之和。
还有就是,他是免费的,FreeDownload的,可自定义的。
微软在努力让我们告别键盘,Linux则建议大家没事别老碰鼠标。
Emacs + gtags + cedet + ecb + doxymas + session + GDB Emacs:GNU Emacsgtags:GNU GLOBAL source code tag systemcedet:Collection of Emacs Development Environment Tools ecb:Emacs Code Browserdoxymacs:Doxygen + EmacsDoxygen:Source code documentation generator toolsession:Session Management for EmacsGDB:GNU Project debugger个人环境:VMware7.0.0 + (Fedora7+Ubuntu9.10)Fedora7:现在fedora的最高发行版是Fedora12,所以用7的话,如果yum在线安装,包的版本可能较低。
Ubuntu9.10:现在的最新版,apt在线安装的话,包版本较新。
较新不是最新,想最新的话,去各自官网现在src安装吧。
目标源代码:C语言如果没有现成的代码就下个kernel或gcc或glib的源代码吧。
但是建议写个hello来试运行,因为前者的源代码都太大了,gtags建立tags或htags创建HTML模式源代码和doxygen生成文档等的时候,花费时间极长。
使用sourceInsight提高代码编写效率
使⽤sourceInsight提⾼代码编写效率是⼀个强⼤的程序编写器和代码浏览器,它拥有内置的对C/C++,C#和Java等程序的分析。
本⽂总结了常⽤的快捷键,重要的宏的应⽤(可以多⾏注释,⾃动补全,⾃动⽣成头⽂件和函数说明,修改说明……),以及⾃定义设置(字体设置,背景设置,快捷键设置)。
安装后导⼊⼯程的所有⽂件即可。
常⽤的快捷键Ctrl+O ⽂件列表,快速跳到搜索框。
Ctrl+ G 跳转到指定⾏,编译出错时快速定位。
Ctrl+F 本⽂件内查找,F3本⽂件查找结果的上⼀个,F4本⽂件查找结果的下⼀个。
Ctrl+ / 整个⼯程内查找,点击⼯具栏的 R图标也可以。
Ctrl+M 创建或查找书签,⽅便下次找回此位置。
Shift +F8 ⾼亮显⽰指定字符,F3,F4可以前后定位⾼亮的字符。
Ctrl+⿏标点击标识直接跳转⾄标识定义处,双击Contextwindows更⽅便。
Ctrl +H 单⽂件替换 Ctrl+Shift+H 多⽂件内替换F7 快速浏览⼯程内标识定义,打开Browse Project Symbols窗⼝,还有Alt+G。
更多快捷键可以⾃⼰查找和设置:Option->Key assignments宏的应⽤最流⾏的宏⽂件是quicker.em。
,下载后添加到⼯程中,在Option ->Key assignments搜索找到Macro:AutoExpand点击Assign New Key设置快捷键(例如Ctrl+Enter)举例:输⼊while后按下Ctrl+Enter就⾃动填充了config(co)配置⽤户名和标题的说明语种hd ⾃动⽣成函数头⽂件file (fi)⽣成标准的⽂件头func (fu) ⽣成标准的函数头说明⽹上搜索quicker.em下载⽂件SourceInsight中的多⾏注释新建xxx.em⽂件,把以下代码复制进去,保存后加⼊⼯程。
在Option ->Key assignments搜索找到Macro:MultiLineComments分配快捷键(例如Ctrl+/)macroMultiLineComment(){hwnd = GetCurrentWnd()selection = GetWndSel(hwnd)LnFirst=GetWndSelLnFirst(hwnd) //取⾸⾏⾏号LnLast=GetWndSelLnLast(hwnd) //取末⾏⾏号hbuf = GetCurrentBuf()if(GetBufLine(hbuf, 0)=="//magic-number:tph85666031"){stop}Ln = Lnfirstbuf = GetBufLine(hbuf, Ln)len = strlen(buf)while(Ln <= Lnlast) {buf = GetBufLine(hbuf, Ln) //取Ln对应的⾏if(buf==""){ //跳过空⾏Ln = Ln + 1continue}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) }参考⽂献:资源下载:。
source insight设置方法
1开胃菜-初级应用1.1选择美丽的界面享受工作虽然不能以貌取人,但似乎从来没有人责备以貌取软件的。
SI的华丽界面,绝对符合现代花花世界的人的审美趣味。
在SI中,我们可以轻松地把各种类型关键字、变量、标志符、函数、宏、注释等定义为不同的颜色和显示方式(正体或斜体、加粗或正常、加下划线、放大显示等),总有一种方式能让我们一眼就能分辨出这个标识是什么。
1.1.1字体选择在SI中样式是可以被继承,如果要从根本上改变字体,最简单的方式就是直接修改根样式中的字体,因为其它样式都会由此继承而来。
选择Options/Document Options页面内的Font Options中的Screen Fonts字体,即可改变根样式中的字体。
SI中的默认配置为Verdana字体,是一种非等宽字体2,为了使编写的代码在各种编辑器中看起来都有良好的对齐效果,这里强烈建议使用等宽字体,Courier、New Courier和宋体等都是较好的选择。
1.1.2颜色定义毕竟这是见仁见智的东西,所以从来没有统一的标准3。
很多人并不喜欢SI提供的默认配置,那么我们就改吧。
选择Options/Style Properties页面,就可以在其中修改所有样式了。
选择等号(=)表示继承Parent Style,也可以选择Pick(或者ON/OFF等)去配置一个新值。
这完全视乎个人喜好。
1.1.3标识符样式选择在与颜色定义一节同样的界面内即可完成此项配置。
1.1.4背景色选择在希望要改变背景色的窗口点击鼠标右键(假定使用的是右手鼠标4),选择上下文菜单的xxx Window Properties项,然后点击弹出窗口的Back Color按钮,即可修改该窗口背景色。
对于SI的源码主窗口,只需选择上下文菜单的Special Window Color项即可完成背景色修改。
1.2配置合理的默认值高效工作1.2.1使用合理的缩进我始终认为最容易获得认同的是关于这个选项的配置了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重新启动一下emacs
M-x ecb-activate
看看出现了什么
cscope安装ar.gz
$cd cscope-15.5
$./configure
$make
#make install
但是对于一般安装的GNU emacs来说还需要三个额外的包支持即eieio, semantic, speedbar
/projects/cedet
有这三个包的下载
我用的是
eieio-0.17.tar.gz
semantic-1.4.4.tar.gz
添加
(require 'xcscope)
重新启动emacs 并且打开一个C文件看看有什么变化?
上述的两个软件的使用说明看看他们自带的文档,非常清楚
#tar zxfv speedbar-0.14beta4.tar.gz
做四个连接
ln -s ecb-2.32 ecb
ln -s eieio-0.17 eieio
ln -s semantic-1.4.4 semantic
ln -s speedbar-0.14beta4 speedbar
然后修改
site-start.el文件
添加以下五行
(setq load-path (append load-path '("/usr/share/emacs/site-lisp/eieio")))
(setq load-path (append load-path '("/usr/share/emacs/site-lisp/semantic")))
speedbar-0.14beta4.tar.gz
安装ecb和三个支持包:
#cd /usr/share/emacs/site-lisp
#tar zxfv ecb-2.32.tar.gz
#tar zxfv eieio-0.17.tar.gz
#tar zxfv semantic-1.4.4.tar.gz
(setq load-path (append load-path '("/usr/share/emacs/site-lisp/speedbar")))
(setq load-path (append load-path '("/usr/share/emacs/site-lisp/ecb")))
把emacs变成代码浏览器,类似sourceinsight,不用再在windows下看代码了
所需软件:
cscope-15.5.tar.gz /projects/cscope
ecb-2.32.tar.gz /projects/ecb
然后把contrib/xcscope/目录下的cscope-indexer复制到PATH目录比如/usr/local/bin
然后把xcscope.el复制到
/usr/share/emacs/site-lisp
修改/usr/share/emacs/site-lisp/site-start.el