FlashDevelop 4.0.4 → 4.4.0 にアップデート。
FlashDevelopの[Help - Check for updates]で新バージョン取得して実行。FlexSDKそのほかもFlashDevelopInstallerのオススメどおりupdate。
New Project
FlashDevelop [New Project]の画面で、初期カーソルがFlash IDE Project(以前はAS2.0だった)にあたってるのがこまる。AS3しか使わないんだよ‥‥
→C:\Program Files (x86)\FlashDevelop\Projects にあるフォルダ前の番号を変更すると、最初から[AS3 Project]にカーソル当たった状態にできる。
Space → Tab
タブ文字を使いたくない。半角スペースだけ使いたい。
→FlashDevelopで[Tool - ProgramSetting - FlashDevelop - Indenting - UseTabCharacters] をFalseにするとよい。
→新規タブはSpace x 4になったけど、AS3ファイル作成時に最初から入力済みの以下の文がTabのまま。
C:\Program Files (x86)\FlashDevelop\Projects\120 ActionScript 3 - AS3 Project\src\$(PackagePath)\Main.as.template
(Windoes7の場合)を修正するとよい。ただし「Program Files」以下にあるファイルはWindowsが保護しているので、texteditorに読み込んで書き換えても書き換わらない。
いったん別の場所にコピーしてTab→Space書き換えて、元の位置にファイル上書きすれば書き換わる。
C:\Program Files (x86)\FlashDevelop\Templates\AS3.fdt は新規ファイル作ったときのtemplate。タブ文字使われてるので、これも書き換えるとよい。
AutoHotKey
FlashDevelopで Ctrl+n を カーソル↓ に割り当てても、補完候補選択のときに Ctrl押した時点で補完候補ウィンドウが消えてしまう。
なので、ショートカットキーはFlashDevelopで割り当てずに、すべてAutoHotKeyで行なっている。
Emacsのように操作できて個人的には快適。
; FlashDevelop Emacs操作; {Blind} があると Ctrl+N は、↓ではなくCtrl+↓になる; 修飾キーの自動復元 https://sites.google.com/site/autohotkeyjp/reference/commands/Send#IfWinActiveahk_class WindowsForms10.Window.8.app.0.33c0d9d ^::return^f::Send, {Right} ; Ctrl+F QuickFind → カーソル→^b::Send, {Left} ; Ctrl+B Insert Snippet → カーソル←^n::Send, {Down} ; Ctrl+N Create BlankDocument → カーソル↓^p::Send, {Up} ; Ctrl+P Print → カーソル↑^a::Send, {Home} ; Ctrl+A SelectAll → カーソルHOME^e::Send, {End} ; Ctrl+E → カーソルEnd^h::Send, {Backspace} ; Ctrl+H Find and Replace → BackSpace^d::Send, {Delete} ; Ctrl+D DuplicateLines → Delete^k::Send, +{End}^x ; Ctrl+K → 行末までカット(Shift+End Ctrl+X)^y::Send, ^v ; Ctrl+Y Redo → Paste+^z::Send, ^y ; Ctrl+Shift+Z → Redo^r::Send, ^h ; Ctrl+R OpenResource → Find & Replace+^f::Send, ^f ; Ctrl+Shift+F → QuickFind^vkDBsc01B::Send, {ESC} ; Ctrl+[ → Esc+^a::Send, ^a ; Ctrl+Shift+A → SelectAll^j::Send, +^1; Ctrl+J TypeExplorer → Code Generator^t::Send, ^j ; Ctrl+T TransposeLines → TypeExplorer^q::Send, ^{Space} ; Ctrl+Q Line Comment → Completion+^c::Send, ^q ; Ctrl+Shift+C → Line Comment+^b::Send, ^b ; Ctrl+Shift+B → Snippet (for, elseなど)#IfWinActive
ahk_classの「WindowsForms10.Window.8.app.0.33c0d9d」というのは、いかにもBuildのたびに変わりそうな文字列だったので、「FlashDevelopバージョンアップのたびに書き換えか‥‥」と思い込んでいたが、4.4.0にしても同じだった。だからFlashDevelop4.0.4のときの設定そのまま使えた。
「Code Generator」はCtrl+Shift+1押すの難しいので、Ctrl+Jにして多用している。
複数行選択して、
- [TAB]でindent深く
- [Shift]+[TAB]でindent浅く
- 「LineComment」(上の設定だとCtrl+Shift+C)で一括コメント化/コメント解除
も使う。
Font
FlashDevelopのフォント指定って[Tools - ProgramSettings - FlashDevelop - UIConsoleFont]で指定できるように見えるけどここで指定しても反映されない。[Tools - SyntaxColoring]のほうのフォント指定が反映される。
FlashDevelopの操作を学習
- http://vimeo.com/5597151で入力しているサンプルを同じように入力してみる FlashDevelop
- mc:mov と入力すると補完候補が出てくる。「大文字で入力しなくてもいい」。MovieClip選択されていたらそのままenter。stageWidthとかはカーソル下で選んでEnter。
- new 入力すると、そのあとに続きそうな補完が出る。
- 文末の ; を入力すると、自動的に適切にSpace文字を入れてくれる。
- for[TAB] でforループ書ける。(code snippet) http://www.flashdevelop.org/wikidocs/index.php?title=Features:Completion
- math. で Math.に自動的変換。
- addEventListenerのハンドラー関数名書いたところにカーソル合わせて Ctrl+Shift+1 関数定義 code snippet http://www.flashdevelop.org/wikidocs/index.php?title=Features:Generation
- mc.x のmcをローカル宣言してるけど、別の関数でも使う。mc にカーソル合わせて、Ctrl+Shift+1 で[Promote to class member]すると、ローカルからクラス変数に昇格する。
Flex コーディング規約
ActionScript 3.0のコーディング規約は以下にある
- http://sourceforge.net/adobe/flexsdk/wiki/Coding%20Conventions/(英語)
- http://sourceforge.net/adobe/flexsdk/wiki/Coding%20Conventions-ja/(日本語)
タブは半角スペース4つなのか。