Home > Archives > 2010-05

2010-05

FlashDevelopのExtra optionsで、ショートハンドを使えるよ!


FlashDevelopのASDocジェネレーターでExtra optionsを指定する際、ショートハンドっぽい記述が出来るんですねぇ…

ソースパスの指定を行う場合

-source-path C:\as3class\ -lenient

以前はこんな感じで指定していましたが、ショートハンドを使うと、スマートに書くことが出来ます。

-sp C:\as3class\ -lenient

-source-path→-spと書くことが出来るんですね。

他にもショートハンドを使うことが出来るオプションがあったので、表にしてみました。

  ノーマル ショートハンド
ソースパス -source-path -sp
ライブラリパス -library-path -l
除外するライブラリパス -external-library-path -el

お~、便利!

これ以外にもいくつかあったんですが、僕がよく使いそうなものは、この三つくらいなので、これだけメモ。

ASDocErrorマクロを、ちょこっとアップデート


FlashDevelopのマクロ(ASDocError)を、ちょっとだけアップデートしました。

以前のは、マクロを実行→エラーログファイルを選択→出力パネルに表示というものでした。

ASDocジェネレーターを使ってエラーが出た際の流れは、こんな感じかと…

  1. Outputパネルにエラーが表示
  2. プロジェクトを保存
  3. エラーログを見る

馬鹿全さんのアドバイスもあり、エラーログファイルではなく、docprojを読み込んだらいいんじゃないかと…

docprojを読み込んでみる

(ファイルではなく)docprojを読み込んだらどうなるのか、興味があったので試してみました。

<?xml version=”1.0″ encoding=”utf-8″?>
<docProject xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<pageTitle>Hoge API Documentation</pageTitle>
<classPaths>C:\as3class</classPaths>
<sourcesList />
<outputDirectory>C:\asdoc\hoge</outputDirectory>
<activeCompiler>1</activeCompiler>
<extraOptions>-source-path C:\as3class\ -lenient</extraOptions>
</docProject>

ASDocジェネレーターのProjectパネルで設定した値が、xmlファイルとして表示されるんですね!

それなら、こいつを使ってあげればいいんじゃないの? と。

ということで、エラーログではなく、docprojを読み込む様に、ソースを変更。

流れは、こんな感じに

  1. Outputパネルにエラーが表示
  2. プロジェクトを保存
  3. ASDocErrorのマクロを実行
  4. プロジェクトを選択
  5. エラーログが表示

プロジェクトを選択して、エラーログのファイルがあれば、出力パネルに表示。

エラーログが無い場合は、(そのプロジェクトには)エラーログファイルはありませんよ~! と表示されます。

マクロの置いてある場所

マクロは、FlashDevelop.jpのリポジトリに置いてあります~!

FlashDevelop.jp
http://code.google.com/p/flashdevelopjp/

ASDocErrorというマクロを作ってみました


FlashDevelop+Flex4SDKを使っていても、 -lenientと指定してあげることで、ASDocを作成可能ですよ~! という記事を書きました。

この方法だと何か記述ミスがあっても、ASDocが作成されちゃうんですが、このままだと何だか気持ち悪い。

ASDocが作成されても、閉じタグはきちんと修正したい! って思うのは、僕だけでしょうかね?

マクロを作ってみた

ASDoc作成時にエラーがあった場合、validation_errors.logが作成されるんですが、これをエディタで開いてあれこれするというのは、面倒かなぁ…と。

なので、エラーログをFlashDevelopの出力パネルに表示させるマクロを書いてみました。

マクロはFlashDevelop.jpのリポジトリに上げてあります。

FlashDevelop.jp
http://code.google.com/p/flashdevelopjp/

使い方

ASDocジェネレーターを使って、エラーログが作成されたら、ASDocErrorのマクロを実行。

ダイアログが開かれるので、作成されたエラーログを選択。

すると、FlashDevelopの出力パネルにエラーが表示されます。

Text for description in ライブラリ名:クラス名/メソッド名 is not valid.
org.xml.sax.SAXParseException: エレメント型 “p” は対応する終了タグ “</p>” で終了する必要があります。

