見出し画像

AutoHotkey用のスクリプトエディタ「SciTE4AutoHotkey」を簡単に解説してみる

AutoHotkeyをいじるのが楽しくなって
AutoHotkey専用のエディタが欲しいなと思い
この「SciTE4AutoHotkey」を見つけ使用し始めたけど

SciTE4AutoHotkey

日本語で解説された記事などがほとんどなかったので
使い始めたばかりで分からない部分もあるけど
分かる範囲で簡単に解説してみる。

環境

  • SciTE4AutoHotkey v3.1.0 ポータブル版 日本語表示

  • Windows11 22H2

  • AutoHotkey v1.1.36.2

  • AutoHotkey以外のプログラミングの知識・経験ほとんど無し


SciTE4AutoHotkeyのダウンロード


AutoHotkey公式サイト内のSciTE4AutoHotkeyのページ。
インストーラー版とポータブル(zip)版がある。


SciTE4AutoHotkey作者のGitHubページ。
インストーラー版しかない。


特徴や機能など


プログラミング言語用のソースコードエディタ「SciTE」をベースに
AutoHotkey用にカスタムされたのがこの「SciTE4AutoHotkey」で

主な特徴をAutoHotkey公式サイト内のSciTE4AutoHotkeyのページから

  • Syntax highlighting (構文の強調表示)

  • Code folding (コードの折りたたみ)

  • Calltips (also known as IntelliSense) (Calltips (IntelliSense とも呼ばれます))

  • AutoComplete (オートコンプリート)

  • AutoIndent (自動インデント)

  • AutoHotkey help integration (AutoHotkeyヘルプの統合)

  • Abbreviations (略語)

  • Debugging support (デバッグのサポート)

  • Tools for AutoHotkey scripting (AutoHotkeyスクリプト作成用ツール)

  • A toolbar that enables easy access to the tools (ツールに簡単にアクセスできるツールバー)

  • Some AutoHotkey scripting facilities (一部のAutoHotkey スクリプト機能)


「VSCode」「notepad++」「AHK-Studio」など
他のエディタも使用してみたが
これに決めた個人的な理由は

  • シンタックスハイライトで表示できる

  • スニペット的ツールが装備されている

  • AutoHotkey用に特化されている

  • ポータブルでも利用できる

  • メニューなどの日本語化もできる

  • WindowSpyなどAutoHotkey関係のツールも装備されている

  • タブ表示である


メニューバー/解説書のSciTE4AutoHotkey Helpや
SciTEフォルダにあるSciTE.chmから読めたりする
「ヘルプファイル」にも設定や機能などの詳細が書かれており

AutoHotkey公式サイト内のSciTE4AutoHotkeyのページにも
同じ内容が公開されているので
英語だけど翻訳して目を通しておくといいかも。


SciTE4AutoHotkeyの設定


メニューバー/ツールのSciTE4AutoHotkey settingsから
SciTE4AutoHotkeyの各設定ができる。

SciTE4AutoHotkey settings
  • 「Language」から日本語を選ぶとメニューなどの日本語化が可能

  • 「Style」はテーマを選択できる (後述)

  • 「Encording」は「UTF-8」を選択しておく

  • 「Code font」からフォントの設定ができる

  • 「Text zoom」はエディタ画面の文字サイズを変更できる

  • 「Auto-backups」にチェックを入れていると
    .bakファイルが作成されるので嫌ならチェックをはずす

  • 「Edit style」では文字色や背景色や文字装飾の変更ができる

Edit style

設定を変更したら「Update」ボタンを押すのを忘れずに。


テーマを変更する


少ないがデフォルト以外のテーマも公開されている。

ダウンロードしたpropertiesを
SciTE/user/Stylesフォルダに入れて
メニューバー/ツール/SciTE4AutoHotkey settingsの
Styleから選択・変更ができる。

全部ダウンロードして変更してみたがこれだというのがなく
結局デフォルトで使える「SciTE4AutoHotkey Dark」を使用している。
(この記事内のエディタ画面の画像は「SciTE4AutoHotkey Dark」を使用)

