[Dreamweaver] CS4にzen-codingを手動でインストール

2010/04/10

こんにちは、きんくまです。

htmlのコーディングするのに、zen-codingっていうらくらくツールがあるみたいです。
>> マークアップ効率化 – zen-codingでコーディングを倍速に

>> MXPはこちらからさがしてね Download: Zen Coding for Dreamweaver v0.6

おーこりゃすごいってことで、DW CS4用のMXPをおとしてきて、インストールしようとしたらエラー!
なんかメニューまわりでなんたらかんたらってエラーダイアログが出る。

っていうわけで、手動でインストールだよ。Win7 64bitです
※参考にされる方は 自己責任でお願いします。

menus.xmlに追加

C:\Users\{ユーザー名}\AppData\Roaming\Adobe\Dreamweaver CS4\ja_JP\Configuration\Menus\menus.xml
を開く

「DWMenu_Commands」を検索。自分は3054行目とかだった。

<menu name="コマンド(_C)" id="DWMenu_Commands">

とかいうのの直前にこういうのを追記

	<menu id="DWMenu_ZenCoding" name="Zen Coding">
		<menuitem id="DWMenu_Commands_ZenCoding_expandAbbreviation" name="Expand Abbreviation" key="Ctrl+," enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'expand_abbreviation')" />
		<menuitem id="DWMenu_Commands_ZenCoding_expandAbbreviationWithTab" name="Expand Abbreviation With Tab" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'expand_abbreviation_with_tab')" />
		<menuitem id="DWMenu_Commands_ZenCoding_matchPair" name="Match Pair" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'match_pair')" />
		<menuitem id="DWMenu_Commands_ZenCoding_matchPairInward" name="Match Pair Inward" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'match_pair_inward')" />
		<menuitem id="DWMenu_Commands_ZenCoding_matchPairOutward" name="Match Pair Outward" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'match_pair_outward')" />
		<menuitem id="DWMenu_Commands_ZenCoding_wrapWithAbbreviation" name="Wrap with Abbreviation" key="Ctrl+H" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'wrap_with_abbreviation')" />
		<menuitem id="DWMenu_Commands_ZenCoding_prevEditPoint" name="Previous Edit Point" key="Alt+Left" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'prev_edit_point')" />
		<menuitem id="DWMenu_Commands_ZenCoding_nextEditPoint" name="Next Edit Point" key="Alt+Right" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'next_edit_point')" />
		<menuitem id="DWMenu_Commands_ZenCoding_insertFormattedNewline" name="Insert Formatted Line Break" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'insert_formatted_line_break')" />
		<menuitem id="DWMenu_Commands_ZenCoding_selectLine" name="Select Line" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'select_line')" />
		<menuitem id="DWMenu_Commands_ZenCoding_goToMatchingPair" name="Matching Pair" key="Alt+Up" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'matching_pair')" />
		<menuitem id="DWMenu_Commands_ZenCoding_mergeLines" name="Merge Lines" key="Ctrl+/" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'merge_lines')" />
		<menuitem id="DWMenu_Commands_ZenCoding_toggleComment" name="Toggle Comment" key="Ctrl+Alt+;" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'toggle_comment')" />
		<menuitem id="DWMenu_Commands_ZenCoding_splitJoinTag" name="Split/Join Tag" key="Ctrl+Alt+\" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'split_join_tag')" />
		<menuitem id="DWMenu_Commands_ZenCoding_removeTag" name="Remove Tag" key="Ctrl+\" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'remove_tag')" />
	</menu>

