Language syntax, IntelliSense and build system for Nullsoft Scriptable Install System (NSIS).
Screenshot of NSIS in Visual Studio Code with Hopscotch theme
You can further extend NSIS support with IntelliSense for third-party plug-ins.
Launch Quick Open, paste the following command, and press Enter
With shell commands installed, you can use the following command to install the extension:
Download the packaged extension from the the release page and install it from the command-line:
Change to your Visual Studio Code extensions directory:
Linux & macOS
Clone repository as
Inside the cloned directory, install dependencies using your preferred Node package manager:
Build the source:
With most commands, you can specify available options before completion. For instance, rather than completing
However, you have to type
There are several special cases for your convenience:
Fuzzy syntax completions are available through “Drunken NSIS”, which tries to iron out some of the inconsistencies in the NSIS language, for instance word order.
Interchangable word order of NSIS language and library functions
To trigger a build, select NSIS: Save & Compile” from the command-palette or use the default keyboard shortcut Ctrl+Shift+B. The strict option treats warnings as errors and can be triggered using Ctrl+Alt+Shift+B.
You can tweak your default settings by editing your user settings.
If you prefer Visual Studio Code's built-in Task Runner to build scripts, you can create
Note: The created Task Runner will adapt to the user settings specified in
This extension supports a variety of ways to provide environment variables such as
Note: Some operating systems require Visual Studio Code to be launched from terminal in order to access system-wide environment variables.
Additionally, you can pass special environment variables prefixed with
As of v4.2.0, this extension makes use of telemetry. In the following, I will detail which tracking events are fired.
To verify this behaviour, you can always search the source-code.
This extension follows Visual Studio Code's global telemetry setting. You can also disable telemetry independently from the global setting.
I'm currently in the process of sketching out plan for a complete rewrite. To evaluate which features I'm going to keep, alter or remove, data from users other than myself is valuable input in this process. Also, it helps finding client errors that I did not stumble upon myself.
If not otherwise specified (see below), files in this repository fall under The MIT License.
An exception is made for files in readable text which contain their own license information, or files where an accompanying file exists (in the same directory) with a “-license” suffix added to the base-name name of the original file, and an extension of txt, html, or similar. For example “tidy” is accompanied by “tidy-license.txt”.