文字色や背景色や文字装飾などは
前述したメニューバー/ツール/SciTE4AutoHotkey settingsの
Edit Styleからも変更可能。


ツールバーの説明


ツールバーにある特殊なツールで分かっているものだけを解説。
赤矢印がツールバー上の各ツールの場所。


Run Script

Run Scriptは表示しているスクリプトを起動できる。


WindowSpy

WindowSpyはウィンドウ情報などを取得するツール。


SmartGUI Creator

SmartGUI CreatorはGUIの作成支援ツール。


MsgBox Creator

MsgBox CreatorはMsgBoxの作成支援ツール。


Scriptlet Utility

Scriptlet Utilityはスニペット的ツール。(後述)


自分で登録したツール

この2つは自分で登録したツール。
(後述の「カスタムする」の項目で説明)


ツールバー上を右クリックすると
ツールバー関係のコンテキストメニューが表示される。

ツールバーコンテキストメニュー


スニペット的ツール「Scriptlet Utility」の説明


ツールバー上のScriptlet Utilityの位置

ツールバーにある「Scriptlet Utility」がスニペット的なツールになり

Scriptlet Utilityのウィンドウ

「New」を押しスクリプト名を入力したら
スクリプト名が選択された状態で横のボックスに
貼り付けさせたいスクリプトを入力して
「Save」を押すと登録できる。

スクリプトを選択した状態で「Insert into SciTE」を押すと
そのスクリプトがエディタに貼り付けされる。

このScriptlet Utilityも使えなくはないが
結局AutoHotkeyのGUIで自作したスニペットツールを使用している。

自作スニペットツール


カスタムする


もう少し自分用にカスタムしてみたいが方法がよく分からないので
分かっている部分の実際に使用しているカスタム方法を解説。


新規ファイルを「UTF-8(BOM付き)」で保存する

AutoHotkeyのファイルは「UTF-8(BOM付き)」が基本だけど

このSciTE4AutoHotkeyでは
新規ファイルを何もせずに保存すると
「UTF-8(BOM無し)」で保存されてしまうので
「UTF-8(BOM付き)」にする手間があるのだが

AutoHotkey CommunityにLuaスクリプトを使って
新規ファイルを「UTF-8(BOM付き)」で保存する方法が公開されていた。
(「SciTE」や「SciTE4AutoHotkey」ではこの設定はできないらしい)

if props["FileNameExt"] == "" and editor.Length == 0 and not buffer.templateLoaded then
    f = io.open(os.getenv("windir").."\\ShellNew\\Template.ahk", "r")
    if f then
        t = f:read("*all")
        if t:sub(1, 3) == "\239\187\191" then  -- UTF-8 BOM
            t = t:sub(4)
            scite.MenuCommand(IDM_ENCODING_UTF8)
        end
        editor:append(t)
        editor:EmptyUndoBuffer()
        editor:SetSavePoint()
        f:close()
    end
    buffer.templateLoaded = true
end

上記コードを「NewAhk.lua」のファイル名で保存し
SciTE/userフォルダに入れ

SciTE4AutoHotkeyのツールバー/オプションの
SciTEUser.properties (ユーザー特性用設定を開く)を開き
Add here your own settingsの下に下記コードを追記して

extension.*.ahk=$(SciteUserHome)\NewAhk.lua

SciTE4AutoHotkeyを再起動すると
新規ファイルを「UTF-8(BOM付き)」で保存できるようになる。


スペース(空白)の起動時表示と色の変更

半角スペースは表示する派なのだが
SciTE4AutoHotkeyはデフォルトだと表示固定されないため設定。

メニューバー/オプションの
SciTEUser.properties (ユーザー特性用設定を開く)を開き
Add here your own settingsの下に下記コードを追記する。

;起動時表示
view.whitespace=1

;色の変更
whitespace.fore=#FFFFFF
whitespace.back=#000000

「view.whitespace=1」はSciTE4AutoHotkeyが空白を表示して起動する。
値を「0」にすると非表示。

