gpt4 book ai didi

javascript - Taglist 插件不显示 Javascript 函数

转载 作者:行者123 更新时间:2023-11-29 17:27:05 25 4
gpt4 key购买 nike

我用了几天 taglist 插件,现在我用 Javascript 试了一下,但在 Javascript 中它只显示部分信息或没有信息。看来问题可能出在命名空间上,因为函数在

var namespace_name = {

f1: function() {
},
f2: function() {
},
.
.
.

};

或这类函数(匿名)

var something = (function f() {
}
...
})();

你知道如何解决这个问题吗?

谢谢

最佳答案

你试过了吗TagBar ?它是对相同想法的更现代的诠释,可以更好地与 JavaScript 配合使用,甚至支持 jsctags。

taglist on the left, tagbar on the right

左边是TagList,右边是TagBar。

TagList 不起作用,因为 Exuberant ctags(TagList 用来索引代码的程序)不太适合 JavaScript,尤其是带有回调、闭包和自执行函数的现代东西。

另一方面,如果 JavaScript 可用,TagBar 会使用 jsctags。 Jsctags 是用现代 JavaScript 编写的,因此效果更好。

将生成的这些标记文件与以下代码(基于您的示例)进行比较:

var namespace_name = {

f1: function() {
window.alert("f1");
},
f2: function() {
window.alert("f2");
}
};
var something = (function f() {
window.alert("something");
})();

$ctags. 的输出:

// empty file expect for the header

$jsctags. 的输出:

// skipped header
namespace_name test.js /^var namespace_name = {$/;" v lineno:1 type:Object
f1 test.js /^\tf1: function() {$/;" f lineno:3 type:void function()
f2 test.js /^\tf2: function() {$/;" f lineno:6 type:void function()
f test.js /^var something = (function f() {$/;" f lineno:11 type:void function()
something test.js /^var something = (function f() {$/;" v lineno:11 type:undefined

SO 上有一堆关于自定义 exuberant ctags 以使其更好地与 JavaScript 一起工作的问题:herehere .

所以,基本上,有两种方法可以解决您的问题:自定义ctags 或使用tagbar+jsctags。

关于javascript - Taglist 插件不显示 Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7834684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com