Tag: AutoHotKey

  • Format any XML (windows)

    With this blog post, it’s possible to format any xml you’ve selected.
    It will take about 5 minutes to get this working, a couple of manual steps are necessary.
    These are the tools being used:

    Steps to get it working: (All steps are necessary!)

    1. First install AutoHotKey_L and start it, you’ll see the logo if it’s running: AutoHotKey logo
    2. Create a folder on your Hard Drive called “C:\autohotkey”
    3. Create a file “tidycfg.ini” in the location “C:\autohotkey\tidycfg.ini” with the following contents:
      1. [Clean Indent XML]
        input-xml: yes
        bare:no
        clean:no
        fix-bad-comments:no
        fix-backslash:no
        indent:yes
        indent-attributes:no
        indent-spaces:4
        char-encoding:raw
        replace-color:no
        wrap:0
        wrap-asp:no
        wrap-jste:no
        wrap-php:no
        write-back:yes
    4. Place tidy.exe in the location C:\autohotkey
    5. Create a file called “autohotkey.ahk” in C:\autohotkey with the following contents:
      1. #x::
        sleep 50
        Send ^c
        ClipWait
        clipboard = %clipboard%
        FileDelete, C:\autohotkey\format_with_tidy.xml
        FileAppend, %clipboard%, C:\autohotkey\format_with_tidy.xml
        sleep 50
        RunWait, %comspec% /c C:\autohotkey\tidy.exe -config C:\autohotkey\tidycfg.ini C:\autohotkey\format_with_tidy.xml
        clipboard =
        FileRead, clipboard, C:\autohotkey\format_with_tidy.xml
        Return
    6. Doubleclick the file “autohotkey.ahk” in C:\autohotkey
    7. Select unformatted xml and press [ WINKEY+X ]
    8. The formatted xml is now in your clipboard and can be pasted anywhere.

    Extra information:

    These are the steps what is happening in the autohotkey file:

    1. Configure the keyboard shortcut (# = winkey, x = x-key)
    2. Wait 50 milliseconds
    3. Send the ctrl-c with keyboard combination ^c ( ^ = ctrl, c = c-key)
    4. Wait until the clipboard is filled
    5. remove all formatting from the clipboard
    6. Delete the temporary file (if present)
    7. Paste the clipboard contents in the temporary file
    8. Wait 50 milliseconds
    9. Run tidy.exe on the temporary file with the configuration settings
    10. empty the clipboard
    11. Paste the contents of the temporary file in the clipboard
    12. End script