前後の何行かもあわせてみるとこんな感じになればOK

            <menuitem name=" -_2" arguments="'-2'" file="Menus/MM/Text_Size.htm" id="DWMenu_Text_SizeDown_-2" />
            <menuitem name=" -_3" arguments="'-3'" file="Menus/MM/Text_Size.htm" id="DWMenu_Text_SizeDown_-3" />
        </menu>
        <menuitem name="カラー(_R)..." command="dw.getDocumentDOM().showFontColorDialog()" enabled="((dw.getFocus() == 'document' && dw.getDocumentDOM().getFocus() == 'body') || (dw.getFocus() == 'textView' && dw.getDocumentDOM().getFocus() != 'frameset' && dw.canShowDesignView(dw.getActiveWindow()) && dw.getDocumentDOM().isDesignViewUpdated())) && dw.getDocumentDOM().documentType != 'XSLT-fragment'" id="DWMenu_Text_Color" />
    </menu>
	<menu id="DWMenu_ZenCoding" name="Zen Coding">
		<menuitem id="DWMenu_Commands_ZenCoding_expandAbbreviation" name="Expand Abbreviation" key="Ctrl+," enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'expand_abbreviation')" />
		<menuitem id="DWMenu_Commands_ZenCoding_expandAbbreviationWithTab" name="Expand Abbreviation With Tab" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'expand_abbreviation_with_tab')" />
		<menuitem id="DWMenu_Commands_ZenCoding_matchPair" name="Match Pair" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'match_pair')" />
		<menuitem id="DWMenu_Commands_ZenCoding_matchPairInward" name="Match Pair Inward" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'match_pair_inward')" />
		<menuitem id="DWMenu_Commands_ZenCoding_matchPairOutward" name="Match Pair Outward" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'match_pair_outward')" />
		<menuitem id="DWMenu_Commands_ZenCoding_wrapWithAbbreviation" name="Wrap with Abbreviation" key="Ctrl+H" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'wrap_with_abbreviation')" />
		<menuitem id="DWMenu_Commands_ZenCoding_prevEditPoint" name="Previous Edit Point" key="Alt+Left" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'prev_edit_point')" />
		<menuitem id="DWMenu_Commands_ZenCoding_nextEditPoint" name="Next Edit Point" key="Alt+Right" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'next_edit_point')" />
		<menuitem id="DWMenu_Commands_ZenCoding_insertFormattedNewline" name="Insert Formatted Line Break" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'insert_formatted_line_break')" />
		<menuitem id="DWMenu_Commands_ZenCoding_selectLine" name="Select Line" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'select_line')" />
		<menuitem id="DWMenu_Commands_ZenCoding_goToMatchingPair" name="Matching Pair" key="Alt+Up" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'matching_pair')" />
		<menuitem id="DWMenu_Commands_ZenCoding_mergeLines" name="Merge Lines" key="Ctrl+/" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'merge_lines')" />
		<menuitem id="DWMenu_Commands_ZenCoding_toggleComment" name="Toggle Comment" key="Ctrl+Alt+;" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'toggle_comment')" />
		<menuitem id="DWMenu_Commands_ZenCoding_splitJoinTag" name="Split/Join Tag" key="Ctrl+Alt+\" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'split_join_tag')" />
		<menuitem id="DWMenu_Commands_ZenCoding_removeTag" name="Remove Tag" key="Ctrl+\" enabled="dw.getFocus(true) === 'textView' || dw.getFocus(true) === 'html'" command="dw.runCommand('ZenCoding.html', 'remove_tag')" />
	</menu>
    <menu name="コマンド(_C)" id="DWMenu_Commands">
        <menuitem name="記録開始(_S)" key="Cmd+Shift+X" file="Menus/MM/Command_Recording.htm" id="DWMenu_Commands_StartRecording" />
        <menuitem name="記録済みコマンドの再生(_R)" command="dw.playRecordedCommand()" enabled="dw.getFocus() != 'browser' && dw.getFocus() != 'site' && dw.canPlayRecordedCommand()" id="DWMenu_Commands_PlayCommand" />

Commandsに追加

C:\Users\{ユーザー名}\AppData\Roaming\Adobe\Dreamweaver CS4\ja_JP\Configuration\Commands
フォルダに
zipを解凍してできたSources/Commmandsの中身をコピー

C:\Users\{ユーザー名}\AppData\Roaming\Adobe\Dreamweaver CS4\ja_JP\Configuration\Commands
|-ZenCoding.html
|-ZenCodingフォルダ

ドリを再起動させてみて、こんな感じにメニューができてたらOK。

zen-coding_cap1

あとは、コーディングするときに、
div#hoge
とか書いて「Ctrl + ,(カンマ)」を押すとうまく展開されてやったー!みたいな。

LINEで送る
Pocket

自作iPhoneアプリ 好評発売中!
フォルメモ - シンプルなフォルダつきメモ帳
ジッピー電卓 - 消費税や割引もサクサク計算!

ページトップへ戻る