Using Notepad Plus Plus as a script editor

From Unify Community Wiki
Jump to: navigation, search

Notepad++ is a powerful text editor based on Scintilla (which is where UniSciTE is also based from). It is available only in Windows.

Advantages:

  • it can manage more than ten text files opened simultaneously
  • customizable color scheme (In win7 open as Administrator to be able to save color scheme)
  • Supports plugins such as multi-clipboard and functionlist side-browser
Notepad++ editing a Unityscript file
Notepad++ editing a Unityscript file.

Contents

Directions

  1. Notepad++ can be found in http://notepad-plus.sourceforge.net/uk/site.htm. Download and install.
  2. Change your External Script Editor to Notepad++ (In Unity, Edit> Preferences > General)
  3. Unity should now open Notepad++ whenever you double-click a script (or any text file actually).


How to add searching of Unity Documentation within Notepad++

  1. Download the Language Help Plugin via the Plugin Manager:
    1. Plugins > Plugin Manager > Show Plugin Manager. Then choose "Language Help" from the list, and click Install.
    2. If the Plugin Manager elicits an error, download the zip from https://sites.google.com/site/fstellari/nppplugins and place the appropriate DLL in your plugins folder. (A is ASCII and U is Unicode, referring to how your Notepad++ installation is configured.)
  2. Go to Plugins > Language Help > Options...
  3. Click Add and put these values
Name: Unity
Extension List: "js" (and/or "cs" if you're using C#)
Extended help file path: http://unity3d.com/support/documentation/ScriptReference/30_search.html?q=$word$

Now whenever you press ctrl+f1 while your cursor is on a word, it will search that word in the Unity documentation. (You can change the key binding via Settings > Shortcut Mapper)

How to enable highlighting of Unity "keywords" within Notepad++

Please take note Unity 4.3 and above no longer has UniSciTE, so there is currently no way to easily get Unity "keywords" there.

  1. Open "C:\Program Files\Unity\Editor\Data\Tools\UniSciTE\unitykeywords.properties" This text file contains all the unity keywords.
  2. In Notepad++ go to Settings > Style Configurator...
  3. In the "Language:" list, select your appropriate language.
  4. In the "Style:" list, select Keyword (or Instruction Word).
  5. Add the keywords from the unitykeywords.properties file (the big block of text) into the "User-Defined Keywords" box.
  6. Note that the textbox may have a character limit so pasting here may not save all the Unity "keywords". Test by typing zero, that should highlight as a Unity keyword. If not, try the manual directions below.
  7. Save & Close. Close and open Notepad++. Voila.


How to enable highlighting of Unity "keywords" manually

Please take note Unity 4.3 and above no longer has UniSciTE, so there is currently no way to easily get Unity "keywords" there.

  1. Open "C:\Program Files\Unity\Editor\Data\Tools\UniSciTE\unitykeywords.properties" This text file contains all the unity keywords. ("Program Files (x86)" on 64-bit systems.)
  2. Open your Explorer and type %APPDATA% into the address bar. That will take you to the per-application settings for your user account. In there open the Notepad++ folder.
  3. Find the langs.xml file and open it.
  4. In langs.xml, find: `<Language name="javascript" ext="js" commentLine="//" commentStart="/*" commentEnd="*/">` for UnityScript files, or `<Language name="cs" ext="cs" commentLine="//" commentStart="/*" commentEnd="*/">` if you want highlighting to work for C# files.
  5. You should see a list of keywords for that language. Simply copy-paste the Unity keywords from the file in step 1 to that list. They should be inside the `Keywords` tag.
  6. Save it. Close and open Notepad++. It should highlight the Unity keywords now.


How to add hints for function parameters

This will cause Notepad++ to display a small scrollable tooltip, when you type an opening parenthesis after a function name, with the types and names of that function's parameters.

Note:

  • It doesn't work well for HTML/XML/SGML syntax.
  • It can stop working after some number of opening parentheses.
  • It requires the mouse for scrolling through the options.
  1. Turn on parameter hints by going to: Settings > Preferences > Backup/Auto-Completion. Check "Function parameters hint on input"
  2. Open "C:\Program Files\Notepad++\plugins\APIs\javascript.xml" (As of version 3.5, the Javascript and C# API are the same, therefore editing "cs.xml" will also work.)
  3. Depending on your version of Unity, copy and paste contents of the file specified below to anywhere inside the <AutoComplete> tags of the previous XML file. If you have trouble saving, try running Notepad++ with admin privileges.
    1. For UnityScript in Unity 3.3: http://unity.igorrafael.com/home/UnityAPI_JS.xml
    2. For Unity 3.4: https://dl.dropbox.com/u/25260770/Unity-Notepad%2B%2B/UnityApi_to_Npp-3.4.txt
    3. For Unity 3.5: https://dl.dropbox.com/u/25260770/Unity-Notepad%2B%2B/UnityApi_to_Npp-3.5.txt
  4. Close and open Notepad++. A function tooltip should now appear whenever you type in an open parenthesis after a Unity function.

The files provided are created from the file found at "C:\Program Files\Unity\Editor\Data\Tools\UniSciTE\UnityJS.api" (or UnityCS.api), using a program made by AnomalousUnderdog (http://dl.dropbox.com/u/25260770/Unity-Notepad%2B%2B/UnityJSapi_to_Npp.py). If ever the UnityJS.api or UnityCS.api changes again (in case of a Unity update), just run the python script and post the link here for others. Python 3.x version doesn't work, so make sure you use the Python 2.7x version.

Please take note Unity 4.3 and above no longer has UniSciTE, so the UnityJSapi_to_Npp.py cannot work there.

How to make Notepad++ jump to the correct line number from the error console

If using Unity 4.3 and above:

  1. Change the external script editor's command line arguments in the Unity preferences window. See the part about "External Tools" in http://docs.unity3d.com/Manual/Preferences.html

If using below version 4.3:

  1. Download the Unity External Script Editor Helper (Located at http://dl.dropbox.com/u/25260770/Unity-Notepad%2B%2B/UnityExternalScriptEditorHelper-1.0.7z)
  2. Extract the files and follow the instructions in the README.txt
Personal tools
Namespaces

Variants
Actions
Navigation
Extras
Tools