[Towards a FileMaker IDE]
A tool for FileMaker developers which extends and automates your script workspace and FileMaker environment to provide you with some awesome functions to boost developer productivity (including, in some cases, making the impossible possible 😜).
Copyright © 2021-2024 MrWatson of www.mrwatson.de
Have you ever wanted
- more developer power at your finger tips in FileMaker?
- a context menu full of useful developer functions in the Filemaker Script Workspace? (search and replace, anybody?)
- Hot Keys to apply functions in FileMaker at the press of a key or two?
- functions in the calculation editor to format code or change case? (or calculate layout object coordinates, anyone?)
- a FileMaker Integrated Developer Environment, more like Visual Studio Code?
Yeah? Well, you have it now right in front of you!
Not sure yet? Then take a peek at the Inspiring functionality to get hooked.
Have fun!
MrWatson
- Check the requirements in dependencies, below
- Install the `MBS-Plugin``
- If you don't have one, get yourself the latest MBS-Plugin.
- Install the fmAutomate folder
- Download
fmAutoMate.zip
from the latest release on GithubNote: The release zip contains pretty Mac file icons, which the
Code > Download zip file
lacks, however, if you want cutting edge functions that have not yet made it into a release, then you may want theCode > Download zip file
anyhow. - Unzip and rename the folder to
fmAutoMate
, if necessary. - Move/copy the `fmAutoMate`` folder to your Applications folder, or to anywhere on your drive.
Note: If you have fmWorkMate and would like to be able to start fmAutoMate from the fmWorkMate toolbox, place the fmAutoMate folder next to the fmWorkMate folder!
- Download
- Install & Test the fmAutoMate functionality
- Open fmAutoMate in FileMaker Pro
- Press the
[fmAutoMate]
button to define your fmAutoMate context menu - Test fmAutoMate Script Workspace context menu
- Open up a script in your Script Workspace
- Select some steps,
- Right-click to get your fmAutoMate context menu!
- Click a menu item and have fun developing in an increasingly integrated environment!
- Test fmAutomate Extended Hot Keys dialog
- Press
⌃⌘K
to open the Extended Hot Key function dialog. - Choose a function (or type the keys & press return) to apply a function.
- Press
- Install & Test fmAutoMate Services
- For extra functions in the calculation editor (or any text editor, or even field) install the fmAutoMate-Service extensions.
- Review & Install Integration, as needed
- See Integrations below.
Like most tools from MrWatson, fmAutoMate builds on fantastic MBS-Plugin functions on Mac. It also integrates with MrWatson's fmIDE module for maximum integration and developer fun, so…
- Required
- A Mac
- Sorry Win-guys, there's nothing I can do to change this.
- FileMaker
- but, of course, you already have that.
- MBS-Plugin
- Version 0.55.1 of fmAutoMate needs at least MBS Plugin version 13.2.0.07 to improve the step search function to find the correct line - even when the script has multi-line comments.
- However, I recommend simply keeping your MBS Plugin up to date, because fmAutoMate and the MBS Plugin develop at a faster rate than this documentation. :)
- A Mac
See Integrations below for further optional dependencies.
fmAutoMate integrates with several of MrWatson's other tools to bring you powerful functions saving you hours of work.
- Optional (recommended)
- fmIDE Module
- If you wish to have really cool integrations, you'll need / want to install the fmIDE Module in your Database files.
- fmIDE is required for all the functions in the fmIDE sub menu
- This module allows fmAutoMate to open scripts in the FileMaker script workspace
- fmCheckMate-XSLT Library
- The fmCheckMate XSLT-Library is a free library of functions from MrWatson that, above all, add functionality to the FileMaker clipboard
- If you want the mega cool Paste FileMaker Pseudocode functions, you'll need to download this library and place it in your Documents folder.
- fmWorkMate (inc. fmCheckMate)
- fmWorkMate is a free toolbox of FileMaker power tools, above all containing MrWatson's fmCheckMate tool for editing, changing, transforming and transporting FileMaker code via the FileMaker clipboard.
- fmIDE Module
- Optional
- fmScriptWorkspace Module
- The fmScriptWorkspace Module is the predecessor of fmIDE, so you probably won't need it.
- fmScriptWorkspace Module
- Search and Replace (variable names, field names, table names, etc...)
- Open Scripts in other files (you know, that thing that ⌘+Click should do - but doesn't)
- Copy script steps directly between local and remote databases (using Xut, Xopy & PaXte)
- Insert a history comment that
- automatically enters the date and author
- in your desired format?
- and that remembers it ready for the next script!
- Insert pseudo-code
$r=0 $i=1 $n=10 Loop Exit Loop If [ $i > $n ] $r=$r+$i $i=$i+1 End Loop Set Field [ _fmAutoMate::_gResult ; $r ]
- Take a look at the original twitter footage of this function
- Save/load/insert code snippets
- Generate code automatically
- by 'multiplying' steps by the values on the clipboard (seeing is believing!)
- Refactor code
- Perform code analysis, changes or transformations using fmCheckMate
- Copy variable names, field names or calculations without having to open the script step / calculation editor
- Copy layout buttons and insert their steps into a script directly (really? Hell, yeah! 😎👍)
- Maybe even add the necessary parameters to a Perform Script call - completely automatically? (*)
- Oh yeah, and what about "Dock Window to Script Workspace" for those annoying floating windows you get from the debugger? 🤩 Wouldn't that just be phenomenal?
- Copy the current column of data from the active field?
- Just type ⌘⌃K cc ⏎
...all of which is open source?
...and extensible?
- with a built in context-menu editor
- and a calculation editor
- with calculation syntax highlighting and syntax-checking
- with built-in help for MBS functions and MBS menu-calls
- with support for code-blocks, parameters and If / Else blocks in calculations
(*) Note: experimental / uses a DDR / success depends on your parameter passing conventions / customizable / demonstrates the possibilities / really exciting
These might help you take your second steps with fmWorkmate
- Turn HotKeys On after Restarting FileMaker
- Turn HotKeys Off, if they cause Interference
- Roll your own functions
Since fmAutoMate has now been in successful use for several years(*) I consider it no longer a proof-of-concept thing, but rather a beta, which means...
- You are welcome to contribute - menu items - ideas - code!
- There are still issues - see the wiki.
(*) at least by me, and possibly even somebody else ;-)