Skip to content

Commit

Permalink
Update docs for v8.7.8
Browse files Browse the repository at this point in the history
- Update version listed in _index
- add SAS to list of built-in languages, including command-line `-l` options
  - (update entire command-line `-l` list)
- Describe the new DirectWrite preferences
- Describe new `toolbarButtonsConf.xml`

closes #766
  • Loading branch information
pryrt committed Mar 4, 2025
1 parent cf0165c commit 5d110a0
Show file tree
Hide file tree
Showing 6 changed files with 61 additions and 27 deletions.
2 changes: 1 addition & 1 deletion content/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ type: docs
Notepad++ User Manual
=======

This **Notepad++ User Manual** describes the Notepad++ application v8.x (currently up to v8.7.7).
This **Notepad++ User Manual** describes the Notepad++ application v8.x (currently up to v8.7.8).

The documentation is built collaboratively, and [your contribution is very welcome](https://github.com/notepad-plus-plus/npp-usermanual), following our [contribution guidelines](https://github.com/notepad-plus-plus/npp-usermanual/blob/master/CONTRIBUTION.md).

Expand Down
23 changes: 16 additions & 7 deletions content/docs/command-prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,22 @@ notepad++ [--help] [-multiInst] [-noPlugin]
Notepad++ simultaneously.
* `-noPlugin`: Launch Notepad++ without loading any plugin.
* `-l`: Open file or display ghost typing with syntax highlighting of choice.
*Language* is a short identifier string, of which the following are allowed:
`normal`, `php`, `c`, `cpp`, `cs`, `objc`, `d`, `java`, `rc`, `html`, `xml`,
`makefile`, `pascal`, `batch`, `ini`, `nfo`, `asp`, `sql`, `vb`, `javascript`,
`css`, `perl`, `python`, `lua`, `tex`, `cobol`, `fortran`, `bash`,
`actionscript`, `nsis`, `tcl`, `lisp`, `scheme`, `asm`, `diff`, `props`,
`postscript`, `ruby`, `smalltalk`, `vhdl`, `kix`, `autoit`, `Gui4Cli`,
`powershell`, `caml`, `ada`, `verilog`, `matlab`, `haskell`, `inno`, `cmake`, `yaml`, `r` and `jsp`.
*Language* is a short identifier string: the full list can be found in `langs.model.xml`
(as the names of each `<Language name="...">` element).
{{< details "show example Programming Language identifiers" >}}
`normal`, `actionscript`, `ada`, `asm`, `asn1`, `asp`, `autoit`, `avs`,
`baanc`, `bash`, `batch`, `blitzbasic`, `c`, `caml`, `cmake`, `cobol`,
`coffeescript`, `cpp`, `cs`, `csound`, `css`, `d`, `diff`, `erlang`,
`escript`, `forth`, `fortran`, `fortran77`, `freebasic`, `gdscript`, `go`,
`gui4cli`, `haskell`, `hollywood`, `html`, `ihex`, `ini`, `inno`, `java`,
`javascript`, `javascript`, `json`, `json5`, `jsp`, `kix`, `latex`, `lisp`,
`makefile`, `matlab`, `mmixal`, `mssql`, `nfo`, `nim`, `nncrontab`, `nsis`,
`objc`, `oscript`, `pascal`, `perl`, `php`, `postscript`, `powershell`,
`props`, `purebasic`, `python`, `r`, `raku`, `rc`, `rebol`, `registry`,
`ruby`, `rust`, `sas`, `scheme`, `smalltalk`, `spice`, `sql`, `srec`,
`swift`, `tcl`, `tehex`, `tex`, `toml`, `txt2tags`, `typescript`, `vb`,
`verilog`, `vhdl`, `visualprolog`, `xml`, `yaml`.
{{< /details >}}
* `-udl="My UDL Name"`: Open file with User Defined Language (UDL) syntax
highlighting `My UDL Name` active. If the UDL name does not conain spaces, the
quote marks aren't required around the name (like `-udl=MyUDL`). The UDL name
Expand Down
15 changes: 15 additions & 0 deletions content/docs/config-files.md
Original file line number Diff line number Diff line change
Expand Up @@ -347,6 +347,21 @@ If you previously had a v7.9-or-earlier style function list entry in `functionLi
5. Copy the `<parser...>...</parser>` section from the old `functionList.xml` to the `functionList\blah.xml`
- Please note that the `blah.xml` should _not_ contain a `<parsers>` section, _just_ the `<parser>` section. It will cause problems with the Function List if you wrap it in the `<parsers>...</parsers>` block. Make sure it ends up with the structure described above.

## Toolbar Icon Visibility: `toolbarButtonsConf.xml`

This configuration file allows you to override the visibility of any of the default or plugin toolbar icons. (New to v8.7.8)

The installation directory comes with a file called `toolbarButtonsConf_example.xml`: you can copy that to `%APPDATA%\Notepad++\toolbarButtonsConf.xml` (or other appropriate [Config Files Location](#configuration-files-location)). Once copied, edit `toolbarButtonsConf.xml`, edit it (see details below), and save, then restart Notepad++ to see the changes go into effect.

Set the `<Standard hideAll="...">` attribute to `yes` or `no` to decide whether or not to hide all of the built-in toolbar icons. Set `<Plugin hideAll="...">` attribute to `yes` or `no` to decide whether or not to hide all of the toolbar icons from all plugins.

You can change the `hide="no"` to `hide="yes"` (or vice versa) on any of the `<Button>` elements to toggle the visibility on specific toolbar buttons.

- For the `<Standard>` buttons, you can edit the `hide` or `name` attribute values, but **do not** edit the `index` or `id` values (which are required in order to properly map ). The `name` is based on the default English name for that command, but you can change that value if it helps you understand which command you are editing -- the `name="..."` value you set will _not_ affect the Notepad++ GUI at all.
- For the `<Plugin>` buttons, you can edit the `hide` value to be `yes` or `no` as appropriate; and the name, as with `<Standard>` buttons, is solely for your reference and never used by Notepad++.
- The _order_ of the `<Button>` tags corresponds exactly to the order that the plugin buttons are on the toolbar; there is no `index` or `id` attribute to help with mapping, and the `name` is ignored (and is just a useful reference for you).
- You must keep the `hide="yes"` entries lined up with the appropriate plugin buttons, as you install or upgrade your plugins, otherwise you will likely end up hiding the wrong buttons at some point.

## Toolbar Icon Customization: `toolbarIcons.xml`

This configuration file allows you to override the current toolbar icons. (New to v8.4.2) This allows you do define your own set of icons to use on the toolbar, and is useful (for example) if none of the five different icon sets available through **Settings > Preferences > General > Toolbar** are sufficient for your needs.
Expand Down
36 changes: 22 additions & 14 deletions content/docs/preferences.md
Original file line number Diff line number Diff line change
Expand Up @@ -561,16 +561,24 @@ A variety of settings that didn't fit elsewhere
- `Minimize / Close to` **system tray**: Place the Notepad++ icon on the system tray (instead of the task bar) when the Notepad++ application is minimized or closed. (New to v8.7.2.)
- The dropdown is new to v8.7.1. In previous versions, there was just a checkbox for `☐ Minimize to system tray`, and there was no `Close to` option available.
- For more details on the System Tray behavior, see [User Interface > System Tray](../user-interface/#system-tray).
* **Direct Write rendering mode** dropdown
- DirectWrite will help in displaying characters even if the active font doesn't have a glyph.
- There are four options (new to v8.7.8):
- `GDI (most compatible)`: This version is "most compatible", but it's because it doesn't have any of the features available in the other DirectWrite choices.
- `DirectWrite (default)`: This is the "normal" DirectWrite mode, and matches `☑ Use DirectWrite` from v8.7.7 and earlier. This is the default for a new installation of Notepad++.
- `DirectWrite (retain frames)`: Use this if it works best for you, or if you've been asked to try "DirectWrite (retain frames)".
- `DirectWrite (draw to GDI DC)`: Use this if it works best for you, or if you've been asked to try "DirectWrite (draw to GDI DC)".
- If you have having trouble rendering certain glyphs for Unicode characters (like various Asian characters or emoji), or having trouble with other rendering issues, you may want to try each of the four settings, to see which works best for you.
- Before v8.7.8, this was a checkbox: `☐ Use DirectWrite (May improve rendering special characters, need to restart Notepad++)`: Enables DirectWrite drawing.
- Unchecked is equivalent to the v8.7.8 `GDI (most compatible)`; checked is equivalent to v8.7.8 `DirectWrite (default)`.
- The modified rendering may affect the clarity or readability of the characters for some users or systems (for some users, it increases readability; for others, it decreases readability).
- Before v8.6, DirectWrite was off by default (this option was not checkmarked). Since v8.6, DirectWrite has been on by default (this option is checkmarked).
- Some users notice performance issues when this is checkmarked; those affected may uncheckmark this option.
- Staring in v8.6.9, this option will be automatically disabled on Windows Server (which cannot use DirectWrite).
* `☐ Enable Notepad++ auto-updater`: Will automatically download updates from the official website, once the development team has decided it's time to push an update to users. If unchecked, you will have to manually download the installer from the official website yourself.
* `☐ Mute all sounds`: When unchecked, a sound will provide feedback on certain actions (example: a search action in [**Find / Replace dialog**](../searching/#dialog-based-searching) results in the text not being encountered); when checked, Notepad++ will remain silent for those actions.
* `☐ Autodetect character encoding`: When opening a new file, try to algorithmically determine what character encoding should be used. (Other Encoding settings can be found in the [New Document](#new-document) tab of the **Preferences** Dialog.)
* `☐ Show only filename in title bar`: Use just the file name (instead of the full path) of the active file in the Notepad++ title bar.
* `☐ Use DirectWrite (May improve rendering special characters, need to restart Notepad++)`: Enables DirectWrite drawing.
* DirectWrite will help in displaying characters even if the active font doesn't have a glyph.
* The modified rendering may affect the clarity or readability of the characters for some users or systems (for some users, it increases readability; for others, it decreases readability).
* Before v8.6, DirectWrite was off by default (this option was not checkmarked). Since v8.6, DirectWrite has been on by default (this option is checkmarked).
* Some users notice performance issues when this is checkmarked; those affected may uncheckmark this option.
* Staring in v8.6.9, this option will be automatically disabled on Windows Server (which cannot use DirectWrite).
* `☐ Enable Save All confirm dialog`: When the Save All command is issued, will pop up a dialog to confirm you really want to save all: **Yes** will Save All; **No** will not save all _this time_, but will ask again next time; **Always yes** will save all _and_ will uncheck this preference so that Save All will stop asking for confirmation in the future.
* `Session file ext.`: Enter a file extension (without the `.`). When you open a file with this extension (whether from Windows file associations, or from the Notepad++ **File > Open** or similar), Notepad++ will treat the file as a session file, and open the files from that session, rather than showing and editing the contents of the file. This will honor the [Multi-Instance](#multi-instance) settings.
* `Workspace file ext.`: Enter a file extension (without the `.`). When you open a file with this extension (whether from Windows file associations, or from the Notepad++ **File > Open** or similar), Notepad++ will treat the file as a workspace file, and open that workspace, rather than showing and editing the contents of the file. This will honor the [Multi-Instance](#multi-instance) settings.
Expand All @@ -581,7 +589,7 @@ The Style Configurator dialog has three regions: Select theme, language and styl

The "Select theme:" pulldown allows you to select which theme you want. [Themes](../themes/) are pre-defined sets of formatting rules, which often try to use a consistent color scheme between languages.

The "Language:" selection list lets you select whether you want to set the formatting for "Global Styles", or a specific [programming language](../programing-languages/) that you want to set the highlighting for. The "Style:" selection list lets you select which highlighting rule to edit for the given language.
The "Language:" pulldown (it was a selection list before v8.7.8) lets you select whether you want to set the formatting for "Global Styles", or a specific [programming language](../programing-languages/) that you want to set the highlighting for. The "Style:" selection list lets you select which highlighting rule to edit for the given language.

On all but "Language: Global Styles", there will also be a "Default ext." box, which is an un-editable list of the default file extensions associated with that Language; and the "User ext." box, where you can add a user-defined list of additional extensions (space separated, don't use the . in the extension), which says which other extensions you want to apply this language's formatting to. (Please note that any changes you make in the Style Configurator dialog box for a specific language only applies to that language and only applies to the selected [theme](../themes/): If you add a user-defined extension to a language in the `Default (stylers.xml)` theme, it will not affect the list of user-defined extensions for that language in any of the other themes.)

Expand All @@ -599,13 +607,6 @@ Unlike most of the other items listed in the "Languages" column, which are langu

Some of these styles apply to the background only, some apply to the foreground only, and some apply to both.

* **Global override** [background and foreground] ⇒ This style has a series of checkboxes, which allow you to choose which attributes of the override-style will apply to everything; any that are checked will override even the per-language settings; any that are not checked will not use the global-override settings for that attribute.
- Global override takes precedence over any other color or font defined elsewhere, and will mask any per-language settings.
- Unless you want to turn off all syntax highlighting for all the programming languages, you likely don't want to use the `Global override` settings.
- Do not use this if all you are trying to do is set the color for Normal Text files (`.txt`): for those, use the `Default style` below.
- Starting in v8.7.1, there is a `What is Global override?` link which you can hover over to find out more about the global overrides; and new installations and new portable copies will have **Global override** at the _end_ of the list of **Global Styles** instead of the beginning, to better emphasize that **Global override** is more drastic than you usually need.
- If you upgrade from an older version of Notepad++ to v8.7.1 or newer, the **Global override** will not necessarily be moved to the end of the list.
- In such a case, or even if you are in an older version of Notepad++, you can edit [`%AppData%\Notepad++\stylers.xml` (or your active theme file)](../config-files/#highlighting-schemes-stylersxml) following the advice for [editing configuration files](../config-files/#editing-configuration-files), and move the `<WidgetStyle name="Global override" ... />` element from the top of the `<GlobalStyles>` section to the end of that section; after saving, exiting Notepad++, and restarting the app, **Global override** will be moved to the end of the list.
* **Default style** [background and foreground] ⇒ This sets the base font and colors for all languages -- so any unstyled text will use these settings.
- As described previously, `Default Style` is used to set the color for Normal Text (`.txt` files, and anything else that isn't highlighted by a lexer).
- Also, as described a few paragraphs earlier, the highlighters for specific languages will inherit from this `Default Style` for things like font and possibly color, if there is no value defined for that language.
Expand Down Expand Up @@ -651,6 +652,13 @@ Some of these styles apply to the background only, some apply to the foreground
* **Document map** [background and foreground] ⇒ The foreground color will be semi-transparently overlayed over the miniature version of text that's currently visible in the editor; the background color will be semi-transparently overlayed over the miniature version of the text that isn't currently visible in the editor (this style is new to v8.1.5).
* **EOL Custom Color** [background and foreground] ⇒ Sets the colors for the `CR`, `LF`, and `CRLF` indicators, which are also influenced by the [**Settings > Preferences > Editing > EOL** settings](#editing-1). The "Go to settings" link will take you to [Preferences > Editing](#editing-1) so you can change **EOL** settings.
* **Non-printing characters Custom Color** [background and foreground] ⇒ Sets the colors for the symbols for the Non-Printing Characters, which are also influenced by the [**Settings > Preferences > Editing > Non-Printing Characters** settings](#editing-1). The "Go to settings" link will take you to [Preferences > Editing](#editing-1) so you can change **Non-Printing Characters** settings. (Previously labled as **NPC Custom Color**.)
* **Global override** [background and foreground] ⇒ This style has a series of checkboxes, which allow you to choose which attributes of the override-style will apply to everything; any that are checked will override even the per-language settings; any that are not checked will not use the global-override settings for that attribute.
- Global override takes precedence over any other color or font defined elsewhere, and will mask any per-language settings.
- Unless you want to turn off all syntax highlighting for all the programming languages, you likely don't want to use the `Global override` settings.
- Do not use this if all you are trying to do is set the color for Normal Text files (`.txt`): for those, use the `Default style` below.
- Starting in v8.7.1, there is a `What is Global override?` link which you can hover over to find out more about the global overrides; and new installations and new portable copies will have **Global override** at the _end_ of the list of **Global Styles** instead of the beginning, to better emphasize that **Global override** is more drastic than you usually need.
- If you upgrade from an older version of Notepad++ to v8.7.1 or newer, the **Global override** will not necessarily be moved to the end of the list.
- In such a case, or even if you are in an older version of Notepad++, you can edit [`%AppData%\Notepad++\stylers.xml` (or your active theme file)](../config-files/#highlighting-schemes-stylersxml) following the advice for [editing configuration files](../config-files/#editing-configuration-files), and move the `<WidgetStyle name="Global override" ... />` element from the top of the `<GlobalStyles>` section to the end of that section; after saving, exiting Notepad++, and restarting the app, **Global override** will be moved to the end of the list.

### Search result styles

Expand Down
9 changes: 5 additions & 4 deletions content/docs/programing-languages.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,11 @@ Around 90 Programming Languages are supported by Notepad++:
| OScript | Pascal | Perl | PHP | PostScript |
| PowerShell | Properties file | PureBasic | Python | R |
| Raku | RC | REBOL | registry | Ruby |
| Rust | S-Record | Scheme | Shell | Smalltalk |
| Spice | SQL | Swift | TCL | Tektronix extended HEX |
| TeX | TOML | txt2tags | TypeScript | Verilog |
| VHDL | Visual Basic | Visual Prolog | XML | YAML |
| Rust | SAS | S-Record | Scheme | Shell |
| Smalltalk | Spice | SQL | Swift | TCL |
| Tektronix extended HEX | TeX | TOML | txt2tags | TypeScript |
| Verilog | VHDL | Visual Basic | Visual Prolog | XML |
| YAML | | | | |

For these languages, Notepad++ supports [syntax highlighting](../preferences/#style-configurator) (customizable),
syntax folding, [auto-completion](../auto-completion/) (customizable),
Expand Down
Loading

0 comments on commit 5d110a0

Please sign in to comment.