有没有一种方法可以在TestComplete中自动格式化(Javascript)代码
Is there a way to AutoFormat (Javascript) code in TestComplete?
类似于Netbeans中的ALt-Shift-F,在TestComplete中的ide中是否有这样的方法?不确定这是否可能,或者是否有人可以在不离开TestComplete窗口的情况下想出自动格式化的解决方法。
我正在尝试使用以下解决方案http://jsbeautifier.org/用于TestComplete中的javascript/Jscript代码。
感谢
好问题!
没有内置的功能。因此,我们不应该期望任何解决方案都是100%方便的——修改当前脚本编辑器内容(如果可能的话)并不是一项简单的任务。所以,无论你做什么,它仍然是某种妥协。
一般来说,任务有三个方面:
-
获取当前单位代码。
-
设置代码格式。
-
将代码放回装置。
根据我的理解,第1项和第3项只能通过创建TestComplete插件来完成——访问项目节点的编辑器不是一件容易的事情。
更新:愚蠢的我!有一种方法可以访问脚本编辑器代码-我已经更新了下面的部分
帮助我们避免切换到不同应用程序的是脚本扩展:
-
我们以脚本扩展的形式创建了一个自定义检查点,并将其安装到TestComplete。结果,我们在工具栏上得到了一个按钮,我们可以单击它来调用我们的代码。
-
在设计时操作中,我们调用一些读取编辑器内容的代码,然后使用外部代码格式化功能,并用格式化的代码替换编辑器内容。
看看其他TestComplete用户可以建议的实现会非常有趣!首先,我发布了一个解决方案,其中包括使用外部网站来格式化VBScript代码(http://www.vbindent.com/)。我知道这篇文章的开头可能使用了JScript,但我还没有找到JScript格式化程序。
我的解决方案是一个简单的脚本扩展。我不能在这里发布文件,所以我将发布两个脚本扩展文件的代码:
描述文件:
<!-- Description.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<ScriptExtensionGroup>
<Category Name="Checkpoints">
<ScriptExtension Name="VBScript Code Indent" Author="SmartBear Software" Version="0.1" HomePage="smartbear.com">
<Script Name="VBIndent.js">
<DesignTimeAction Name="Indent Current VBScript Unit" Routine="DesignTimeExecute"/>
</Script>
<Description>
Indents VBScript code in the currently active unit.
</Description>
</ScriptExtension>
</Category>
</ScriptExtensionGroup>
代码文件:
// VBIndent.js
function DesignTimeExecute()
{
if (CodeEditor.IsEditorActive)
{
var newCode = IndentVBSCode_Through_VBIndent(CodeEditor.Text);
if (null == newCode)
return;
CodeEditor.Text = newCode;
}
}
function IndentVBSCode_Through_VBIndent(codeToIndent)
{
var URL_VBIndent = "http://www.vbindent.com/?indent";
var httpObj = Sys.OleObject("MSXML2.XMLHTTP");
httpObj.open("POST", URL_VBIndent, false);
httpObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
httpObj.send("thecode=" + escape(codeToIndent));
var responseText = httpObj.responseText;
// Extract the indented code from the response
var rx = /<textarea name='"thecode'".*?>((.*'n)*?)<'/textarea>/;
matches = rx.exec(responseText);
if (null == matches)
{
return null;
}
codeIndented = matches[1];
return codeIndented;
}
创建这些文件后,将它们放在类似"''Bin''Extensions''ScriptExtensions''VBIndent"的位置,然后单击"文件|安装脚本扩展|重新加载",您将在"工具"工具栏上的自定义检查点下拉按钮中看到一个新的"缩进当前VBScript单元"项目。单击该元素将格式化当前活动编辑器中的VBScript代码。
因此,这是为了清楚地了解解决方案的样子。欢迎提出更好的建议!分享你的想法!
FYI
我做到了。根据你的帖子。
JSFormat.tcx
https://drive.google.com/uc?export=download&id=0B1x_73bHRc2Jcm8wbTJ2dUpZQTQ
要安装扩展名,请将附加文件JSFormat.tcx复制到C:''Program Files(x86)''SmartBear''TestComplete 10''Bin''Extensions''ScriptExtensions
使用查看下一个图像:
https://drive.google.com/uc?export=download&id=0B1x_73bHRc2Jc3RuLXFpTnlCSnc
问候
- 表格式化 Javascript
- 有没有一种方法可以在TestComplete中自动格式化(Javascript)代码
- 格式化 Javascript 中的文本
- Netbeans IDE 中的自动格式化 Javascript
- 为什么没有一种标准方法来格式化 javascript 中的日期对象
- 在 JavaScript 中正确格式化 JavaScript
- 如何格式化javascript函数date()的输出
- 使用JSON将格式化JavaScript代码传递给HighCharts
- 我可以用换行符和制表符格式化JavaScript/JQuery代码吗
- 重新格式化javascript以适应google闭包编译器's命名空间扁平化
- 使用公制前缀格式化javascript数字,如1.5K、1M、1G等
- 使用vim-replace重新格式化Javascript函数表达式
- 如何格式化JavaScript长字符串日期
- 使用Jade格式化Javascript子字符串
- 格式化JavaScript中document.write()的输出
- 美国运通,CC格式化Javascript -让我们一次性解决这个问题
- 如何根据浏览器文化格式化JavaScript Date
- 格式化Javascript数据数组
- 有什么插件可以让vim格式化javascript,就像在Visual Studio中格式化一样
- 格式化javascript函数的正确方法