Javascript 如何让tagbar使用js文件
如果我打开一个扩展名为.html的文件,tagbar可以正常工作 如果我打开一个扩展名为.js的文件,那么tagbar不会列出任何内容。只需将文件扩展名重新设置为.html即可 如何让tagbar使用.js文件?您试过了吗?它使用jsctags,在我安装这个插件的短暂时间内,它工作得很好。Javascript 如何让tagbar使用js文件,javascript,vim,plugins,jsctags,Javascript,Vim,Plugins,Jsctags,如果我打开一个扩展名为.html的文件,tagbar可以正常工作 如果我打开一个扩展名为.js的文件,那么tagbar不会列出任何内容。只需将文件扩展名重新设置为.html即可 如何让tagbar使用.js文件?您试过了吗?它使用jsctags,在我安装这个插件的短暂时间内,它工作得很好。 您正在处理的文件的文件类型(:set ft?)是什么 您是否安装了ctags和/或jsctags 是否从放置JavaScript文件的位置执行$ctags-R.和/或$jsctags.以创建标记文件 如果是,
- 您正在处理的文件的文件类型(
)是什么:set ft?
- 您是否安装了
和/或ctags
是否从放置JavaScript文件的位置执行jsctags
和/或$ctags-R.
以创建$jsctags.
文件 如果是,它包含什么标记
- 如果您使用的是
,它是当前版本吗?nodejs呢jsctags
Tasmota
代码时,将vim
、tagbar
与Arduino
源代码一起使用*.ino文件时遇到此问题
我必须意识到两件事:
ctags universal
,创建一个文件~/.ctags.d/local.ctags
,其中包含--langmap=c++:+.ino
中处理vim文件类型arduino
(使用查询vim中的文件类型:设置文件类型?
)。vimrc
::help tagbar->tagbar extend
中找到操作方法和此定义。Javascript和其他定义见~/.vim/bundle/tagbar/autoload/tagbar/types/uctags.vim
也许还有其他方法可以做到这一点。它适合我(tm)
唯一要做的事情是:重新打开*.ino
源文件,点击
显示标记栏
HTH我安装了taglist plus和tagbar。taglist plus的情况也一样。我必须将.js文件重命名为.html,否则它将无法识别任何标记。如果扩展名为.js,则文件类型为javascript,如果扩展名为.html,则文件类型为html。ctags和jsctags均已安装并工作。ctags-R。完成,没有任何错误消息,但jsctags似乎挂起。如果我在一个.js文件上运行jsctags,它会显示“错误:没有找到构造函数的名称”。但如果在同一个文件上运行它,并且文件扩展名重命名为html,则不会这样做。我最近安装了jsctags,所以它应该是最新的。你必须将你的问题一分为二,因为
jsctags
和ctags
是完全不同的软件,并且对你正在做的事情要精确。根据我的经验,jsctags对纯.js文件以外的任何文件都不起作用,无论是带有自定义扩展名的JavaScript文件还是嵌入js的HTML文件。不过,ctag在这两种场景中都有效。jsctags依赖于nodejs,nodejs是一个快速移动的垃圾。我以前也遇到过jsctags方面的问题,我通过安装另一个版本的nodejs(0.7.2-pre)解决了这些问题。现在jsctags可以工作了,但是它的输出有一点变化……它把TagBar搞糊涂了。使整个事情几乎毫无用处。我刚看到几个月前有人修复了,我会看看是否更好。同时,尝试升级nodej。
let g:tagbar_type_arduino = {
\ 'ctagstype' : 'c++',
\ 'kinds' : [
\ 'd:macros:1:0',
\ 'p:prototypes:1:0',
\ 'g:enums',
\ 'e:enumerators:0:0',
\ 't:typedefs:0:0',
\ 'n:namespaces',
\ 'c:classes',
\ 's:structs',
\ 'u:unions',
\ 'f:functions',
\ 'm:members:0:0',
\ 'v:variables:0:0'
\ ],
\ 'sro' : '::',
\ 'kind2scope' : {
\ 'g' : 'enum',
\ 'n' : 'namespace',
\ 'c' : 'class',
\ 's' : 'struct',
\ 'u' : 'union'
\ },
\ 'scope2kind' : {
\ 'enum' : 'g',
\ 'namespace' : 'n',
\ 'class' : 'c',
\ 'struct' : 's',
\ 'union' : 'u'
\ }
\ }