• source insight 如何建工程--以及快捷方式查找调用函数方法


    在source insight的view菜单中点出relation window,然后右键点relation window,选relation window properties,然后把view relation里所有的下拉选项全部选成references,这时候relation window里显示的就是当前函数和调用他的函数的关系了。另外,在view relation上面有一个level,你可以填数字,填几就可以显示此函数向上的几级调用。比如填2,就可以看到向上两级的调用关系图
    在relation window下方有“R”按钮点击,lookup Rwferences  --->find References to---->输入需要查找的函数,即可

    //--------------------------------------------------------------------------------------------------------------------------------------------------

     (一)
    配置好文档路径,当然这个也可以在Options里面改,选Options->Preferences…里面的Folders标签就行。

     Project的建立和工作区域

      在菜单中选择Project->New Project…可以建立新的工程,自定义工程名,选择保存路径,然后新建。

      新建确定之后,在接下来的菜单中,需要选择Project Source Directory: the main location of your source files. 比如我可以选最新的Android API 19的源码目录。

      选定之后会出现Add and Remove Project Files的对话框,这时候可以选择刚才目录中的文件,然后添加进来。

      Load完成之后close对话框就可以了。可以加不同路径的代码进来。

      完成之后,Project Window就出现在右边了,点击其中任意一个文件,内容就显示在中央编辑区域了。左边是Symbol Window,可以快速定位函数、变量定义等。下面是Context Window,显示有用的上下文相关信息。可以通过View菜单调出或者关闭各种窗口。比如Relative Window可以显示出方法中调用的方法。

     

    同步

      在编辑区域中,键盘按下Ctrl,用鼠标单击变量或方法时,会跳到变量或方法的定义。

      如果某个变量或者方法是黑色字体表示的,说明它还没有被定义。

      当然有时候也不是因为没定义,需要同步一下,Project->Synchronizing Files

     

    查看定义

      可以选中一个变量,然后右键,Jump to Definition,跳转到定义。

      当然,上面提过,也可以直接Ctrl+鼠标点击。

      在编辑区域内选中变量或者方法,过一两秒,Context Window会自动显示定义。

    查找引用

      选择一个变量或方法后右键Lookup References…就可以进行查找。

      查找结果显示在一个框里,点击每条查找结果前面的红色标记(两个红色的相背的三角形),可以该条结果对应代码文件,进入代码编辑状态;再点击代码中的查找对应行开头的红色标记可以转回查找结果页面。

      工具栏上有相应的图标进行上一条和下一条的跳转。

      Lookup References弹出的对话框里可以进行查询的选项配置。比如是否大小写敏感,是不查找注释还是只在注释里查找。

      另外Search Method也可以选是字符串、正则、关键字、还是引用类型。

    查找调用

      这个是针对方法的,选中方法名,然后右键Jump to Caller,如果只有一次调用,则直接跳转,如果多次调用,则显示一个列表框,选择一项就会跳转过去。

      文件中的查找可以通过菜单Search。

    Source Insight常用快捷键

      1.Ctrl + 鼠标单击 进入定义.

      2.Alt + F12可以切换,让字符宽度变得一致,或者是大小不同地显示。

      3.Shift + F8 标亮文本中光标所在的单词。

      4.Ctrl + G (或者F5) 跳转到某一行。

      5.Ctrl + O 搜索文件,找到回车打开,找不到ESC退出

      6.Alt + G (或者F7) 打开Symbol Window.

      7.Alt +, 后退;Alt+.前进.

      8.Ctrl + F 查找关键字。

    //-----------------------------------------------------------------------------------------------------------------------------------

    (二)

    1.括号配对高亮: “在前括号左侧,后括号左侧” 双击鼠标左键,可以选定匹配括号和其中内容(<>,(),L{R},[]之间)

     

    2.让{ 和 } 不缩进: Options -> Document Options -> Auto Indenting -> Auto Indent Type 选 Simple

    还有:让{ 和 } 不缩进: options->document options->auto indent 去掉indent Open Brace和Indent Close Brace。 (不好使,括号无法配对对齐!)

     

    3.添加文件类型 用户可以定义自己的类型,Options->Document Options->add type,定义文件类型名以及文件名后缀。 勾选include when adding to projects在添加目录下文件到工程是该类文件就会添加进SI的工程。 如果需要将所有文件添加进SI的工程,可以定义一种文件类型*.*。

     

    4.恢复ctrl+a的全选功能 Options -> Key Assignments:通过关键词save 找到save all,更改为ctrl+shift+a,通过关键词select找到select all,更改为ctrl +a

     

    5.设置背景色: Options->preference->color->windows background设置背景色(护眼色:85,90,205)

     

    6.字符大小不一: 方法1:选上"view --> draft view", 就可以让每个字符的宽度一致了。快捷键是 "Alt + F12" 

    方法2:解决中文注释字体间距太大:

    (1).Options->Style Properties (2). 在左边Style Name下找到Comment Multi Line和Comment.在其右边对应的Font属性框下的Font Name中选“Pick...” 设置为宋体、常规、小四。确定,退回Style Properties界面,Size设为10。最后设置Clolors框下Foreground,点“Pick...”选择一种自己喜欢的颜色就OK了

    注:以上方法1为通用设置,方法2中可以设置注释字体以及字体大小!

     

    7.删除注释时半个汉字问题(删除一个汉字,汉字没有了,但会多出一个问号?)

    方法:

    ① 将 SuperBackspace.em 复制到 Source Insight安装目录; ② Project→Open Project,打开Base项目; ③ 将复制过去的SuperBackspace.em添加入Base项目; ④ 重启SourceInsight; ⑤ Options→Key Assignments,将Macro: SuperBackspace绑定到BackSpace键; ⑥ Enjoy!!

     

    SuperBackspace.em 的源码在博文最后面,复制保存为SuperBackspace.em即可,或者可以在这里直接下载:http://pan.baidu.com/share/link?shareid=101784&uk=3204866771

     

    8.实用快捷键: Shift+F8 :高亮选中的字 "ctrl + g" 或 "F5" :跳到指定行 “Ctrl+=” 或 Ctrl+鼠标点击标识 :直接跳转至标识定义处调用处 Ctrl+F :本文件内查找 F7 :打开Browse Project Symbols窗口,快速浏览工程内标识定义 F3 :本文件查找结果的上一个 F4 :本文件查找结果的下一个 Ctrl+M :创建或查找书签,方便下次找回此位置

     

    9.解决TAB键缩进问题 Options-> Document Options里面的右下角Editing Options栏里,把Expand tabs勾起来,然后确定。OK,现在TAB键的缩进和四个空格的缩进在SIS里面看起来就对齐 (Linux下TAB是8个空格长度,这样设置可以让TAB和4个空格保持一致!)

     

    10.SIS中文乱码的问题

    source insight中文注释乱码问题的解决方案 - ccf19881030的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/ccf19881030/article/details/8987759

    ------------------------------------------------

    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
    窗口操作: project window Ctrl+O打开 symbol window Alt+F8打开和关闭 Contex Window 自定义键打开和关闭 Relation Window 自定义键打开 先锁定再刷新联系

     

    *===========================  SuperBackspace.em ============================ * SuperBackspace Version 0.1beta * * 代替SourceInsight原有的Backspace功能(希望如此) * 增加了对双字节汉字的支持,在删除汉字的时候也能同时删除汉字的高字节而缓解半个汉字问题 * 能够对光标在汉字中间的情况进行自动修正 * * 安装: * ① 复制入SourceInsight安装目录; * ② Project→Open Project,打开Base项目; * ③ 将复制过去的SuperBackspace.em添加入Base项目; * ④ 重启SourceInsight; * ⑤ Options→Key Assignments,将Macro: SuperBackspace绑定到BackSpace键; * ⑥ Enjoy!! * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */ macro SuperBackspace() {     hwnd = GetCurrentWnd();     hbuf = GetCurrentBuf();

        if (hbuf == 0)         stop;   // empty buffer

        // get current cursor postion     ipos = GetWndSelIchFirst(hwnd);

        // get current line number     ln = GetBufLnCur(hbuf);

        if ((GetBufSelText(hbuf) != "") || (GetWndSelLnFirst(hwnd) != GetWndSelLnLast(hwnd))) {         // sth. was selected, del selection         SetBufSelText(hbuf, " ");  // stupid & buggy sourceinsight :(         // del the " "         SuperBackspace(1);         stop;     }

        // copy current line     text = GetBufLine(hbuf, ln);

        // get string length     len = strlen(text);

        // if the cursor is at the start of line, combine with prev line     if (ipos == 0 || len == 0) {         if (ln <= 0)             stop;   // top of file         ln = ln - 1;    // do not use "ln--" for compatibility with older versions         prevline = GetBufLine(hbuf, ln);         prevlen = strlen(prevline);         // combine two lines         text = cat(prevline, text);         // del two lines         DelBufLine(hbuf, ln);         DelBufLine(hbuf, ln);         // insert the combined one         InsBufLine(hbuf, ln, text);         // set the cursor position         SetBufIns(hbuf, ln, prevlen);         stop;     }

        num = 1; // del one char     if (ipos >= 1) {         // process Chinese character         i = ipos;         count = 0;         while (AsciiFromChar(text[i - 1]) >= 160) {             i = i - 1;             count = count + 1;             if (i == 0)                 break;         }         if (count > 0) {             // I think it might be a two-byte character             num = 2;             // This idiot does not support mod and bitwise operators             if ((count / 2 * 2 != count) && (ipos < len))                 ipos = ipos + 1;    // adjust cursor position         }     }

        // keeping safe     if (ipos - num < 0)         num = ipos;

        // del char(s)     text = cat(strmid(text, 0, ipos - num), strmid(text, ipos, len));     DelBufLine(hbuf, ln);     InsBufLine(hbuf, ln, text);     SetBufIns(hbuf, ln, ipos - num);     stop; }

    *============================ SuperBackspace.em ============================ 

    附: 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

  • 相关阅读:
    nginx 跨域问题解决
    njs typescript 开发说明
    openrestyluatypes openresty typescript 类型定义
    使用 TypeScriptToLua 开发lua 应用
    如何编写一个简单的TypeScriptToLua lua 模块定义包
    docker sbom方便的软件物料清单扩展
    openresty + njs 提升系统nginx 的扩展性
    contentlayer 工作原理简单说明
    使用openrestyluatypes+TypeScriptToLua+testnginx 开发强类型的nginx lua 模块
    TypeScriptToLua npm 集成玩法
  • 原文地址:https://www.cnblogs.com/dpf-learn/p/6278314.html
Copyright © 2020-2023  润新知