こんな感じで表示されるので、エラーが出ている箇所のタグを修正してあげればOKです。

ダイアログを表示→エラーログを選択するのが面倒な場合は、事前に書き出し先フォルダを設定してあげればいいと思います。

 System.IO.StreamReader sr = new System.IO.StreamReader(
              @"C:\asdoc\validation_errors.log",
              System.Text.Encoding.GetEncoding("utf-8"));

この方法だと、マクロを実行するだけで、出力パネルに表示されます。

validation_errors.logは、エラーのある行番号が表示されないので、そこらあたりを今後どうにかしたい! と思っています。

import文の整理を行うと、消えてしまう


何日か前にtwitterで答えた内容ですが、誰かの役に立つかもしれないので、エントリしておきます。

FlashDevelopのリファクター>import文の整理を行うと、import文が消えてしまう場合があります。

import文が消えてしまう…

package  
{
	import flash.display.Sprite;
	import caurina.transitions.Tweener;
	import caurina.transitions.properties.FilterShortcuts;
	
	 public class Main extends Sprite
	{
		private var _sp:Sprite;
		
		public function Main() 
		{
			_sp = new Sprite();
			_sp.graphics.beginFill(0);
			_sp.graphics.drawRect(50, 50, 50, 50);
			_sp.graphics.endFill();
			addChild(_sp);
			
			Tweener.addTween(_sp, { x:250, y:250, time:3} );
		}
		
	}

}

FilterShortcutsは後で使うんだけど、先にimport文は書いておきたい…みたいな場合。

で、import文を整理しようかな? と思って、リファクター>import文の整理を実行。

すると、import caurina.transitions.properties.FilterShortcuts;の一文が消えてしまいます。

多分ですが…

リファクター>import文の整理を行うと、import文にはFilterShortcutsはあるけど、コード内にはFilterShortcutsは使われてない。

ということは、FilterShortcutsのimport文は不要だね! とFlashDevelopが判断して、消去しているっぽいです。

なので、(import文を先に書いた場合)コード内でもFilterShortcutsを使ってますよ~! と定義しておく必要があります。

package  
{
	import flash.display.Sprite;
	import caurina.transitions.Tweener;
	import caurina.transitions.properties.FilterShortcuts;
	
	 public class Main extends Sprite
	{
		private var _sp:Sprite;

		/*以下のどちらかを行うと、import文は消えない
		private var _hoge:FilterShortcuts;
		FilterShortcuts;
		*/
		
		(略)

import文は、使うときに書くよ! って方は、気にしなくても大丈夫。

JSFLファイルも右クリックで


以前、こんな記事を書きました。

JSFLを実行する為に、MainMenu.xmlに手を加えるって感じの記事です。

zen-codingの際に

FlashDevelop3.1.0から出来るようになったzen-codingを試していた際に、気がついたことなんですが…

zen-codingを行って、プロジェクト内のindex.htmlファイルを右クリック→実行を選択すると、ブラウザプレビューが出来ます。

それなら、他のファイルでもいけるんじゃない? と思いまして…

JSFLファイルも右クリックで

Sample1とSample2の違いですが…

Sample1
BOMなしで保存
Sample2
BOMありで保存

この差だけです。ファイル内には、以下のものが書いてあります。

fl.trace("ほげほげ");

では、JSFLファイルを実行してみます。

これを行った結果ですが…

Sample1
なにも起きない
Sample2
IDE側の出力パネルに「ほげほげ」が表示

という感じになりました。

BOMありとなしの違いは、以前の記事と結果は同じでしたが、右クリックでJSFLファイルも実行出来るとは…

MainMenu.xmlじゃなくて、マクロでもJSFLを実行可能にしてみようかな? と、あれこれ試していた最中に「そんなことしなくても、大丈夫だわ」と…

ふ~、間抜けなマクロを晒さなくて済みました。

Home > Archives > 2010-05

Search
Feeds
Meta

flashDevelopスポンサー

Return to page top