sublime怎么实现函数之间的跳转

1.安装ctags应用程序。

CTags的官方网站下载最新版本,将解压后的ctags.exe放到系统环境变量的搜索路径中。一般是C:\windows\system32。

如果你想放到其他文件夹中,记得要将所在文件夹置于系统环境变量中。(我的电脑->右键属性->高级系统设置->(系统属性)高级->环境变量->系统变量->Path中添加  (路径前注意加分号))

2,安装Sublime Text 2的Package Control功能。(sublime现在可能集成了此项功能,如果步骤3可用,此步骤可以跳过)

打开Sublime Text 2,使用快捷键ctrl+`(功能菜单View->Show Console)呼出命令行,执行如下命令:

import urllib2,os; pf=‘Package Control.sublime-package‘; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp)
else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),‘wb‘).write(urllib2.urlopen(‘http://sublime.wbond.net/‘+pf.replace(‘ ‘,‘%20‘)).read()); print ‘Please restart Sublime Text to finish installation‘

重启Sublime text 2。

3.使用Package Control功能安装ctags插件。

按下 Shift + Command + P 调出命令面板。输入 install 调出 Package Control: Install Package 选项。该选项会列出所有可被安装的插件,输入ctags,或者从列表中选择ctags进行安装。

4.使用ctags浏览代码

使用ctrl+t、ctrl+r 两个连续组合键,创建.tags工程符号索引文件(此时Sublime Text 2会自动调用第一步安装的ctags.exe)。.tags文件创建好后,就可以使用快捷键方便得进行代码浏览了。

指令列表

Command Key Binding
rebuild_ctags                                       -重建ctags索引 ctrl+t     ctrl+r      组合键
navigate_to_definition                           -跳转到函数定义 ctrl+t     ctrl+t
jump_back                                          -跳回 ctrl+t     ctrl+b
jump_back to_last_modification            -跳转到上次修改处 ctrl+t     ctrl+m
show_symbols                                    -按函数索引查找 alt+s

附录:

sublime text 2或3中安装完ctags ,对函数进行两次ctrl+T,发现不能跳转,报错: can‘t find any relevent tags file

------------------------解决方法----------------------------------------------------------

原因是因为没有生成.tags索引文件

生成方法有两种:

1.sublime软件中,功能菜单File->Open Folder 打开要分析的目标文件夹,从左侧边栏中点击打开任意程序文件,按下crtl+T、ctrl+R组合键(即:最上行功能菜单Find->Ctags->rebuild tags),这时可以看到目标文件夹中生成了.tags索引文件,以及.tags_sorted_by_file。

2.Win+R:输入指令cmd,回车。cd指令进入要分析的目标文件夹,输入:ctags -R -f .tags

手动生成.tags文件。与方法一不同的是,不会生成.tags_sorted_by_file,不过在使用中尚未发现区别,对此欢迎大家完善补充。

时间: 2024-10-19 06:10:13

sublime怎么实现函数之间的跳转的相关文章

Sublime text追踪函数插件

Sublime Text2/3怎样在Ubuntu中配置CTags插件 | 浏览:1278 | 更新:2014-03-05 10:34 1 2 3 4 5 6 7 分步阅读 本文详解在Ubuntu Linux中配置Sublime Text的CTags插件,并实现函数跟踪转跳的开发环境. 演示使用的是Ubuntu 12.04 64位操作系统和Sublime Text 3 64位版 安装配置ctags前请确保已安装Package Control插件管理器 工具/原料 Sublime Text 2/3

微信小程序详解——页面之间的跳转方式【路由】和参数传递

微信小程序拥有web网页和Application共同的特征,我们的页面都不是孤立存在的,而是通过和其他页面进行交互,来共同完成系统的功能.今天我们来研究小程序页面之间的跳转方式. 1.先导 在Android中,我们Activity和Fragment都有栈的概念在里面,微信小程序页面也有栈的概念在里面.微信小程序页面跳转有四种方式: 1.wx.navigateTo(OBJECT): 2.wx.redirectTo(OBJECT): 3.wx.switchTab(OBJECT): 4.wx.navi

Android activity之间的跳转和数据传递

1.Activity之间的跳转 并且 传递数据 A Activity进行的操作 Intent intent = new Intent(context, B.class); intent.putExtra("tn",tn); intent.putExtra("payMode",payMode); context.startActivity(intent); B activity接收数据 protected void onCreate(Bundle savedInsta

使用自定义 URL 实现控制器之间的跳转-b

一个app往往有很多界面,而界面之间的跳转也就是对应控制器的跳转,控制器的跳转一般有两种情况 push 或者 modal,push 和 modal 的默认效果是系统提供的 文章配图 1. 概述 系统提供的push和modal方法有时并不能满足实际需求.比如,我们需要根据服务器返回的字段跳到指定的控制器,难道作判断吗?那显然不是最佳解决方案. 其实我们可以这样: NSString *urlStr = @"dariel://twoitem?name=dariel&userid=213213&

sprig里的controller之间的跳转的问题

学习spring的controller,发现controller之间的跳转有些地方搞的不是很清楚,如果通过controller的return语句实现跳转的话,会造成request的丢失:具体怎么回事首先一般的语句是:  return new ModelAndView("login");  其实这条语句是将一个login.jsp页面发送给客户端,而不是实现controller之间的跳转(昨晚就在这里郁闷了很久)  要实现controller的跳转,有两种方法:  1.return new

JS多个函数之间传递参数问题

JS多个函数之间传递参数的一个重要思想是在页面定义一个隐藏域,当第一个函数请求到数据时候修改隐藏域的值,第二个函数用jQuery的选择器选择页面中隐藏域的值. 比如: 页面中定义一个隐藏的页号. <!-- 隐藏查询条件的页号 --> <input type="hidden" name="currentPage" id="currentPage"> 第一个ajax函数获取页面中的页号: function queryNum(c

UINavigation的外观设置和页面之间的跳转

创建导航: 1.创建一个视图控制器的类a 2.在app中引用 3.在app.m中创建a对象 4.创建一个导航视图,并且把a对象作为导航视图的根视图 5.设置window的根视图为导航视图控制器,代码: 6.到a.m文件中给导航设置属性,如:(给导航设置属性大部分都是.navigationItem) 用导航的两个视图之间的跳转: 1.再创建一个视图控制器,在第一个视图控制器还有第二个视图控制器上面都添加一个按钮,来用于页面之间的跳转 2.第一个页面到第二个页面之间的跳转button的方法,代码:(

iOS开发拓展篇—应用之间的跳转和数据传递

iOS开发拓展篇—应用之间的跳转和数据传 说明:本文介绍app如何打开另一个app,并且传递数据. 一.简单说明 新建两个应用,分别为应用A和应用B. 实现要求:在appA的页面中点击对应的按钮,能够打开appB这个应用. 1.新建两个应用,分别为A和B.     2.设置应用B的url. 3.在应用A中编写打开app的代码 点击之后,会跳转到新的控制器. 注意:打开应用B的过程中,B有两种状态. 第一种状态:B并没有启动,那么会启动B.并调用下面的方法. 第二种状态:此时B已经启动了,但是在后

action之间的跳转

一.当type为chain 时,说明是action链,运行完第一个action java文件接着会运行第二个action JAVA 文件,相当于forward(客户端的url不会改变). <result name="noPass" type="chain">                <param name="actionName">system/User_customerResult</param>