Message Boards Message Boards

Live code templates



I enjoy coding in the FrontEnd (except it crashes and lookup across files does not exist), but I often miss 'hands on keyboard', customizable code templates.

E.g. I often forget to wrap an option name with quotes "_" or I'm starting a new function and would like to avoid retyping Attributes/Options Catch/Check etc.

I don't like palettes for something that I need to do quickly and frequently.

So I created a little package/stylesheet, should work on Win/MacOs with MMA 10.4+

In case you are interested and/or have any ideas about this / similar features, let me know here or create an Issue in GitHub.

Topic cross posted on Mathematica.stackexchange:


   (*additional package I use to install github assets' paclets,
     you can download .paclet manually if you want 

   (*installing the package*)  
MPMInstall["kubapod", "devtools"]

  (*changing default .m stylesheet to a dev's stylesheet*)
CurrentValue[$FrontEnd, "DefaultPackageStyleDefinitions"] = 
 FrontEnd`FileName[{"DevTools", "DevPackage.nb"}]


How to:

  • Ctrl+1 to open a menu

  • navigate with arrows and hit enter/return or hit a shortkey like n / { / [


Once you setup a new stylesheet the package should have an additional toolbar with 'Edit code templates' button on the top right. Click on it and a user's templates file should open.

It is just a .m file with a header that should explain everything. It will be improved in future.


enter image description here

There is also a dark one based on a build-in ReversedColors.nb stylesheet:

CurrentValue[$FrontEnd, "DefaultPackageStyleDefinitions"
] = FrontEnd`FileName[{"DevTools", "DevPackageDark.nb"}]

enter image description here

POSTED BY: Kuba Podkalicki
6 months ago

enter image description here - Congratulations! This post is now a Staff Pick as distinguished by a badge on your profile! Thank you, keep it coming!

POSTED BY: Moderation Team
5 months ago

v0.7.0 (21-02-2018) support for V10.4

As of v0.7.0 code templates will work on V10.4, probably even in earlier versions but I need to check that.

For pre V11 a notebook approach is used instead of an AttachedCell based menu. To enable attached cell method in earlier versions you can run

CurrentValue[$FrontEnd, {TaggingRules, "DevTools", "MenuMethod"}] = "Cell" (*or "Notebook" *) 

but FE crashed for me once or twice and I was not able to reproduce circumstances so do it on your own risk.

POSTED BY: Kuba Podkalicki
5 months ago

v0.8.0 (06-07-2018) VerificationTest template

Wraps an expression with VerificationTest, automatically filling result and encountered messages slots.

POSTED BY: Kuba Podkalicki
3 days ago

Group Abstract Group Abstract