Like many developers and script kiddies (God, I hated that term for so long, but have gotten over that finally), over the years, I’ve used a great many different code editors in the course of getting work done on time. I’ve forgotten more than I can recall, but some that come to mind include emacs, vi, pico, Aurora, EDLIN (ha ha! smack!), good old DOS EDIT (the crackbaby born from EDLIN in a dumpster behind a Walmart), Notepad++, Sublime, Eclipse, Komodo, PrimalScript, Wise Script Editor, ColdFusion, and dozens of app-embedded editors from AutoCAD/VLIDE, to Office VBA, to Visual Studio. And I’m not counting the interesting graphical experiments like MIT App Inventor.
Today I typically use Visual Studio Code, PowerShell ISE, the PowerShell console, Notepad++, and Visual LISP IDE (VLIDE) when the need arises.
But one that I always seem to miss is TextPad.
One reason for that, is that I was (at the time) bouncing frequently between a lot of different languages, and I found the need to standardize on one editor that was:
- Flexible / Customizeable
- Powerful and Capable
- Cheap!! (very, very cheap)
But here’s the rub: Helios (the developer) insists it’s not a “code editor” at all, but rather, a “text editor”. Never mind all the syntax and snippet add-ons available for more “code” languages than “human” languages, they stand by that assertion.
TextPad has offered many standard code editing features since it’s early days, and is now at version 8.x, with updates emerging several times a year (so far).
Workspaces. Dictionaries. Macros. Syntax definitions. External tools. Regex string functions. Customizeable toolbars and panels. In short, it’s very flexible and easy to customize. In my (humblest of humbled) opinion, TextPad has the easiest and “best” (subjective) snippet management features of any editor. Some others today are equal to it, but it had those features ten years ago. And I’m a curmudgeon that barks “newer does *not* always mean *better*” hrmpff!! (and then I turn slowly and run away as fast as I can).
Here’s an example scenario for adding a language and support features for PowerShell v5 on Windows 10. After installing TextPad, don’t launch it just yet.
- Download the syntax files for languages you want to use from here.
- Download my PowerShell v5 syntax file from here (because they’re slow to add new submissions from customers)
- Note: Rather than being C/C++ based, this one works best with a PERL mapping, hence the “PERL=1” parameter at the top.
- Drop the PowerShell5.syn file under %USERPROFILE%\AppData\Roaming\Helios\TextPad\8\
- Open TextPad, click the Configure menu item and select “New Document Class”.
- Class name: “PowerShell” or “PowerShell 5”
- Class members: *.ps1, *.psm1, *.psd1
- Enable syntax highlighting: check
- Select the syntax file from drop-down list
- Click Configure / Preferences
- Note: for general editor settings, look under General, File, Editor and View at the top of the list.
- Expand Document Classes
- Expand “PowerShell” (or whatever you named it)
- Select “Colors”
- Set desired colors for Keywords 1 to 6, etc.
- Select “Tabulation”
- Modify tab settings as desired
- Scroll to the bottom of the Preferences list (left-hand panel) and select “Tools”
- Click “Add” > “Program”
- Parameters: -ExecutionPolicy ByPass -File “$File”
- Initial folder: $FileDir
- Capture output: check
- Suppress output until completed: uncheck
- Sound alert when completed: (check or uncheck, you decide)
- Click OK
- Click “Add” > “Program”
Now, open a sample PowerShell script, and click Tools / External Tools / PowerShell (you can also press CTRL+1 to execute PowerShell, or CTRL+n, where (n) is the ordered number of the external tool in your list). For the setup shown below, I could press CTRL+2 to run the script. Note that there is only a full script run (like F5 in other editors), but no partial execution (like F8) for now.
- You can change the path to use a OneDrive, Google Drive or other cloud sync folder, and then drop your files there for portability, much like Notepad++ offers. To configure this, click on Configure / Preferences / Folders.
- You can modify all support folder paths as well, including macros, snippets, etc.
- I also have a PowerShell 5 snippet sample file for TextPad available here.
Is it “better” than other editors? That’s a subjective question, for the most part. As with programming languages, each seems to be better at some things than the alternatives. The real measure is focusing on which features matter most and then comparing on just those areas.