Netbeans の ALt-Shift-F に似ていますが、TestComplete の IDE でこれを正しく行う方法はありますか? これが可能かどうか、または TestComplete ウィンドウを離れずに autoFormat の回避策を考えられるかどうかは不明です。
TestComplete の javascript / Jscript コードのhttp://jsbeautifier.org/で動作するように、以下のソリューションを取得しようとしています。
ありがとう
Netbeans の ALt-Shift-F に似ていますが、TestComplete の IDE でこれを正しく行う方法はありますか? これが可能かどうか、または TestComplete ウィンドウを離れずに autoFormat の回避策を考えられるかどうかは不明です。
TestComplete の javascript / Jscript コードのhttp://jsbeautifier.org/で動作するように、以下のソリューションを取得しようとしています。
ありがとう
素晴らしい質問です。
そのための組み込み関数はありません。そのため、100% 便利なソリューションを期待するべきではありません。現在のスクリプト エディターの内容を変更するのは簡単なことではありません (可能な場合)。ですから、何をするにしても、それはある種の妥協になります。
一般に、タスクは 3 つあります。
現在のユニットコードを取得します。
コードをフォーマットします。
コードを本体に戻します。
私の理解では、項目 1 と 3 は TestComplete プラグインを作成することによってのみ達成できます。プロジェクト ノードのエディターにアクセスするのは簡単なことではありません。
更新:愚かな私!スクリプト エディター コードにアクセスする方法があります。以下の部分を更新しました。
別のアプリへの切り替えを回避するのに役立つのは、スクリプト拡張機能です。
スクリプト拡張の形式でカスタム チェックポイントを作成し、TestComplete にインストールします。その結果、ツールバーにボタンが表示され、クリックしてコードを呼び出すことができます。
設計時のアクションでは、エディターの内容を読み取るコードを呼び出し、外部コードの書式設定機能を使用して、エディターの内容を書式設定されたコードに置き換えます。
他の TestComplete ユーザーが提案できる実装を見るのは非常に興味深いでしょう! 手始めに、外部の Web サイトを使用して VBScript コード ( http://www.vbindent.com/ )をフォーマットすることを含むソリューションを投稿しています。投稿のスターターがおそらく JScript を使用していることは知っていますが、まだ JScript フォーマッターを見つけていません。
私の解決策は、単純なスクリプト拡張です。ここにファイルを投稿することはできないため、2 つのスクリプト拡張ファイルのコードを投稿します。
記述ファイル:
<!-- 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 コードがフォーマットされます。
したがって、これは、ソリューションがどのように見えるかを明確に示すためのものです。より良い提案は大歓迎です!考えを共有する!
ご参考までに
終わったよ。あなたの投稿に基づいています。
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
よろしく