「whitespace.fore=」はスペース(空白)の文字色を変更する。
「whitespace.back=」はスペース(空白)の背景色を変更する。
「#FFFFFF」と「#000000」はカラーコードで自分の好きな色を設定する。


ツールバーにツールを登録する

ツールバーを右クリックしたコンテキストメニューから
UserToolbar.propertiesを開き
Place here your scriptlets (required by the Scriptlet Utility)の下に
下記を追記する。

ツール名 (ツールチップに表示)|起動させたいツールのパス|ホットキーの設定 (オプション)|アイコンのパス (オプション)

実際の例として
自作のスニペットツールを起動させるスクリプトと
SciTE4AutoHotkeyと自作スニペットツールを終了させるスクリプトを
下記のように登録している。

=SciTE4AutoHotkey Snippet|C:\-----\SciTE4AutoHotkey Snippet.ahk||C:\-----.ico
-
=SciTE+Gui終了|C:\-----\AutoHotkey\SciTE+Gui終了.ahk||C:\-----.ico
  • 「-」は区切り線である

  • アイコンは設定しないと空白・透明で表示される

登録すると赤矢印の部分のようにツールバー上に表示され
そこからスクリプトを起動できる。


SciTE4AutoHotkeyを複数起動する

SciTE4AutoHotkeyは2ペイン表示とか複数起動が出来ないので
Aのファイルを参照しながらBのファイルを編集する時など不便だったが

AutoHotkey Communityに
SciTE4AutoHotkeyを複数起動するコードが公開されていた。

# Open file in a new window
command.name.17.*=Open file in a new window
command.mode.17.*=subsystem:2
command.shortcut.17.*=Ctrl+Shift+N
command.17.*="$(SciteDefaultHome)\SciTE.exe" -check.if.already.open=0 -save.session=0 "$(FilePath)"

# Open a new window
command.name.18.*=Open a new window
command.mode.18.*=subsystem:2,savebefore:no
command.shortcut.18.*=Alt+Shift+N
command.18.*="$(SciteDefaultHome)\SciTE.exe" -check.if.already.open=0 -save.session=0

このコードをメニューバー/オプションの
SciTEUser.properties (ユーザー特性用設定を開く)の
Add here your own settingsの下に追記すると
SciTE4AutoHotkeyの複数起動が可能になる。

「Open file in a new window」は
表示されているファイルを新しいウィンドウで開く。

使用方法は

  • メニューバー/ツールから

  • タブを右クリックしたコンテキストメニューから

  • ショートカットキー「Ctrl+Shift+N」から

「Open a new window」は
新規ファイルを新しいウィンドウで開く。

使用方法は

  • メニューバー/ツールから

  • タブを右クリックしたコンテキストメニューから

  • ショートカットキー「Alt+Shift+N」から

なお新しく開かれた新規ウィンドウには
ツールバーにある「AutoHotkeyに関するツール」が表示されない。

そのためメインのウィンドウを編集用にして
新規ウィンドウは参照用として使うといいかも。


AutoCompleteを無効にする

AutoCompleteが意外と邪魔だったので無効にしたい
トグル式で変えられればいいのだが無理なようなので

redditで公開されている
AutoComplete関連のファイル名をリネームする方法で
AutoCompleteを無効にできる。

SciTEフォルダにある

  • ahk.keys.api

  • ahk1.standard.api

  • ahk2.standard.api

これらのファイルがAutoCompleteを表示するファイルのようなので
これをリネームする。


これらの3つのファイルに「(AutoComplete無効)」を付け加えリネーム

  • ahk.keys.api → ahk.keys (AutoComplete無効).api

  • ahk1.standard.api → ahk1.standard (AutoComplete無効).api

  • ahk2.standard.api → ahk2.standard (AutoComplete無効).api

元に戻す(AutoCompleteを有効にする)場合は
「(AutoComplete無効)」を削除してファイル名を元に戻すだけなので
元に戻しやすい。


ファイル保存時の注意点


完成したスクリプトファイルを新規ファイルで保存する場合
ファイル名に拡張子「.ahk」が自動で付かないので
ファイル名の他に「.ahk」も付けて保存すること。

いいなと思ったら応援しよう!