Function List Plugin on Notepad++ 5.3
Tech Stuff March 22nd, 2009
Function 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.
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:
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.


July 17th, 2009 at 12:05 pm
Weird – I’ve installed Function List and it shows up on the menu, but the language rules are not being used?! The FunctionListRules.xml has rules as expected, but if I look in the Language Parsing Rules dialog, there are no rules – what’s up w/that?! Anyone know how to fix this?
I’m on WinXP Pro sp2, using NP++ v5.3.1 unicode
July 24th, 2009 at 4:46 pm
@Mark
have a look on your personal setting folder (document and setting\usename\application data\notepad++\plugins\config…) This is THE place you have to put the default xml file you got with the plugin. (BTW, I deleted xml cfg file on “program files”, to avoid future error.)
July 27th, 2009 at 3:50 pm
I have tried to copy the configurarion files as described by Claude, but continues not working. Any idea why?
Also with the zipped file doesn’t comes the C++.flb configuration file.
Please help
August 14th, 2009 at 9:34 am
Hi,
I take N++ UNICODE version 5.3 then I get the UNICODE beta version of FunctionList there :
http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Plugin_Central
I get the same problem has Mark, so I copy the file has Claude says but it was change automaticaly when I open N++. So I copy again and change the file attribut to read only… It works (but I can’t had new parsing rules)
August 19th, 2009 at 4:46 am
@claude
Nice claude, help me wit this problem. Thx
September 8th, 2009 at 4:10 pm
@Steph, I had the same issue with the file being overwritten, but it seemed to happen on CLOSE, not OPEN.
So, once I figured that out and closed N++, _then_ copied the FunctionList.xml into
…\application_data\notepad++\… as @Claude said, things worked. No need to mark it read-only, and therefore new rules can be added.
November 1st, 2009 at 11:42 am
I Agree with Todd here. I had to close N++ before dropping the xml config file in C:\Documents and Settings\USERNAME\Application Data\Notepad++\plugins\config directory.
I am using the FunctionList_2_0_UNI_dll.zip beta version of the Functions plugin and N++ 5.4.5
freak3dot
December 16th, 2009 at 7:09 pm
cheers Claude, good tip
February 10th, 2010 at 7:37 am
This is precisely what I was looking for, thanks.
I am surprised they didn’t include this plugin in the installer by default – it is so handy!
Just one little remark for Windows 7 users, the “Application Data” folder is this one:
C:\Users\%username%\AppData\Roaming\Notepad++
August 3rd, 2010 at 11:36 am
Todd and freak3dot are right. Notepad++ will hold the file and revert it to some crappy old version if it is open when you copy.
October 14th, 2010 at 5:29 am
Great! I was going mad!
Function List was working, but it did not show nothing. But now I’m happy
February 3rd, 2011 at 5:02 am
Hi,
I have Notepad++ version 5.8.6 and I install this handy plugin (FunctionList_2_UNI_dll.zip) but… it isn’t work.
I have Windows Vista Business edition and I try to put FunctionListRules.xml in c:\users\%username%\Local Settings\Application Data\Notepad++\Config but it isn’t work: Notepad++ always says that No Rule Defined.
Any help is welcome! Thanks!
February 23rd, 2011 at 1:57 am
Javier
Try using the dll on Ruslan website.
May 8th, 2011 at 10:38 pm
I was having same problem – when I would start Function List in Notepad++ it would always say No Rule Defined. Just about to give up, and I tried one more thing, working off a suggestion made here. Note – I’m on a Windows XP system.
First, FunctionList.dll should go in the notepad++ program folder/plugins as the instructions say.
But the other files: C++.flb, functionlistrlues.xml, and the bmp file ALL go in your
C:\Documents and Settings\User\Application Data\Notepad++\plugins\config folder
I just did this as a last ditch thing, and I went to Notepad++ and bingo it was listing my functions in my PHP file.
June 1st, 2011 at 12:06 am
Thanks Tom, that worked for me too!
July 14th, 2011 at 5:25 am
Don’t forget to update the XML file in the roaming directory too!
What I did:
Upgrade Notepad++
Installed Unicode version of functionlist
Closed Notepad
Copied dll into plugins directory
Copied everything else into plugins/config
Overwrite ruleslist xml file in application roaming directory.
Now shiney.