Aptana-プラグインの作成

最近、私はAptana Studio Community Editionをメインの作業エディターとして選択しました。 エディターは非常に優れており(その機能の詳細なレビューは別の投稿のトピックです)、無料で喜んでいます。

そのため、AptanaはEclipse Monkeyプラグインをサポートしています。 どうやってやるの? 次に、CSSファイルを圧縮するためのプラグインを作成する例を紹介します。



まず、プロジェクトに「Monkey」または「Scripts」フォルダーを作成する必要があります(スクリプトの場合は、別のプロジェクトを作成しました)。 次に、新しいフォルダーにJavaScriptファイルを作成して開きます。



最初に次のように書きます:

/*

* Menu: CSS > Compact

* DOM: download.eclipse.org/technology/dash/update/org.eclipse.eclipsemonkey.lang.javascript

* DOM: localhost/com.aptana.ide.scripting

*/








このコメントは、プラグインがパネルおよびスクリプトメニューに表示される方法を説明しています。 この場合、プラグインはCompactというCSSセクションに分類されます。



この関数内にメイン関数を作成し、編集したコードに対するすべてのアクションを説明します。

function main(){

}








まず、アクティブなエディターが存在することを確認する必要があります。そのため、メイン関数に次のように記述します。



var sourceEditor = editors.activeEditor;

if (sourceEditor === undefined)

{

alert(" !");

}








editros.activeEditor(アクティブエディター)と同等の変数sourceEditorを作成します。 次に、アクティブなエディターがあるかどうかを確認し、エディターがない場合は警告を表示します。

次のステップは、編集中のファイルがCSSファイルであることを確認することです。 これを行うには、次の関数を作成します。



function getLanguage()

{

var result = "";



try

{

result = editors.activeEditor.textEditor.getFileContext().getDefaultLanguage();

}

catch(e)

{

}



return result;

}









この関数は、アクティブなエディターでファイルの種類を返します。 それを呼び出すには、メイン関数にifを追加します。



else if (getLanguage() != "text/css")

{

alert(" CSS-!");

}









アクティブなエディターがあり、その中のファイルがCSSであることを確認したら、コードの作業に直接進むことができます。 これを行うには、次のように追加します。



else

{

var comString = sourceEditor.source; // comString



var reg = /\t/g; //

var comString = comString.replace(reg,''); //



var reg = /\/\*.*\*\//g; //

var comString = comString.replace(reg,''); //



var reg = /:\s*/g; //

var comString = comString.replace(reg,':'); // display: none;



var reg = /\r\n\r\n/g; //

var comString = comString.replace(reg,''); //



// ,

sourceEditor.applyEdit(0, sourceEditor.sourceLength, comString);

}









以上です。 このプラグインを保存してAptanaを再起動すると、Scripts> CSSメニューでCompactエントリが見つかり、CSSファイルを圧縮することができます。



したがって、変数comStringでさまざまなアクションを実行することで、必要なプラグインを作成できます!



最終結果:

/*

* Menu: CSS > Compact

* DOM: download.eclipse.org/technology/dash/update/org.eclipse.eclipsemonkey.lang.javascript

* DOM: localhost/com.aptana.ide.scripting

*/



function main()

{

var sourceEditor = editors.activeEditor;



if (sourceEditor === undefined)

{

alert( " !" );

}

else if (getLanguage() != "text/css" )

{

alert( " CSS-!" );

}

else

{

var comString = sourceEditor.source;



var reg = /\t/g;

var comString = comString.replace(reg, '' );



var reg = /\/\*.*\*\ //g;

var comString = comString.replace(reg, '' );



var reg = /:\s*/g;

var comString = comString.replace(reg, ':' );



var reg = /{\s*/g;

var comString = comString.replace(reg, '{' );



var reg = /}\s*/g;

var comString = comString.replace(reg, '}' );



var reg = /\s*{/g;

var comString = comString.replace(reg, '{' );



var reg = /;\s*/g;

var comString = comString.replace(reg, ';' );



var reg = /\r\n/g;

var comString = comString.replace(reg, '' );



sourceEditor.applyEdit(0, sourceEditor.sourceLength, comString);

}

}



function getLanguage()

{

var result = "" ;



try

{

result = editors.activeEditor.textEditor.getFileContext().getDefaultLanguage();

}

catch (e)

{

}



return result;

}




* This source code was highlighted with Source Code Highlighter .








PSこの記事の例は、100%CSSファイルコンプレッサーであると主張していません!




All Articles