最近、私は
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ファイルコンプレッサーであると主張していません!