This will assign a 'Save and Run` function to control-shift F:
FrontEndExecute[FrontEnd`AddMenuCommands["Save", {Delimiter, MenuItem["Save and Run &Demo"&Run", FrontEnd`KernelExecute[NotebookSave[SelectedNotebook[]]; Get[StringJoin[ StringDrop[NotebookFileName[SelectedNotebook[]], -3], ".m"]]], MenuKey["F", Modifiers -> {"Control", "Shift"}], System`MenuEvaluator -> Automatic]}]] To test, include the following as an initialisation cell in the working notebook (with auto-create package):
test := Print["Change this text, then execute Save and Run and run test"] By using AddMenuCommands the menu addition only appears when the procedure is run, so doesn't affect the standard setup. It only needs to be run once, and the menu addition disappears upon restart. The 'Save and Run' command is placed under Save on the File menu.