Home > C#

C# Archive

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は、エラーのある行番号が表示されないので、そこらあたりを今後どうにかしたい! と思っています。

Express Editionでも行番号を表示できる!

  • 2009-12-15 (火)
  • C#

以前、『両者のいいとこ取り』という記事で、Express Editionだと行番号を表示出来ない? と書きました。

p-nixさまからコメントを頂きまして、Express Editionでも行番号を表示出来ることが判明しましたので、そこらあたりをエントリ。

デフォルトの設定だと

デフォルトの設定

ツール>オプションのデフォルトの設定だと、こんな感じになっています。

僕はこのままの状態で、「行番号って何処で設定するの?」とあれこれ探していて、見つからなかったので、Express Editionでは行番号を表示出来ない? と書いたのでした。

全ての設定を表示

全ての設定を表示にチェックを入れる

ですが、頂いたコメントを読んでみると、テキストエディタ>全般>行番号というものが、どうやらあるらしい…

でも、デフォルトの設定のままだと、そんなものは表示されていない…

「う~ん、何で?」と思っていたんですが、ウィンドウの下あたりに「すべての設定を表示」というチェックボックスがあります。

「もしかしたら、これにチェック入れればいいのかな?」と思い、チェックを入れてみると…

テキストエディタ>全般>行番号が表示されました!

そして行番号にチェックを入れると、コード側にも行番号が表示されるように!

他にも設定項目が沢山あるので、いろいろ弄ってみたいと思います。

両者のいいとこ取り


前回、SharpDevelopだと閉じ括弧の補完をしてくれるから、こっちの方がいいかも? と思ったんですが…

var a:int=2*3

(FlashDevelopで)こんな感じで、コードを書いていた場合、3の後で;(セミコロン)を打った途端…

var a:int = 2 * 3 ;

自動的に半角スペースを入れて、コードを見やすくしてくれます。

てっきりSharpDevelopでも同じことしてくれるんだろうなぁ…と思っていました。

SharpDevelopだと

int a=2*3

ここまで打って、セミコロンを入力してみると…

int a=2*3;

何も変わりません!

あらら…

SharpDevelopだと、自分で入力しなくちゃいけないっぽい…(単に僕が知らないだけかもしれませんが…)

これ、結構面倒…

C# 2008 Express Editionだと

C# 2008 Express Editionで同じことをしてみました。

int a=2*3

3の後で;(セミコロン)を入力すると…

int a = 2 * 3 ;

おぉ、こちらは何故だか半角スペースを入れてくれる!

あとExpress Editionは、コードを入力していくと、逐一(閉じ括弧が必要です! とか)エラー一覧パネルに、警告を表示してくれます。

この点は、初心者にとっても優しい。

けど、Express Editionは行番号を表示してくれないっぽい…

う~ん、両方のいいとこ取りのエディタって、あったりするんでしょうかねぇ…

SharpDevelopを入れてみた


SharpDevelopがどんなものか試してみたかったので、入れてみました。

断然、インストールが早い!

Visual C# 2008 Express Editionをインストールした時は、「一体、何分掛かるの?」ってくらい待たされたんですが、SharpDevelopはあっという間にインストールが終了!

使うには、.net Frameworkも必要なんですが、FlashDevelopを使っている方は、既にインストールされていると思うので、SharpDevelopをインストールするだけでOK。

インストール→メニューの日本語化とかは、マイコミジャーナルのSharpDevelopの記事に詳しく書かれていました。

Visual C# 2008 Express Edition

GoogleCodeから落としてきたFDのコードを開いてみた時に、ちょっと差があったので、それを書いておきます。

キャプチャはPHPContextプラグインを開いてみた時なんですが、Visual C#の場合だと、エラー一覧のパネルに、不足しているプラグインが何かを表示してくれます。

Visual C#での表示例・その1

ソリューションエクスプローラのパネルでも、不足しているものが何かを確認することが出来ます。

Visual C#での表示例・その2

これを見ながら、不足しているコンポーネントを追加していけばOK。

SharpDevelop

同じ事をSharpDevelopでも行ってみました。

SharpDevelopでの表示例・その1

エラーパネルに、何も表示されません。

SharpDevelopでの表示例・その2

ソリューションエクスプローラのパネルでも、不足しているものが何かは確認することは出来ませんでした。

(SharpDevelopは)デバッグやビルドを行うまでは、不足しているものを教えてくれないっぽい? んですかね?(設定を変更すれば、SharpDevelopでも可能になるのかな?)

まだちょっと触ってみた程度ですが、両者は(それほど)変わらないような気がします。

でも、書籍やネット上の記事は、Visual C#の方が充実しているので、僕みたいな初心者にはVisual C#の方がいいのかも…

追記

コード補完でSharpDevelop素敵! と思ったことがあったので、追記。

Visual C# 2008 Express Editionの補完

using System;

class Sample
{

クラスを宣言して{を入力した後で、Enterを押すと、Visual C#ではエラーパネルに以下のものが表示されます。

Visual C#のコード補完

閉じ括弧がありませんよ~! って怒られます!

つまり、自分で打ちなさい! ってことです。

SharpDevelopの補完

using System;

class Sample
{

さっきと同じようにコードを打って、Enterキーを押すと…

SharpDevelopの補完

FlashDevelopの場合と同じように、閉じ括弧を補完してくれます!

FlashDevelopに慣れている人は、こっち(SharpDevelop)の方がいいのかもしれない…

ホーム > C#

Search
Feeds
Meta

flashDevelopスポンサー

Return to page top