How to integrate F# and Notepad++

People a faced with challenges trying to install F# interactive plugin for Notepad++ (example). I am not an exception, going through all of this I want to share my experience.

  1. First of all download latest version of the Notepad++ and install it (default installation settings). For today it is Notepad++ 6.1.5 (Jul 16 2012)
  2. Download NPPFSIPlugin Version 0.1.1.
  3. Extract dll from achieve and copy it to Notepad++\plugins\ folder. On the my Win7 64bit machine it is c:\Program Files (x86)\Notepad++\plugins\.
  4. Open or re-open you Notepad++ application.
  5. Go to Plugins\F# Interactive\Options menu item.
  6. Specify Binary Path to fsi.exe file.
    For example:
    F# 2.0C:\Program Files (x86)\Microsoft F#\v4.0\fsi.exe
    F# 3.0 – C:\Program Files (x86)\Microsoft SDKs\F#\3.0\Framework\v4.0\fsi.exe
    Before use this paths check that you you have installed appropriate version of F# in that 
  7. Save you changes. Now it should work.
    Alt+T to open F# interactive
    Alt+Enter to to send selected text to F# Interactive

It is also very nice to have a F# syntax highlighting.

  1. Download xml file with user definition language for Notepad++ from here or here.
  2. Rename file to userDefineLang.xml.
  3. Replace  ext=”fs”  to  ext=”fs fsi fsx”  in the file.
  4. Copy this file to %APPDATA%\Notepad++\ folder. (for more details go here )
    Path should be like this : C:\Users\User_Name\AppData\Roaming\Notepad++
  5. Restart Notepad++.

Note: If you already have such file open both. (instructions is copied from here)

  1. Select all of the new file, copy, and paste at the end of the current file
  2. Delete  </NotepadPlus><NotepadPlus> pair in the middle (remove 2 lines)

P.S. Post moved from

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s