Making the Function List feature work in Notepad++ 6.5

Notepad++ 6.4 introduced a built-in Function List feature to replace the add-onΒ by the same name. By v6.4.5, the plugin was disabled by the installer. However it wasn't until v6.5 that it supported anything formats other than C++ and JavaScript.

Unfortunately upgrading from Notepad++ 6.4.5 to 6.5 does not automatically activate popular languages like PHP, Perl, XML, Batch, Ini and Nsis.

The solution is as easy as 1-2-3:

  1. Close Notepad++
  2. Press WindowsKey-R, paste "%APPDATA%\notepad++\" and press ENTER
  3. Delete the file called functionList.xml.

That's it. When you restart Notepad++, it will use the updated version of functionList.xml included with Notepad++ v6.5 and the Function List will work for all of the above mentioned file types.

Be sure to keep this tip handy as the next version of Notepad++ will very likely add more formats and may not upgrade the file again.


Comments

Making the Function List feature work in Notepad++ 6.5 — 36 Comments

  1. Thanks a bunch! I’m so happy to have a Function list finally! I never could get 6.4 to work properly and was disappointed when I saw the change log for 6.5 and it still didn’t work.

  2. Thanks for this valuable tip. I was really struggling to make this work.
    Got things working (y). Thanks a LOT Michael for sharing.

  3. Yes … It finally worked.
    THANKS A LOT …

    Should it not be part of the forums and/or tips/tricks in the Notepad++ website.

    Thanks, once again …

    • I did add this tip to the forums as well. You are right though, this should be part of some kind of FAQ page. Hopefully the author will add it there one day.

  4. Also, I realised that I was making changes to the functionList.xml file in the ProgramFiles(X86)\Notepad++ directory instead of the file in %APPDATA%\Notepad++\ directory.

    Great Tip …

  5. Hmmmm….I’ve installed the Notepad++ 6.5.3 and followed the Notepad++ installation routine. During installation the process told me it was going to disable the “Function List” plugin since it was an issue(unstable??). I ran the three lines listed in the above solution…but the list of functions does not show after I reopen the Notepad++ SW. What am I doing wrong? I found the FunctionList.dll in the “disabled ” folder. Do I need to move “FunctionList.dll” back into the “plugins” folder??
    Thanks

    • Hi Kevin,

      Thank you for your comment. I remember going through the same thing when I upgraded.

      The Function List plugin that was disabled is the old one that is was an add on for Notepad++. As the function is now integrated, the separate plugin is no longer required so this is normal and there is no need to do anything further witht eh FunctionList.dll.

      What you need to do now is to simply turn on the Function List. You can do this by clicking View > Function List. When enabled, there will be a checkmark next to Function List in the View menu and the function list will appear in the left-hand pane of the editor.

      Best regards,

      Michael Milette

  6. I tried this, but no joy. I don’t see the function list. I do see the checkmark on the menu, and the toggle button is enabled… I deleted functionList.xml in the suggested folder… but when that didn’t work, I was going to restore it… but the OS (W7) reports another copy of the file in the “roaming”. Double checked and that file gets added back into the folder when I start np++.

    That sounds like what one would want… but the panel doesn’t display. Any thoughts?

  7. Hi Gene,

    Do you see any side panel at all? If so, take a look all the way at the bottom. If you have more than one panel open at a time, there will be tabs. Click the one that has an “F” in it.

    If you see the Function List side panel but there is nothing in it, check what language the editor thinks you are editing. It should be indicated in the left side of the status bar at the bottom of the editor. The new function list panel is not as feature rich in my opinion as the old plugin. For example, in a PHP file, it sometimes doesn’t include all of the classes and/or functions though it seems to be getting better with each release. Other languages may have even less support.

    If you don’t see any side panel, that’s a different issue completely. Try turning on the Document Map panel. It’s right above the Function List option in the View menu. This will at least tell us whether the side panel feature is working or not on your computer.

    I use Notepad++ on Windows 7 as well so it’s not an OS version related issue. I am assuming you are running Service Pack 1.

    Other than that, could there be a conflict with some other plugin you are using? Try starting Notepad++ without any plugins. You’ll find the command line parameter to do this on the following page: http://sourceforge.net/apps/mediawiki/notepad-plus/?title=Command_Line_Switches

    Best regards,

    Michael

    • Michael,

      Thank you for your very timely clues in what to look for… I just installed (Zip version) 6.6.9… and have been wresting with FunctionList. I develop ASP.Net in VB, with code and HTML all in one .aspx file.

      When I open a .aspx file, Notepad++ says I’m opening a text file. If I mark the language as VB, then the function list displays. However, if I reopen the file, I have to re-specify the language.

      In the FunctionList.xml file, in the association, I have:

      I also copied the vb_function parser, and named it “aspx”:

      Can you suggest what I could do that would force Notepad++ to recognize that .aspx files should be treated as VB?

      Thanks,

      ..eric

  8. The Function List feature does not work for Tcl code (I am using Notepad++ 6.5.2). Can anyone point me in the right direction?

    Thanks.

  9. Is there a way include the function list within the short cut mapper? I do not see it as an available option to short cut.

    Thanks!

  10. Pingback: Making the Function List feature work in Notepad++ 6.5 | Mike’s Draft Article Bin | CodeSlayer2010 : Slaying Code 24x7!

  11. In Javascript, N++ 6.63 is not working very well. I have a .js with 50 functions of type:

    function sphere ( N:float, k:int):Vector3{

    and 35 of them are missing from the function list. the previous plugin version worked but i have changed OS and the new version isn’t useable in JS.

    I had to revert to the previous version.

  12. Thanks for this. I had it working on my previous computer, and couldn’t see why it was always blank now. It helps my productivity enormously.

  13. Hi,

    I am using the Notepad++ V6.6.9 and I have the function list panel.
    My question is if the is any way of indicate your position in the source file by highlighting the (current) function ?
    So as you scroll to different locations in the file the highlighted item in the function list panel changes accordingly.

    Thanks

    • Hi Silvio, Thank you for your question. I was just wondering that myself last week but have yet to find any way of doing that. There might be something in the plugins. Let me know if you find a solution.

  14. Hi, this morning I upgraded to 6.7.9.2. I got a message telling me the function list was moved to “disabled”. On restart I still get a function list window but it is empty.

    FYI I am running Windows 7 and writing in, wait for it, Pascal which NPP identifies on the status bar.

    I have got used to having the function list at my fingertips so any advice is appreciated.

    Cheers

    • Hi Tim,

      The Function List used to be a plugin. Now it is an integrated part of Notepad++. Just make sure the old plugin is removed. Once you have Notepad++ running, click View > Function List and it should re-appear. Depending on the language you are editing, it is still a little buggy in my opinion but it usually gets better with every new release of Notepad++. If the list appears empty and you are editing code, follow the above instructions to get it working again.

      Best regards,

      Michael Milette

  15. There’s not much point in paying for UltraEdit any more as with the function list, ctags and the explorer there not much else to want.
    I gave them 5-Euro for a really good editor and they even came back with a thank-you.
    Brilliant stuff ….

    • OMG! UltraEdit in 2015???!?! I used to LIVE in there but moved to the free and easy to update NPP years ago. Good mode on your part. πŸ™‚

  16. I am using Notepad++ v6.8.6 and it seems that Function list is not defined for Pascal. In the generated AppData\FunctionList.xml, associationMap is defined for Pascal (11) but <association langID is not. I realise that the function list can be defined by entering instructions in the Parsers section, but my initial attempts are clumsy to say the least. Has anyone developed the code for a Pascal function list. Assistance greatly appreciated.

    • Hi Errol,

      I can empathize with your struggle. My experience with the built-in function list is that it either works (may or may not list all functions) or it doesn’t at all and many languages are still not fully supported. Worst of all, you can’t do it yourself due to bugs in Notepad++.

      A couple of months ago, I tried to get this working with a colleague for a Pascal like language. We ended up re-configuring the NSIS language setting since we could not create new Function list settings and syntax definition for the language keywords. It was a very kludgy solution which required that they manually change the Notepad++ Language setting to NSIS in order to get the function list to work properly every time a Pascal file was opened.

      That said, if you can’t get it to work, try an older version of Notepad++, before they integrate the function list feature into the core application. Personally I found that the old “Function List” plugin worked better. Unfortunately it is no longer supported in the current releases of Notepad++. Hopefully the author will get around to fixing this part of Notepad++ one of these days.

      Hope something in all of this helps.

      Best regards,

      Michael

Add a comment:

Your email address will not be published. Required fields are marked *