ColdFusion IDE 等效于 Visual Studio 的 "go to definition"和 "find usages"

标签 coldfusion cfeclipse

是否有任何 ColdFusion IDE/IDE 插件允许您执行类似于 Visual Studio 的转到定义和查找用法的操作(其中一些详细信息位于 this page 上)?

例如,在一个 .cfc我可能拥有的文件:

<cfset variables.fooResult = CreateObject(
    "component",
    "Components.com.company.myClass").fooMethod()>

而在 myClass.cfc我有:
<cffunction name="fooMethod" access="public">
    <!-- function body -->
</cffunction>

如果我将光标设置在 .fooMethod 上在第一个文件中,转到定义操作应该将我置于 myClass.cfc 中该方法的声明中.

目前我正在使用 CFEclipse用于 Eclipse 的插件以查看一些旧的 ColdFusion。

最佳答案

CFEclipse 没有这个功能,部分原因是 CFML 是一种动态语言,在解析方面有相当多的复杂性。

在大多数情况下,您可以使用正则表达式搜索来获得大部分信息。

功能定义

要查找函数定义,大多数情况下搜索...

(name="|ion )methodname

...就足够了,而且比以下更彻底的形式更快:
(<cffunction\s+name\s*=\s*['"]|\bfunction\s+)methodname

函数调用

要查找函数调用,只需执行以下操作:
methodname\s*\(

虽然反对你可能需要更彻底,包括:
['"]methodname['"]\s*\]\s*\(

...如果使用了括号表示法。

您可能还想检查 cfinvoke用法:
<cfinvoke[^>]+?method\s*=\s*['"]methodname

当然,如果您的代码是:
<cfset meth = "methodname" />
<cfinvoke ... method="#meth#" />

...也没有任何其他形式的动态方法名称。

如果您真的需要彻底查找所有实例,最好单独搜索方法名称(或包装为 \bmethodname\b ),并手动遍历使用它的任何变量的代码。

关于ColdFusion IDE 等效于 Visual Studio 的 "go to definition"和 "find usages",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18702016/

相关文章:

java - Cfscript 和动态值

mysql - 如何避免在分页中两次运行相同的昂贵的 MySql 查询?

optimization - 防止在亚马逊 s3 上优化 jpeg

eclipse - 如何使用 cfeclipse 插件在 Eclipse 中格式化文本

eclipse - 使用 CFEclipse 在 ColdFusion 11 中进行线路调试

coldfusion - 将 Coldfusion10 字典添加到 CFEclipse 插件

eclipse - 在 CFEclipse 中双击文本选择

eclipse - 检查ColdFusion 的样式?