Netpadd (Exe-Based)

Disclaimer: Netpadd is provided as is and comes without any warranties, use at your own risk! Note the Exe-based version of Netpadd is stable but unmaintained (see Netpadd B for the maintained, though Alpha, version).


Netpadd runs on any Windows system I tested so far (Win 98, Win NT, Win 2000, Vista). To install it, you need to download the Netpadd setup (2.6MB). The Setup wizard is in German.
If you have VBasic 6 you might also compile directly from the Netpadd project source.

Replacing Notepad

If you want to replace Notepad on NT, you should know there's several Notepad.exe's on the system!
On Windows 2000, you also need to replace first in a DLLCache folder, which is hidden. You need to turn it on via the folder options - Show hidden files.

Note that I experienced some problems with Internet Explorer 6 on Windows 2000 after replacing all 3 Notepad programs; the View Source option ceased to work when called from the context menu; even if you put up a button on the toolbar, sometimes it doesn't work.


The File Menu

The File menu consists of the following options:

New: Creates a new, blank file. This can become anything, from a short story to a program source. Of course you can also create files by right-clicking in the Windows Explorer and choosing "New - Text file".

Open: Opens a new file. The file name is always displayed in the title bar of the program. Don't worry of loosing your old file, as you will be reminded. The file to be opened can be of any size. Note that when you have some colorizer options turned on, and the file is of a file type to be colorized, opening the file may take some time. You can turn off the colorizing option to workaround that problem for big files.

Save: Saves the current file. If the file wasn't saved yet, you need to give a file path. This can be a network path if you want. The extension is up to you.
Note that certain extensions cause Netpadd to behave in a certain way; for example, if XHTML coloring is on, the file extensions HTM and HTML will make a difference. Except for that, Netpadd doesn't care about the file extension.

Save as: This option will let you choose a path before the file is saved. Also see the entry on "Save" above.

Backup - Save/ Load: A backup is a quick method to have a second version of the file you're currently editing to get back to its older version later on. For example, you have a script open, and you want to quickly take it into a direction you're not sure will work at all. So first, you make a backup. Then, you do a lot of changes to the file, and save as normal. If the changes are good, you can keep them and continue as normal; if not, you can simply load the backup. The current saving path is not changed during all these operations.

There's only a single backup file for you, and its shared amongst different Netpadd tasks running on your OS. So note that if you make a backup, it will overwrite the old one without notice.

Revert: This will, after a security warning, take the current file back to the last saved version. This would be the same as if you would open the file, disregarding chances you made since.

Exit: Will close the program. If the current file hasn't been saved since the last changes, a security warning will pop up. You can also close Netpadd with Windows shortcut Alt+F4.


The Edit Menu

The Edit menu contains the following:

Clipboard: This functionality is to Copy (shortcuts Ctrl+C or Ctrl+Insert), Cut (Ctrl+X or Shift+Delete) and Paste (Ctrl+V or Shift+Insert) the selected text into the Windows Clipboard to use in other applications, or Netpadd itself.

Second Clipboard: Sometimes, one clipboard isn't enough. This functionality is to Copy (shortcut Ctrl+Shift+C), Cut (Ctrl+Shift+X) and Paste (Ctrl+Shift+V) text. This clipboard is remembered/ shared amongst all instances of Netpadd running, but you cannot use this clipboard in other programs outside of Netpadd (unless you do it manually by using the first clipboard).

Undo: The Undo feature will undo the last operation; be it text pasting, replacing, and so on. Shortcut is the Windows standard Ctrl+Z.

Select: Select All (Ctrl+A) will select all content of the file.
Select Tag (Ctrl+W) on the other hand is helpful for HTML/ XML editing. It will select the whole tag, or the whole content of a tag, depending on where the text cursor is within the current file.
Consider the following:

<a href="">Netpadd Text Editor</a>

The text cursor is at the "t" of the URL. Using Select Tag will result in a selection of the whole tag:

<a href="">Netpadd Text Editor</a>

This might not seem like much, but once you get used to it you might find yourself using the shortcut quite alot!

Find: Will find a certain part of the text you're looking for, using the Ctrl+F shortcut. You can Continue the Search using F3. Note that the last text you were looking for is always remembered by the program, or several instances of Netpadd you opened in Windows. So if you're looking for a certain text in several files, you only have to type the search text the first time, and then you can just press F3 in the next files after opening them.

Replace: This triggers the text replacing functionality in Netpadd (Ctrl+R). You can replace in eithe all the text, or just the selected text. You can close this dialog (and others) by pressing Escape.

Note that the replacer will automatically fill in the selected text into the search box if you didn't enter anything in it so far. You can undo a complete replacing operation using Ctrl+Z afterwards.

The replace input has another option; case-sensitive search. (By default, it doesn't matter if the text you were looking for is exactly written in the case you entered.)

Sometimes you want to search for (or replace with) using special characters. Since Return and Tab are already used to navigate the dialog, you will have to enter the following:

Return ^r
Tab ^t



The Extra Menu

Functionality of the Extra menu:

Wrap tag: This menu will wrap the selected text with a tag. In case nothing is selected, the text available in the clipboard will be pasted & wrapped with the tag.

E.g. you have the following:

List item 1
List item 2
List item 3

You will need to select it:

List item 1
List item 2
List item 3

Then you can press Alt+X (Wrap Tag -> List) to convert it to an (X)HTML list:

<li>List item 1</li>
<li>List item 1</li>
<li>List item 1</li>

Pressing Ctrl+Q will let you choose the tag from a list:

Jump to: This is very useful if you want to jump to a reference from within the current file.

Let's say you have an (X)HTML file open, and there's a stylesheet reference in it. You press F9, and the CSS file will open in a new instance of Netpadd. You can also select a reference, like a link, and it will open in a new window. Unless it's an image, then Netpadd will open it directly in a smaller window (if the reference is valid!).

Case: This converts the selected text to lower or upper case, or converts tags to lower or upper case.

Java: If you're editing a Java source file, you can directly compile it using the F5 shortcut. This will only work if Java SDK is installed, and all the Windows system variables are set correctly.
Pressing Shift+F5 will start the Java applet viewer.

One liner: Will put the currently selected lines (seperated by return) into a single line, stripping all the returns.

Insert breaks: The opposite of the One liner function, this will insert returns (carriage-linefeed) at the end of words. It will cut at 72 characters. This is different to the Netpadd option of Breaking Lines, because it's more than just an always reversible display option.

Count letters: This will count the selected letters and display the result in a message box.

Convert: This has 4 different options to convert the currently selected text:

To filename will for example replace spaces by an underscore, and every letter to lower case. To name converts e.g. "this is a test" to "thisisatest". (This can be used for e.g. IDs in HTML/ XML.) To DOS will convert Linux-style return characters to their Windows counterparts. To HTML converts special characters, like "<" and ">" to "&lt;" and "&gt;"


The View Menu

Functionality of the View menu:

Document Tree: Press Ctrl+F1 and the Document tree dialog displays your document hierarchy and can be used for validation. Did you leave any tags open? Did you nest a block element inside an inline element?
E.g. you have an unclosed <div> tag in an HTML document. This is what happens:

|   |   |   |___ul
|   |   |   |   |   
|   |   |   |   |___li
|   |   |   |   |   |   
|   |   |   |   |   |___em
|   |   |   |   |   
|   |   |   |   |___li
|   |   |   |   |   |   
|   |   |   |   |   |___em
|   |   |   |   |   |   
|   |   |   |   |   |___br
|   |   |   |   |   |   
|   |   |   |   |   |___div

 </li> appears which is not opened
 at this part of the document 

The document tree creator also creates a warning if the tag is not allowed in the document type (Strict, Transitional, and Frameset in HTML4/ XHTML1), and if the element is allowed to be nested that way

Sometimes I use A Real Validator for, well, real validation. In Netpadd, there is no attribute validation.

XML Tree: Using Shift+Ctrl+F1, this generates an expand & collapse style list of your XHTML1 page (or other XML files). It also alerts errors.

XSL Transformation: This looks up an XSLT link within the current XML document, transforms the XML, and shows the output in a new Netpadd window.

For the XML and XSL features to work, it's important that MSXML is installed correctly. You can find the MSXML download at Microsoft.

Goto Row: This goes to a certain row within the current document. This is helpful for debugging after you got a compiler error message for e.g. a JavaScript or VBScript file.

Show Row: Will show the row number of the currently selected row.

Sometimes, Linux style end-of-line characters confuse the Goto row and Show row features! This might be debugged in a future version of Netpadd.

Open in Program: Using F4, you will open the current file (its saved version) within the program Windows connects with the file extension. Note that when the file extension is linking to Netpadd itself, it will open up in a browser. This feature is helpful to quickly open an HTML/ XML file in the browser, even when you link *.HTM(L) to Netpadd.

CSS Properties: This dialog is a help, as well as auto-completion feature if you write CSS (Cascading Style Sheets). It contains the complete W3C CSS Level 2 reference. Say you're unsure how to un-italic an address. Was it Font-type? Text-style? Font-style? Or text-type?

All you need to do is press shortcut Ctrl+F5 to open up this dialog. If you already typed a bit of the CSS, this dialog will automatically jump to that part in the CSS properties dialog. Pressing Tab, selecting the property, and pressing return, will paste the rest of the string for you.

If you want to show only certain groups of the CSS, you can select them in the bottom part of the dialog. For example, group "print" will only list properties especially helpful to format the print output.

Special characters: This will open an overview of special characters you might not find on your keyboard. You can paste one of these directly into the document, optionally as HTML. You can close the dialog again using Escape.

Language codes: This opens up a list of language codes for a quick reference. For example, you want to look what "de" stands for. You open the dialog, select the list on the right-hand side, and press "d". Then with the down arrow, you select "de", and to the left part you can now see "German" hilited.

This reference is not to be confused with country codes which you might find within a URL. It's an attribute value which can tell e.g. an HTML document the content language.


The Options Menu

This is the Options menu:

Sharing: This option is in Beta phase as it's not completely debugged yet. It's intended to help you out in teamwork development, when several people are editing files in the same project/ folder within an intranet. By default, file sharing with Netpadd is turned off. You need to turn it on using the Sharing dialog:

What you need to do is come up with a folder for your team to use this option with. This can be any network (or system) path, like the example above. This folder is used to store temporary information on which files are in use by which person. The user name can be anything, but it needs to be unique within the network; your Windows login name would be fitting here.

Once file sharing is turned on with several members within a team, it will trigger an alert when a file is already opened, and the file will be opened in a read-only mode for the second one trying to open the file.

A second use of sharing is for yourself to prevent opening the same document twice simultaneously, which can sometimes happen if you don't watch out and havy many documents open. Of course when you don't notice you risk of overwriting a not yet saved filed with an older version.

Nothing will prevent other members of the team to turn off Netpadd sharing and open files anyway; its use is strictly voluntarily and doesn't handle anything like Windows file locks/ attributes. The file itself is completely untouched by sharing options.

There's a problem: If the file which you opened (and put a sharing lock on) causes Netpadd to crash, the file sharing information is left in the sharing folder without being deleted. In that case, you currently need to delete it by hand.

Break lines: This will display all lines longer than the Netpadd window as broken lines, so they fit the view.
The file information itself is preserved; to break lines by inserting line-breaks, you should use Extra - Insert Breaks from the menu.

Fonts: You can toggle between different fonts if you don't like the default Netpadd font.

Fixedsys and Courier New belong to the so-called monospace font-family. This means that every letter takes up the exact same space, which can be useful for programming. Arial and Times New Roman on the other hand are alternatives to read longer texts fluently, because they're optimized for that. Arial is a so-called sans-serif font, while Times New Roman is of the serif family.

Other Netpadd layout settings, like the color scheme, are completely dependent on your Windows settings. E.g. if you want to have a white on black color scheme, you would open your OS settings and alter options there.

Auto-suggest: This toggles auto-suggesting. The following table shows what is auto-suggested in Netpadd. (Note that you need a leading space for most of these to trigger auto-completion.)

You type ... auto-completion suggests

Hilite: Hiliting will colorize your code. It's helpful to clarify the structure of the current document.

In ASP files, the colorizer will also point out errors with red:

XML coloring can sometimes become very slow on big files. In that case, you should turn it off. ASP coloring also becomes slow on very big files.

Java compiler: These options are available for setting details of the Java compiling (see the Edit menu/ F5 shortcut). This options dialog is coming with its own explanations.

Tab: This lets you toggle the Tab options. Optionally, you can have a Tab input resulting in spaces, and you can decide how many. To use the spaces instead of a tab character, simply turn on the "transform" option from the Tab menu.


The Project Source

Understanding the VB6 project source is not needed to run and use the program. However, as a programmer you can enhance Netpadd with features you might find useful. Also, you can freely copy out some sub procedures you find and use them in your own work.

Here's a small example of how to add a feature. We will call it "Let the user Create a C/ PHP/ Java style comment", and it will put a /* comment */ around the selected text.

  1. Open the VBP project file in VB6

  2. Go to the Menu wizard and add the entry

  3. Click on the created menu entry to create the sub procedure

  4. You use the global object oPadText to handle the text conversion by creating the following routine:

    Private Sub mnuExtraComment_Click()
        oPadText.selText = "/* " & _
                oPadText.selText & " */"
    End Sub

    Note that you don't need to care about making this action undoable; this will be handled automatically by the class.

  5. In case you want to create more types of comments, do a Select Case using glbFileType

  6. You save & compile the program, and you're done.

For more details, please look at the source code, ask me for help (or suggest a new feature for me to program), and refer to the VB help, or the Microsoft Developer's Network library.

Please don't republish your changes, instead send them to me and let me consider putting them into the official version. This will help me keep Netpadd useful for everybody.
If you have created a whole lot of functionality for a certain need and you think it's helpful for a certain group, let me consider it for republishing it as an alternative version on this site (you get full credit of course).



Netpadd is Copyright © 2002-2009 by Philipp Lenssen. Netpadd is not Netpad (which is a trademarked name for something else).

The following sources were used for reference, help, code and inspiration:

Thanks to WebReference's Michael Claßen for mentioning this tool in his XML column Editing XML: The Good, the Bad, and the Ugly.

Thanks to everbody and every site linking to this site, or putting Netpadd in their freeware archive.

And finally, thanks to my co-workers Marko Faldix, Lars Uffman and others for using and testing the program.