sublime text3 之 ctags

Win10 安装sublime3 + ctags,结果报错:Can't find XXX!

一、前奏

Q:为啥用sublime3?

A:因为轻啊。作为前端开发一枚,以前用webstrom也非常爽,就是太大了,启动慢,sublime够轻够快,关键模板颜色更好看。

 

Q:什么是ctags?

A:为了让点击函数、变量能跳转和返回,调试方便。

二、查问题

按照百度出来比较靠谱的文章,一步步装好了sublime3和ctags,并且rebuild ctags都成功了,生成了对应的tags文件,但是一点函数就报错:Can't find ’函数名‘!

1、难道没配置环境变量?

2、难道放置ctags文件夹目录有误(已经是全英文了),非得是2级目录?!

3、难道我下载的ctags版本不对吗?

4、难道是Win10兼容行问题?

5、难道是sublime3现在还是build版本,不稳定?

--------------------------> 都不是,害的我删了重装好几次

三、问题所在

前端工程调试的是js代码,但是ctags对js支持不好!

四、解决方法

需要在C:\Users\Administrator目录下建立 .ctags文件(这种文件创建要多打一个点哦),内容如下:

--langdef=js
--langmap=js:.js
--regex-js=/(,|(;|^)[ \t]*(var|let|([A-Za-z_$][A-Za-z0-9_$.]+\.)*))[ \t]*([A-Za-z0-9_$]+)[ \t]*=[ \t]*\{/\5/,object/
--regex-js=/(,|(;|^)[ \t]*(var|let|([A-Za-z_$][A-Za-z0-9_$.]+\.)*))[ \t]*([A-Za-z0-9_$]+)[ \t]*=[ \t]*function[ \t]*\(/\5/,function/
--regex-js=/(,|(;|^)[ \t]*(var|let|([A-Za-z_$][A-Za-z0-9_$.]+\.)*))[ \t]*([A-Za-z0-9_$]+)[ \t]*=[ \t]*\[/\5/,array/
--regex-js=/(,|(;|^)[ \t]*(var|let|([A-Za-z_$][A-Za-z0-9_$.]+\.)*))[ \t]*([A-Za-z0-9_$]+)[ \t]*=[ \t]*[^"]'[^']*/\5/,string/
--regex-js=/(,|(;|^)[ \t]*(var|let|([A-Za-z_$][A-Za-z0-9_$.]+\.)*))[ \t]*([A-Za-z0-9_$]+)[ \t]*=[ \t]*(true|false)/\5/,boolean/
--regex-js=/(,|(;|^)[ \t]*(var|let|([A-Za-z_$][A-Za-z0-9_$.]+\.)*))[ \t]*([A-Za-z0-9_$]+)[ \t]*=[ \t]*[0-9]+/\5/,number/
--regex-js=/(,|(;|^)[ \t]*(var|let|([A-Za-z_$][A-Za-z0-9_$.]+\.)*))[ \t]*([A-Za-z0-9_$]+)[ \t]*=[ \t]*.+([,;=]|$)/\5/,variable/
--regex-js=/(,|(;|^)[ \t]*(var|let|([A-Za-z_$][A-Za-z0-9_$.]+\.)*))[ \t]*([A-Za-z0-9_$]+)[ \t]*[ \t]*([,;]|$)/\5/,variable/
--regex-js=/function[ \t]+([A-Za-z0-9_$]+)[ \t]*\([^)]*\)/\1/,function/

--regex-js=/(,|^)[ \t]*([A-Za-z_$][A-Za-z0-9_$]+)[ \t]*:[ \t]*\{/\2/,object/
--regex-js=/(,|^)[ \t]*([A-Za-z_$][A-Za-z0-9_$]+)[ \t]*:[ \t]*function[ \t]*\(/\2/,function/
--regex-js=/(,|^)[ \t]*([A-Za-z_$][A-Za-z0-9_$]+)[ \t]*:[ \t]*\[/\2/,array/
--regex-js=/(,|^)[ \t]*([A-Za-z_$][A-Za-z0-9_$]+)[ \t]*:[ \t]*[^"]'[^']*/\2/,string/
--regex-js=/(,|^)[ \t]*([A-Za-z_$][A-Za-z0-9_$]+)[ \t]*:[ \t]*(true|false)/\2/,boolean/
--regex-js=/(,|^)[ \t]*([A-Za-z_$][A-Za-z0-9_$]+)[ \t]*:[ \t]*[0-9]+/\2/,number/
--regex-js=/(,|^)[ \t]*([A-Za-z_$][A-Za-z0-9_$]+)[ \t]*:[ \t]*[^=]+([,;]|$)/\2/,variable/

五、小结

有了ctags,sublime3暂时就感觉挺完美了。需要注意的是:

1、新增代码需要rebuild ctags才能点击生效

2、在setting里配置自己喜欢的点击跳转快捷方式,ctags默认的快捷键不敢恭维。

3、配置需要排除node_modules等不需要索引的文件夹,否则生成几个G的tags文件吓死你!

  

posted @ 2017-07-13 17:25  jfjfjbjb  阅读(522)  评论(0编辑  收藏  举报