notepadppFunction List is one of the many cool features of Notepad++. But the latest version requires extra steps to set up Function List properly. This 2-part article shows how to install Function List and how to configure the new parser rules for your own favorite language.

A Problem

The problem happens to be that the latest version of Notepad++ (5.3 as of this writing) doesn’t have the Function List plugin packaged with it. You certainly can download the Plugin separately – it is the first plugin listed in the Plugin table on the Notepad++ website. But it appears that the developer of Function List, Jens Lorenz, has been busy enough to not have updated the code since Aug 2007. The latest downloadable version of Function List is from July 26, 2007 and is an Alpha version. Further, this version (v2.0 alpha) is only compatible with the ANSI version of Notepad++.

So, if you want Function List to work with Notepad++, you need to use the ANSI version of Notepad++. Jens Lorenz significantly updated the parsing engine for Function List in v2.0 alpha and has included a brief Howto and a sample parsing rules file (FunctionListRules.xml).

Installing Function List

To install Function List 2.0 alpha, download the zip file from the Notepad++ website and extract its contents to some directory. Now, copy FunctionList.dll to the ‘plugins’ folder. Copy¬† ‘FunctionListRules.xml’ and ‘C++.flb’ to the ‘plugins\Config’ folder. If you feel like it, copy the ‘Howto’ file to the ‘plugins\doc’ folder and rename it appropriately (I named it ‘FunctionList_HOWTO.txt’.

This should be sufficient to get FunctionList working again in Notepad++. This is what your Function List will probably look like.

funclist_listview

You can also switch to ‘Tree View’ by clicking on the rightmost icon on the Function List toolbar. This will categorize items into ‘Include’, ‘Function’ and ‘# Define’. But you can go even further and add small bitmap icons to each item. Jens made this feature customizable and he has created a sample icon list in C++.flb. You can activate this feature by selecting Plugins->Function List->Language Parsing Rules from the menu bar. You will then need to select the ‘C++’ rules in the list of parsed languages. The ‘Bitmap List’ checkbox should be unchecked by default. Check that checkbox and click on the double arrow button next to the text box. This will let you select an ‘flb’ file with the icon bitmaps. Browse to the Plugins\Config directory and choose C++.flb. When you come back to Notepad++ and choose the ‘Tree view’ option, you will see a much cleaner list like the one below:

funclist_treeview

In part 2 of this post, we will see how to create your own parsing rules and icon list. I will specifically show the configuration for Python parsing.