Add Notepad++ integration docs

This commit is contained in:
Thomas Jensen
2018-09-10 22:13:05 +02:00
parent 9f69378343
commit 46d631e197
7 changed files with 89 additions and 0 deletions

View File

@ -0,0 +1,9 @@
---
layout: post
title: "Notepad++ Integration"
date: 2018-09-10 22:00:00 +0200
comments: false
---
We put together some [step-by-step instructions]({{ site.baseurl }}/docs/install.html#notepadplusplus) on how to call
*boxes* directly from the Notepad++ editor on Windows. It requires a bit of clicking to set up, but works like a charm!

View File

@ -118,3 +118,8 @@ div.bxEmbedContainer {
-webkit-box-shadow: 1px 1px 4px rgba(34, 34, 34, 0.6); -webkit-box-shadow: 1px 1px 4px rgba(34, 34, 34, 0.6);
box-shadow: 1px 1px 4px rgba(34, 34, 34, 0.6); box-shadow: 1px 1px 4px rgba(34, 34, 34, 0.6);
} }
.mark-hilite {
background-color: #e0ffe0;
border-radius: 3px;
}

View File

@ -171,3 +171,78 @@ your config file.
the selected text. In may be accessed via the command palette like above, or you might want to define a hotkey or the selected text. In may be accessed via the command palette like above, or you might want to define a hotkey or
a macro to do it. a macro to do it.
1. Add more FilterPipes commands for other designs, or for removing and repairing your ASCII art boxes. 1. Add more FilterPipes commands for other designs, or for removing and repairing your ASCII art boxes.
<a name="notepadplusplus">&nbsp;</a>
## Integration with Notepad++
In order to integrate *boxes* with Notepad++, first make sure that *boxes* is on your `PATH`. On Windows, this usually
means boxes.exe and boxes.cfg must be located in a directory which is on the `PATH` environment variable. This method
of *boxes* integration works only on Windows, because afaik, Notepad++ is available only on Windows.
We use the NppExec plugin. Install NppExec via PluginManager:
1. Display PluginManager via the main menu: *Plugin &rarr; Plugin Manager &rarr; Show Plugin Manager*
1. If NppExec is not on the *Installed* tab already, go to the *Available* tab and select NppExec from the list.
1. Press **Install**.
1. Restart Notepad++
![Plugin Manager]({{ site.baseurl }}/images/editor-npp-pluginmanager.png)
Once the NppExec plugin is available, proceed with *boxes* integration:
1. Go to *Plugins &rarr; NppExec &rarr; Execute ...*
1. Paste the following script into the text area:
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>NPP_CONSOLE 0
cls
cmd.exe /c exit %RANDOM%
set tempfile = $(SYS.TEMP)\NppBoxes_$(EXITCODE).out.txt
set ascfile = $(SYS.TEMP)\NppBoxes_$(EXITCODE).in.txt
sel_saveto $(ascfile) :a
<span class="mark-hilite">boxes -d nuke -s 80 -pt1 -ac</span> "$(ascfile)" "$(tempfile)"
sel_loadfrom $(tempfile)
cmd.exe /c del /f /q "$(tempfile)" "$(ascfile)"</code></pre></div></div>
This script is inspired by a [post by Peter Jones](https://notepad-plus-plus.org/community/topic/16158/2) on the
Notepad++ forum. It works via temp files in ANSI format. (That's the `:a` argument to the `sel_saveto` command.)
This is compatible with boxes, and also helps avoiding byte order marks at the beginning of the temp file.
The <span class="mark-hilite">green part</span> marks the place where you configure the box. In this case, we'll
get a *nuke* box 80 characters wide, with the text centered in it and an extra blank line at the top.
1. Press **Save...** and give it a meaningful name, for example `boxes nuke 80`.
1. Press **Save** on the *Script name* input box.
![NppExec Script]({{ site.baseurl }}/images/editor-npp-script.png)
1. Go to *Plugins &rarr; NppExec &rarr; Advanced Options ...*
1. In the *Associated Script* dropdown, select the `boxes nuke 80` script entry created previously, then press
**Add/Modify** to add it to the list of *Menu items*.
1. Optionally select *Place to the Macros submenu*, if you want an entry for this in the *Macros* menu.
1. Press **OK**, and if asked, restart Notepad++.
![NppExec Advanced Options]({{ site.baseurl }}/images/editor-npp-options.png)
1. Go to *Macro &rarr; Modify Shortcut/Delete Macro...* to call up the Shortcut mapper.
1. Select the *Plugin commands* tab, and type `boxes` into the filter line at the bottom of the dialog window.
1. Choose our `boxes nuke 80` entry and press **Modify**:
![Shortcut mapper]({{ site.baseurl }}/images/editor-npp-shortcut.png)
1. Assign a shortcut key, for example Ctrl+Shift+B.
1. Make sure that the Shortcut mapper reports `No shortcut conflicts for this item` in the status area.
That's it, finally! Now you can select any piece of text in the Notepad++ editor and draw the `nuke 80` box around it
by pressing your assigned shortcut:
_ ._ _ , _ ._
(_ ' ( ` )_ .__)
( ( ( ) `) ) _)
(__ (_ (_ . _) _) ,__)
`~~`\ ' . /`~~`
,::: ; ; :::,
':::::::::::::::'
___________________________jgs______/_ __ \___________________________________
| |
| LOOK AT THAT! |
|______________________________________________________________________________|

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB