EmEditorで編集中のHTML(XHTML)ファイルをAnother HTML-lintで文法チェックする方法

作成開始日: 2009/05/25
最終更新日: 2009/12/31

1. はじめに

EmEditor (Professionalバージョン)とAnother HTML-lintを連携するためのプラグインの類がないかとインターネット上をあちこち探したのですが、結局のところ、プラグインの類は不要で、EmEditor Professionalが標準で搭載している機能で出来ました。何はともあれ、先にスクリーンショットをご覧いただくのが早いでしょう。こんな感じです。

[EmEditorのスクリーンショット]
図1. スクリーンショット

EmEditorで編集中に、ツールバーのアイコン [アイコン] をクリックすると、編集中のファイルをAnother HTML-lintで文法チェックし、チェック結果が、EmEditorのアウトプットバーに表示されます。アウトプットバーに表示されたエラーメッセージ行をダブルクリックすると、編集中のエラー行にジャンプします(いわゆる、タグジャンプ)。

アイコン [アイコン] は、私が作成したものですが、絵心のある方は、カッコいいのを自前で作成すると良いでしょう。

2. 前提条件

コマンドラインでAnother HTML-lintが動作すること。それだけです。もしもあなたがまだコマンドラインでAnother HTML-lintが動くようにしていないようでしたら、以下を参考にして、設定を行ってください。

Another HTML-lintを Windows コマンドプロンプトで使うの巻

3. 設定

アイコンを用意してください。アイコンは、24x24ピクセルと、16x16ピクセルのアイコンを一つのアイコンファイルに格納しておけば良いようです。自前で用意できない場合は、よろしければ、私の作ったアイコンをご利用ください。下記リンクを右クリックして、リンク先(ファイル名: html-lint.ico)を任意のディレクトリに保存してください。

html-lint.ico

ツール、外部ツール、外部ツールの設定で外部ツールダイアログを表示します。

[外部ツールダイアログ]
図2. 外部ツールダイアログ

上の図は、既に設定が完了した状態のスクリーンショットとなっておりますが、初めて設定を行う場合は、新規作成ボタンをクリックします。新規作成ボタンをクリックすると、外部ツールのプロパティというダイアログが表示されますので、下記を参考にして入力してください。

[外部ツールのプロパティ]
図3. 外部ツールのプロパティ

アイコンパスは、先に保存しておいたアイコン(html-lint.ico)のパスを指定します。

引数は、文字数が多いので一部隠れておりますが、以下のように設定しています。htmllintのオプション(下記でいうと、-nobanner、 -noscore、 -pedantic、 -pruneの4個)は、あなたに都合のよい値を設定してください。


/k perl C:\Free\HTML-lint\htmllint -nobanner -noscore -pedantic -prune "$(Path)"

間違い修正: $(Path)に空白が含まれる場合に正常動作しないので修正しました。また、「ファイルを保存する」をチェックしました。「ファイルを保存する」をチェックしておくと、自動的にファイルを保存してから外部ツールを実行するので便利です。(修正日: 2009.12.31)

上記設定が終わったら、EmEditorでHTML(XHTML)ファイルを開いて、ツールバーのアイコン [アイコン] をクリックしてみましょう。下記のダイアログが表示された場合は、OKボタンをクリックしてください。

[ダイアログ]
図4. ツールジョブ中止の確認ダイアログ

アウトプットバーが表示され、文法チェックが行われれば、めでたし、めでたしです。

『現在のツールジョブを中止しますか?』というダイアログは、HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\Common キーに「PromptTerminateJob」の値 (REG_DWORD) を追加し、0 に設定することによって抑制できます。(EmEditor 8.01以降。参照先: http://jp.emeditor.com/modules/news/article.php?storyid=68)

4. おまけ

もともとAnother HTML-lintをコマンドラインで動作するようにしていた方には承前のことと思いますが、以下のようなバッチファイルを作成しておいて、外部ツールのプロパティダイアログ(図3)で、バッチファイルを実行するように引数を指定するのも良いでしょう。(実際、私は最初はバッチファイルを指定していましたが、この記事のために、バッチファイルを用いない上記の方法を試しました。)


  @echo off
  rem # htmllint.bat
  rem # k16氏のAnother HTML-lintをコマンドラインから使うためのバッチプログラム
  if %1/==/ goto USAGE
  perl C:\Free\HTML-lint\htmllint -nobanner -noscore -pedantic  -prune %1 %2 %3 %4 %5 %6 %7 %8 %9
  goto END
:USAGE
  echo # 使い方
  echo #
  echo # %0  [htmllintのオプション] 採点したいHTMLファイル名
:END

上記バッチファイルを用いた場合の引数は、


/k "htmllint" $(Path)

のようにします。EmEditorを用いずに、コマンドラインからAnother HTML-lintを使う場合は、


htmllint index.html

のようにします。この場合の利点は、指定するオプションの数が多い場合でも、コマンドラインとEmEditor上で、共通したオプションを設定できることでしょう。さらに、


htmllint *.html

のように、複数ファイルをまとめて文法チェックするようなこともできますので、EmEditorの文法チェックと、コマンドラインの文法チェックを併用すると何かと便利です。


[Valid XHTML 1.1]

Copyright © 2009 Fumio KAWAMATA
http://openlab.ring.gr.jp/fumio/index-j.html

タイムスタンプが示す更新日:

JavaScriptを有効にすると、ここにファイルの更新日が表示されます。