Xcode中非传统JavaScript方法的函数列表

时间:2012-11-11 19:52:15

标签: javascript xcode

在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的方法下拉列表中:

enter image description here


我提供了脚本作为我的问题的答案部分。只需复制并粘贴到文件中即可。将该文件放在JS文件所在的文件夹中。从终端cd到该文件夹​​并运行shell脚本:./scriptname

金!!!

1 个答案:

答案 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