0

在 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

金的!!!

4

1 回答 1

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
于 2012-11-11T19:52:15.417 回答