在xcode中处理.js文件时,方法浏览器可以工作并列出传统函数。如:
function OBj (e){
for (var i in e) {
enyo.log("element ", i, " is ", e[i])
}
};
...或
var OBj = function(e) {
for (var i in e) {
enyo.log("element ", i, " is ", e[i])
}
};
但是其他模式呢?......例如:
Obj.method({
init: function() {},
data: function() {},
})
这就是xcode不适合我的地方。所以在这个问题/答案的帖子中,我提出了一个我编写的shell脚本,以便提供我所使用的javascript模式类型所需的方法导航类型。利用xcode中的标记???
功能,shell脚本只是循环遍历指定文件夹中的所有.js文件,并通过模式匹配找出所有符合模式的方法:
init: function() {},
它会注入评论匹配标记,因此您现在可以:
Obj.method({
//???:init
init: function() {},
//???:data
data: function() {},
})
很高兴地出现在xcode的方法下拉列表中:
我提供了脚本作为我的问题的答案部分。只需复制并粘贴到文件中即可。将该文件放在JS文件所在的文件夹中。从终端cd
到该文件夹并运行shell脚本:./scriptname
金!!!
答案 0 :(得分:0)
#!/bin/bash
# ***WARNING: BACK UP YOUR FILES BEFORE RUNING THIS SCRIPT ON THEM
# JS function pattern
v1=': function'
# Change these to point to the paths of your own JS files
temp_file='/Users/.../Documents/.../www/.../'
jsfolder='/Users/.../Documents/.../www/.../'
# Do not change anything below unless you know what you doing,
# as it will likely break the script.
v2="\/\/\?\?\?\:"
temploc='temp_file'
for i in "${jsfolder}"*.js
do
sed -e 's/'"${v2}"'.*//' -e 's/ *\([^: ]*\)'"${v1}"'.*/'"${v2}"'\1\
&/' $i > $temp_file$temploc
mv $temp_file$temploc $i
done