<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[New plugin] Columns++]]></title><description><![CDATA[<p dir="auto">I’ve created a new plugin, Columns++, for Notepad++.</p>
<p dir="auto">Key features are:</p>
<ul>
<li><strong>Elastic tabstops:</strong> Columns++ includes a new implementation of Nick Gravgaard’s <a href="https://nickgravgaard.com/elastic-tabstops/" rel="nofollow ugc">Elastic tabstops</a>.</li>
<li><strong>Find and replace in rectangular selections</strong></li>
<li><strong>Calculations:</strong> There are commands to add or average numbers in one or more columns.</li>
<li><strong>Alignment:</strong> You can left- or right-align text, or line up numbers.</li>
<li><strong>Sorting:</strong> Columns++ includes  sort commands that work correctly with rectangular selections in files that use tabs.</li>
</ul>
<p dir="auto">It’s on <a href="https://github.com/Coises/ColumnsPlusPlus" rel="nofollow ugc">GitHub</a> and there is a <a href="https://coises.github.io/ColumnsPlusPlus/help.htm" rel="nofollow ugc">help file</a>.</p>
<p dir="auto">For now, it’s “use at your own risk,” since no one but me has tried it yet. To install it, the release zips must be unzipped to a folder named ColumnsPlusPlus, which must be copied into the plugins directory in your Notepad++ installation.</p>
<p dir="auto">Thanks for any feedback. There are features I would like to add, but seemed time to get this thing out into the wild.</p>
]]></description><link>https://community.notepad-plus-plus.org/topic/24353/new-plugin-columns</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 10:02:44 GMT</lastBuildDate><atom:link href="https://community.notepad-plus-plus.org/topic/24353.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 09 Apr 2023 03:41:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [New plugin] Columns++ on Sun, 17 Nov 2024 20:48:31 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/27184">@Coises</a>  said in <a href="/post/97960">[New plugin] Columns++</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/32850">@Pete-Run</a> said in <a href="/post/97951">[New plugin] Columns++</a>:</p>
<blockquote>
<p dir="auto">So my request would be an option to “Elastically Ignore” lines with no tabs.</p>
</blockquote>
<p dir="auto"><strong>Columns++</strong> | <strong>Profile…</strong> | <strong>Do not allow text following the last tab on a line to span columns.</strong> should <em>not</em> be checked for the example given.</p>
</blockquote>
<p dir="auto">AhHa, I am not sure that I understand “Do not allow text following the last tab on a line to span columns” but that works niceley, thanks.</p>
<blockquote>
<p dir="auto">I still don’t quite understand your use case. What is it you are trying to do that would be easier if elastic tabstop positions were shown only for selected lines?</p>
</blockquote>
<p dir="auto">I only occasionally use NPP for NPP shortcuts.xml, some Lua, AHK etc. I was brought up on IBM mainframe early Text editors and JCL etc, so I am at home with text editors so am happy to use it for text manipulation, especially when Ms Word macros are lacking.</p>
<p dir="auto">My main gripe with tabs in textual situations is that they can “mess up/misalign” when copied between applications, hence my desire to sometimes use monospace fonts with spaces rather than tabs and of course in tables a word processor, but many situations do not afford tables.</p>
<p dir="auto">So, thanks again for your Columns++ and Elastic Tabs which helps keep my text aligned in different scenarios.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/97964</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/97964</guid><dc:creator><![CDATA[Pete Run]]></dc:creator><pubDate>Sun, 17 Nov 2024 20:48:31 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Sun, 17 Nov 2024 18:58:18 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/32850">@Pete-Run</a> said in <a href="/post/97952">[New plugin] Columns++</a>:</p>
<blockquote>
<p dir="auto">I did notice this for v1.3<br />
Changelog:<br />
Limit updates to only the current view region. This can lead to a significant performance increase for large files such as TSV, or when doing Search/Replace. Note: that this may case columns to change sizes while scrolling.<br />
[…]<br />
So “Selection Only” was considered and impletmented as an improvement by the previous developer.</p>
</blockquote>
<p dir="auto">I think you’re misremembering something. What is described in the changes you quoted was limiting analysis to the visible part of the file (plus, if I recall correctly, a few lines before and after). As noted, this caused the columns to change width when scrolling.</p>
<p dir="auto">One of my design goals was to get as much as possible of the performance improvement without the visual jumps. To that end, I separate calculating the tab positions from applying them; it turns out actually applying the tab positions to each line is the slowest part of the whole process. So I calculate tab positions for the whole file, but only apply them as necessary: to the visible part and to anything enclosed in a rectangular selection (since rectangular selections don’t work as intended if the lines aren’t correctly laid out — another problem from the old implementation I wanted to avoid).</p>
<p dir="auto">As far as I know, the <a href="https://github.com/dail8859/ElasticTabstops" rel="nofollow ugc">dail8859 ElasticTabstops</a> never had a “selection only” option. I think you might at some point have installed the <a href="https://github.com/mariusv-github/ElasticTabstops" rel="nofollow ugc">mariusv ElasticTabstops</a> which has this ini file option:</p>
<blockquote>
<p dir="auto">sel_only=1 or 0 (default 1)<br />
; the active range for applying elastic tabstops will be the current selected lines or all the file</p>
</blockquote>
<p dir="auto">I still don’t quite understand your use case. What is it you are trying to do that would be easier if elastic tabstop positions were shown only for selected lines?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/97962</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/97962</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Sun, 17 Nov 2024 18:58:18 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Sun, 17 Nov 2024 18:20:15 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/32850">@Pete-Run</a> said in <a href="/post/97951">[New plugin] Columns++</a>:</p>
<blockquote>
<p dir="auto">So my request would be an option to “Elastically Ignore” lines with no tabs.</p>
</blockquote>
<p dir="auto"><strong>Columns++</strong> | <strong>Profile…</strong> | <strong>Do not allow text following the last tab on a line to span columns.</strong> should <em>not</em> be checked for the example given.</p>
<p dir="auto">(I would guess that you chose the built-in <strong>Tabular</strong> profile and then unchecked <strong>Line up elastic tabstops throughout the entire document.</strong> For mixed presentations like your example, <strong>Classic</strong> or <strong>General</strong> is usually a good starting place; <strong>Tabular</strong> is specifically most useful when the entire document is a single tab-separated-values table. Of course, you can use any combination of options you like, and save the them as a custom profile if desired.)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/97960</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/97960</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Sun, 17 Nov 2024 18:20:15 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Sun, 17 Nov 2024 13:15:03 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/27184">@Coises</a>  I have posted this separately as it is a related but different issue.</p>
<p dir="auto">Image 1 shows normal tabbed lines with lines with NO Tabs.<br />
Image 2 shows 1 “overly” elasticated, possibly as expected it treats the end of the no tab line as a tab position.<br />
Image 3 shows “neatly” elasticated with blank lines inserted “around” simple “Text with NoTab lines”.</p>
<p dir="auto">So my request would be an option to “Elastically Ignore” lines with no tabs.</p>
<p dir="auto">I could think of many situations where in 1 document Tabulated information is separated by some textual explanation/detail (e.g. the old * reference) that would not easily fit tabularly. Even many small tables.</p>
<p dir="auto">In this instance I would then convert tabs to spaces, so I have a workaround; just adding extra blank lines, but that would take a long time for many small tables. I suspect a simple replace command would fix that though. I feel an addition to my macro coming on! Please do not think I am a programmer, despite being in IT since 1970, I’m now 75, my programming expertise ends at butchering other peoples “scripts” and tinkering with recorded macros, but great fun.</p>
<p dir="auto">Thanks again for the plugin<br />
Pete</p>
<p dir="auto"><img src="/assets/uploads/files/1731847503403-1-standard-tabs.jpg" alt="1-standard tabs.jpg" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/assets/uploads/files/1731847516716-2-elastic-tabs-with-no-blank-lines.jpg" alt="2-elastic tabs with no blank lines.jpg" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/assets/uploads/files/1731847533400-3-elastic-tabs-with-blank-lines-separateing-notab-lines.jpg" alt="3-elastic tabs with blank lines separateing NoTab lines.jpg" class=" img-fluid img-markdown" /></p>
]]></description><link>https://community.notepad-plus-plus.org/post/97951</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/97951</guid><dc:creator><![CDATA[Pete Run]]></dc:creator><pubDate>Sun, 17 Nov 2024 13:15:03 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Sun, 17 Nov 2024 12:38:15 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/27184">@Coises</a> Many thanks for the prompt and informative response.</p>
<p dir="auto">I found this here: <a href="https://github.com/dail8859/ElasticTabstops/releases" rel="nofollow ugc">https://github.com/dail8859/ElasticTabstops/releases</a></p>
<p dir="auto"><em>v1.3.1 Latest (this is the version I was running on NPPx32)<br />
Add ability to ignore extensions<br />
Rebuild for Notepad++ v7.7 64-bit compatibility</em></p>
<p dir="auto">However, although it works on x32 bit, it gets access violation on x64.</p>
<p dir="auto">I did notice this for v1.3<br />
<em>Changelog:<br />
Limit updates to only the current view region. This can lead to a significant performance increase for large files such as TSV, or when doing Search/Replace. Note: that this may case columns to change sizes while scrolling.<br />
Fix issue with specifying extensions<br />
Fix tab widths for proportional fonts<br />
Allow elastic tabstops to be calculated for files using spaces as indentation</em></p>
<p dir="auto">So “Selection Only” was considered and impletmented as an improvement by the previous developer.</p>
<p dir="auto">For my purposes I can manage with a bit of copy/paste, so thanks for the plugin</p>
<p dir="auto">Cheers Pete<br />
P.S. see next post for different suggestion.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/97952</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/97952</guid><dc:creator><![CDATA[Pete Run]]></dc:creator><pubDate>Sun, 17 Nov 2024 12:38:15 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Sat, 16 Nov 2024 22:06:41 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/32850">@Pete-Run</a> said in <a href="/post/97940">[New plugin] Columns++</a>:</p>
<blockquote>
<p dir="auto">There seems to be 1 thing missing, or I can’t find it:<br />
“Selection Only”</p>
<p dir="auto">I use the current Elastic tabstops as a monospace font “text aligner” with “tabs to spaces” instead of tabs, so being able to restrict to “Selection Only” makes life simpler, otherwise it means placing in another document and copying back.</p>
<p dir="auto">Will you be adding “Selection Only”?</p>
</blockquote>
<p dir="auto">I don’t expect to add an option to align tabs only in the selection. I designed the Elastic tabstops feature to make it appear to the user that the entire document is always instantly aligned, while deferring some processing until needed to keep it responsive wherever possible. I <em>think</em> it would complicate processing a lot to have an option to work only on a selection; I’d have to be pretty convinced that there was a good reason for it.</p>
<p dir="auto">I don’t follow your description of your use case. However, admittedly I haven’t used the <a href="https://github.com/mariusv-github/ElasticTabstops" rel="nofollow ugc">Elastic Tabstops plugin</a> much since it was rewritten and taken over by a new maintainer, then almost immediately abandoned. I used the <a href="https://github.com/dail8859/ElasticTabstops" rel="nofollow ugc">old version</a> quite a bit, but it blocked me from updating to 64-bit Notepad++.</p>
<p dir="auto"><strong>Convert tabs to spaces</strong> on the <strong>Columns++</strong> menu takes the selection into account if there is one. If you mean that you need to align tabs in a sequence of lines without regard to tabs elsewhere in the same document, that will usually happen automatically, unless you’ve chosen the <strong>Tabular</strong> profile or otherwise set <strong>Profile…</strong> | <strong>Line up elastic tabstops throughout entire document</strong> checked. The exception is if there is no intervening line without tabs between sections you want aligned independently; in that case, you could add a blank line just until you convert and then remove it again.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/97942</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/97942</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Sat, 16 Nov 2024 22:06:41 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Sat, 16 Nov 2024 20:55:23 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/27184">@Coises</a>  Just moved to Notepad++ x64 and reevaluating my plugins.<br />
The Elastic Tabstops part of Columns++ looks very good as a replacemnt/addition to Plugin Elastic Tabstops.</p>
<p dir="auto">There seems to be 1 thing missing, or I can’t find it:<br />
“Selection Only”</p>
<p dir="auto">I use the current Elastic tabstops as a monospace font “text aligner” with “tabs to spaces” instead of tabs, so being able to restrict to “Selection Only” makes life simpler, otherwise it means placing in another document and copying back.</p>
<p dir="auto">Will you be adding “Selection Only”?</p>
<p dir="auto">Cheers Pete</p>
]]></description><link>https://community.notepad-plus-plus.org/post/97940</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/97940</guid><dc:creator><![CDATA[Pete Run]]></dc:creator><pubDate>Sat, 16 Nov 2024 20:55:23 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Mon, 27 May 2024 16:52:53 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/27184">@Coises</a> said in <a href="/post/95024">[New plugin] Columns++</a>:</p>
<blockquote>
<p dir="auto">1.0.6</p>
</blockquote>
<p dir="auto">I understand it now, thank you so much for the explication.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/95029</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/95029</guid><dc:creator><![CDATA[wonkawilly]]></dc:creator><pubDate>Mon, 27 May 2024 16:52:53 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Mon, 27 May 2024 02:00:28 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/10759">@wonkawilly</a> said in <a href="/post/95023">[New plugin] Columns++</a>:</p>
<blockquote>
<p dir="auto">Is it a feature/wanted behavior?</p>
</blockquote>
<p dir="auto">It’s not so much a “feature” as a “known side-effect.”</p>
<p dir="auto">In the <strong>Columns++</strong> | <strong>Profile…</strong> dialog there is a setting:<br />
<strong>Apply monospaced font optimizations</strong> (<strong>Yes</strong>, <strong>No</strong> or <strong>Best estimate</strong>)<br />
and beneath that, a check box:<br />
<strong>Don’t show expanded mnemonics for non-printing characters when monospaced.</strong></p>
<p dir="auto">The defaults are <strong>Best estimate</strong> and checked.</p>
<p dir="auto"><strong>Don’t show expanded mnemonics…</strong> only applies when the first setting is <strong>Yes</strong>, or when it is <strong>Best estimate</strong> and the best estimate is Yes.</p>
<p dir="auto">What that setting does is to replace the reversed-type black boxes for non-printing characters, like BEL or NBSP,  with a single <strong><code>!</code></strong> in a black box. The reason is that “monospaced font optimizations” depend on every character being the same width; they speed up processing in larger files if that is true, but things get even slower than they would be without the optimizations if there are characters (like the black blobs with control character mnemonics) that aren’t the same width as everything else.</p>
<p dir="auto">I don’t know why the CR and LF are converted to C and L instead of being an exclamation point, like all other non-printing characters, but that’s what happens. I know of no way to change that while still controlling the width of other non-printing characters.</p>
<p dir="auto"><strong>Knowing that it’s not abnormal, if this still bothers you, there are two things you could do to avoid it:</strong></p>
<ol>
<li>
<p dir="auto">If your files rarely or never contain non-printing characters (except end-of-line characters), you can uncheck <strong>Don’t show expanded mnemonics for non-printing characters when monospaced</strong> and the display of line-ending characters will return to normal.</p>
</li>
<li>
<p dir="auto">I’ve recently discovered that monospaced font optimizations are only necessary if you do not have <strong>Use DirectWrite</strong> checked in the Notepad++ options at <strong>Settings</strong> | <strong>Preferences…</strong> | <strong>MISC.</strong>. Recent versions of Notepad++ default that setting to checked (it was unchecked when I first released Columns++). Starting with version 1.1, Columns++ will always use “No” as the <strong>Best estimate</strong> when DirectWrite is enabled. In version 1.0.6, if you have DirectWrite enabled, or if you never enable elastic tabstops on files that are large enough to make response sluggish, you could set <strong>Apply monospaced font optimizations</strong> to <strong>No</strong>.</p>
</li>
</ol>
<p dir="auto">The nature of the Plugins Admin in Notepad++ is that the plugins listing is only updated when Notepad++ is updated (and even then, with some lag, depending on how long it takes to finalize a release). In the <strong>Columns++</strong> | <strong>Help/About…</strong> dialog you’ll find links to the “newest” and “latest stable” releases, which you can install directly. Right now, 1.0.6 is latest stable; newest, 1.1.1, incorporates the DirectWrite/Best estimate fix along with some other significant fixes and improvements. I expect to release a 1.1.2 version within a day or two. If all goes well that version will be promoted to stable in time to get it into the Plugins Admin list for the next release of Notepad++.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/95024</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/95024</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Mon, 27 May 2024 02:00:28 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Sun, 26 May 2024 22:49:46 GMT]]></title><description><![CDATA[<p dir="auto">Hi Sir,<br />
I am getting a weird behavior in Columns++ &gt; Elastic Tab Stops: <strong>the end of line chars</strong> get kinda of “narrowed down” (don’t know it it is the correct definition of such behavior)  or they lose the last char of each couple (basically CRLF -&gt; CL) when I activate Elastic tab stops. Disabling Ets eol chars return normal.<br />
(Columns++ Installed version: 1.0.6)<br />
Is it a feature/wanted behavior?</p>
<p dir="auto">Look at the screenshots:<br />
<img src="/assets/uploads/files/1716763464742-2ba1dad6-aeae-48d0-995d-4f49439f0209-image.png" alt="2ba1dad6-aeae-48d0-995d-4f49439f0209-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/assets/uploads/files/1716763267433-6c503abb-afee-4b03-b666-beff33d0b1a8-image.png" alt="6c503abb-afee-4b03-b666-beff33d0b1a8-image.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://community.notepad-plus-plus.org/post/95023</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/95023</guid><dc:creator><![CDATA[wonkawilly]]></dc:creator><pubDate>Sun, 26 May 2024 22:49:46 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Sat, 28 Oct 2023 22:59:06 GMT]]></title><description><![CDATA[<p dir="auto"><a href="https://github.com/Coises/ColumnsPlusPlus/releases/tag/v0.8-alpha" rel="nofollow ugc">Columns++ version 0.8-alpha</a> uses its own copy of Boost.Regex, rather than accessing the copy in Notepad++ through the Scintilla interface. The main reason for this is that the Scintilla interface doesn’t support access to capture groups beyond 9; but it also makes the code cleaner and, based on my limited tests, faster. Here’s the changelog, including that and other new features:</p>
<ul>
<li>
<p dir="auto">References in formulas and sort keys to regular expression capture groups beyond 9 work now.</p>
</li>
<li>
<p dir="auto">When matching regular expressions in column selections or search regions, lookbehind assertions do not recognize any text beyond the boundary of the selection within the row or the segment of the search region in which a match is attempted. (In previous versions of Columns++, as in Notepad++, the text potentially examined by lookbehind assertions always extended to the beginning of the document.)</p>
</li>
<li>
<p dir="auto">Changed the way Search in indicated region behaves when no region is indicated, nothing is selected and a search is initiated; if Auto set is checked (the default), the search region is set to the entire document. The old behavior (raising a dialog requesting a rectangular selection) may be obtained by unchecking Auto set.</p>
</li>
<li>
<p dir="auto">Made some refinements in how find and replace strings in Extended search mode are processed, including fixes for potential bugs and adding \U<em>xxxxxx</em> (note: capital U) accepting up to six hexadecimal digits to specify any valid Unicode code point.</p>
</li>
<li>
<p dir="auto">Added dropdown arrows to the Count and Replace All buttons in Search in indicated region to support additional operations: Select All, Count Before, Count After, Select Before, Select After, Replace Before, Replace After and Clear History.</p>
</li>
<li>
<p dir="auto">Regular expressions using \K will work for incremental find and replace in Search in indicated region providing focus does not leave the dialog between finding a match and replacing it.</p>
</li>
<li>
<p dir="auto">Added an Align… command to the Columns++ menu to support aligning column text on any character, character string or regular expression.</p>
</li>
</ul>
<p dir="auto"><a href="https://coises.github.io/ColumnsPlusPlus/help.htm" rel="nofollow ugc">Help</a> has been updated.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/90168</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/90168</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Sat, 28 Oct 2023 22:59:06 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Tue, 10 Oct 2023 21:35:40 GMT]]></title><description><![CDATA[<p dir="auto"><a href="https://github.com/Coises/ColumnsPlusPlus/releases/tag/v0.7.4-alpha" rel="nofollow ugc">Columns++ version 0.7.4-alpha</a> fixes the <strong>Align numeric</strong> command and the <strong>Numeric aligned</strong> option of the <strong>Calculate…</strong> command to take into account numbers formatted as times, based on the settings in the <strong>Time formats</strong> dialog.</p>
<p dir="auto">There are no other changes to the plugin. I updated the <a href="https://coises.github.io/ColumnsPlusPlus/help.htm" rel="nofollow ugc">help</a>, and added to the <a href="https://github.com/Coises/ColumnsPlusPlus#columns" rel="nofollow ugc">readme</a> to mention a couple special cases where Columns++ can be useful even for documents that aren’t arranged in columns: search with numeric formulas in regular expression replacement strings and sorting using multiple columns or regular expression capture groups.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/89818</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/89818</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Tue, 10 Oct 2023 21:35:40 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Wed, 04 Oct 2023 22:34:51 GMT]]></title><description><![CDATA[<p dir="auto"><a href="https://github.com/Coises/ColumnsPlusPlus/releases/tag/v0.7.3-alpha" rel="nofollow ugc">Columns++ version 0.7.3-alpha</a> does not introduce any new features, but it fixes a couple potentially annoying misbehaviors:</p>
<ul>
<li>
<p dir="auto">Improved exception handling: Exceptions from the Scintilla C++ interface will now be passed to Notepad++ in a way that allows it to report them as such, and uncleared error status codes from outside Columns++ will no longer cause exceptions in Columns++.</p>
</li>
<li>
<p dir="auto">An error in handling parentheses in regular expression replacement strings was fixed.</p>
</li>
<li>
<p dir="auto">A design flaw that could cause formula substitutions in regular expression replacement strings to be misinterpreted as part of a special sequence (such as a $<em>n</em> capture group reference) was fixed.</p>
</li>
</ul>
]]></description><link>https://community.notepad-plus-plus.org/post/89697</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/89697</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Wed, 04 Oct 2023 22:34:51 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Thu, 21 Sep 2023 09:56:32 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/27184">@Coises</a> said in <a href="/post/89382">[New plugin] Columns++</a>:</p>
<blockquote>
<p dir="auto">I left out an important instruction: Regular expression must be selected in the Search Mode box.</p>
</blockquote>
<p dir="auto">… yeah, with that it works!</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/27184">@Coises</a> said in <a href="/post/89382">[New plugin] Columns++</a>:</p>
<blockquote>
<p dir="auto">You’re finding that after doing an action in Search in indicated region, using the Notepad++ Undo command reverts both the action from the dialog and whatever action you did previously?</p>
</blockquote>
<p dir="auto">That’s correct. It will jump back as if I had hit “Undo” twice. I suggest moving further discussions of these smaller issues <a href="https://github.com/Coises/ColumnsPlusPlus/issues" rel="nofollow ugc">to your Plugin’s issue list</a> to avoid cluttering this thread.</p>
<p dir="auto">PS: I did some additional tests and it played out that’s all fine with your Plugin. It was a misbehavior of N++. A new restart fixed the problem.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/89401</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/89401</guid><dc:creator><![CDATA[Thomas Knoefel]]></dc:creator><pubDate>Thu, 21 Sep 2023 09:56:32 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Wed, 20 Sep 2023 17:46:05 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/28326">@Thomas-Knoefel</a> said in <a href="/post/89378">[New plugin] Columns++</a>:</p>
<blockquote>
<p dir="auto">I tried it in the “Search in indicated region” window. It is replacing the strings for me visually with “Definition-(?=match):”. It’s somehow not resolving the instruction.</p>
</blockquote>
<p dir="auto">Almost certainly this is because I left out an important instruction: <strong>Regular expression</strong> must be selected in the <strong>Search Mode</strong> box. Formula replacements are only done in regular expression mode.</p>
<blockquote>
<p dir="auto">Besides, when I click on “Undo”, it performs two undos, so I cannot go back to the previous “Definition:” string list.</p>
</blockquote>
<p dir="auto">I can’t reproduce this, but I might not understand. You’re finding that after doing an action in <strong>Search in indicated region</strong>, using the Notepad++ <strong>Undo</strong> command reverts both the action from the dialog <em>and</em> whatever action you did previously?</p>
<p dir="auto">Does this happen regardless of how you do the Undo command (toolbar, menu, Ctrl+Z) and regardless of whether the dialog is still open?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/89382</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/89382</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Wed, 20 Sep 2023 17:46:05 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Wed, 20 Sep 2023 16:49:43 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/27184">@Coises</a> said in <a href="/post/89366">[New plugin] Columns++</a>:</p>
<blockquote>
<p dir="auto">If you wanted to replace, say, Definition: with Definition-n: where n is 1 for the first replacement and increments by 1 each time, you’d use:</p>
<p dir="auto">Find what: Definition:<br />
Replace with: Definition-(?=match):</p>
</blockquote>
<p dir="auto">I tried it in the “Search in indicated region” window. It is replacing the strings for me visually with “Definition-(?=match):”. It’s somehow not resolving the instruction.<br />
Besides, when I click on “Undo”, it performs two undos, so I cannot go back to the previous “Definition:” string list.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/89378</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/89378</guid><dc:creator><![CDATA[Thomas Knoefel]]></dc:creator><pubDate>Wed, 20 Sep 2023 16:49:43 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Wed, 20 Sep 2023 06:35:00 GMT]]></title><description><![CDATA[<p dir="auto"><a href="https://github.com/Coises/ColumnsPlusPlus/releases/tag/v0.7.2-alpha" rel="nofollow ugc">Columns++ version 0.7.2-alpha</a> replaces a Windows API that is only available in Windows 10 and later with one that is available from Vista on.</p>
<p dir="auto">If you’re running a version of Windows older than Windows 10, 0.7.1 won’t load; use 0.7.2. If you’re running Windows 10 or later, there <em>should</em> be no discernible difference.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/89367</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/89367</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Wed, 20 Sep 2023 06:35:00 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Tue, 19 Sep 2023 23:59:37 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/28326">@Thomas-Knoefel</a> said in <a href="/post/89362">[New plugin] Columns++</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/27184">@Coises</a>  I installed your plugin for the first time and was able to display the progress bar successfully. It works great.</p>
</blockquote>
<p dir="auto">Thanks for giving it a try!</p>
<blockquote>
<p dir="auto">How can I replace a string with the same string combined with the number of its occurrence?</p>
</blockquote>
<p dir="auto">If you wanted to replace, say, <strong>Definition:</strong> with <strong>Definition-<em>n</em>:</strong> where <em><strong>n</strong></em> is 1 for the first replacement and increments by 1 each time, you’d use:</p>
<p dir="auto"><strong>Find what:</strong> <code>Definition:</code><br />
<strong>Replace with:</strong> <code>Definition-(?=match):</code></p>
<p dir="auto">If you had something more complicated, like replacing <strong>Define(<em>word</em>, <em>definition</em>)</strong> with <strong>Define(<em>word</em>, <em>n</em>, <em>definition</em>)</strong> where <em><strong>n</strong></em> is 10 for the first replacement and increments by 5 each time, you’d use:</p>
<p dir="auto"><strong>Find what:</strong> <code>(Define\(\w+,)([^)]*\))</code><br />
<strong>Replace with:</strong> <code>\1 (?=match*5+5),\2</code></p>
<p dir="auto">You use <strong>(?=…)</strong> to enclose a formula, which gets substituted into the replacement string. In the formula, you use <strong>line</strong> for the line number, <strong>match</strong> for the match number, <strong>this</strong> for the numeric value of the text the regular expression matched, and <strong>reg(<em>n</em>)</strong> for the numeric value of the text the <em><strong>n</strong></em>th capture group matched. There are more complicated possibilities, but those are the main ones. The formula is written like a typical computer language mathematical expression: +, -, *, / for arithmetic, parentheses for grouping, and so on.</p>
<blockquote>
<p dir="auto">Given that the documentation is quite theoretical, perhaps some simple examples or a hands-on section would help with the initial testing steps.</p>
</blockquote>
<p dir="auto">That is a good idea. I can’t promise when I’ll get it done, but adding an “Examples” or a “How do I…?” section to the help sounds worthwhile. Thank you for the suggestion.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/89366</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/89366</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Tue, 19 Sep 2023 23:59:37 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Tue, 19 Sep 2023 21:47:48 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/27184">@Coises</a>  I installed your plugin for the first time and was able to display the progress bar successfully. It works great. However, I encountered some difficulties with its usage in certain areas. How can I replace a string with the same string combined with the number of its occurrence?<br />
Given that the documentation is quite theoretical, perhaps some simple examples or a hands-on section would help with the initial testing steps.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/89362</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/89362</guid><dc:creator><![CDATA[Thomas Knoefel]]></dc:creator><pubDate>Tue, 19 Sep 2023 21:47:48 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Mon, 18 Sep 2023 22:27:26 GMT]]></title><description><![CDATA[<p dir="auto"><a href="https://github.com/Coises/ColumnsPlusPlus/releases/tag/v0.7.1-alpha" rel="nofollow ugc">Columns++ version 0.7.1-alpha</a> adds a progress dialog for long-running Elastic tabstops operations. The operation can be cancelled using a link in the dialog or the Escape key. A control to set the minimum estimated time remaining to trigger the progress dialog was added to the Options dialog.</p>
<p dir="auto">This update is recommended if you use Elastic tabstops, and especially if you use it with large files. Under some circumstances — as discussed <a href="https://community.notepad-plus-plus.org/post/89047">above in this thread</a> — a seemingly innocuous action can cause a <em>very</em> long delay when Elastic tabstops is enabled on a large file. This update will cause a dialog to be displayed which will make it possible to cancel the operation (rather than locking up all of Notepad++ and possibly leading the user to force-close it).</p>
]]></description><link>https://community.notepad-plus-plus.org/post/89342</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/89342</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Mon, 18 Sep 2023 22:27:26 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Tue, 05 Sep 2023 05:39:05 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/24325">@rdipardo</a> said in <a href="/post/89061">[New plugin] Columns++</a>:</p>
<blockquote>
<p dir="auto">My guess is that you’re flooding the main thread with <code>SCN_UPDATEUI</code> events, which would keep MarkdownPanel’s event loop very busy, since it doesn’t bit-mask the <code>ScNotification.Updated</code> field to improve the signal-to-noise ratio.</p>
</blockquote>
<p dir="auto">Thanks. What threw me is that the updates are occurring in the tab being activated, and the markdown panel is for the tab being switched away from. But it appears that the panel doesn’t close until after my NPPN_BUFFERACTIVATE routine is finished. I have seen that there is no “this document is losing focus” notification for plugins, so now that I think of it, it makes sense that clean-up doesn’t always happen when it logically should. Probably the alphabetically later plugin gets the NPPN_BUFFERACTIVATE message later, so MarkdownPanel doesn’t have a chance to close its panel and stop listening for notifications until after I’ve already set my custom tabs. That gives me something to consider, though; perhaps I can defer the processing until the next SCN_UPDATEUI <em>after</em> the NPPN_BUFFERACTIVATE, if that doesn’t cause jumpiness or missed updates.</p>
<p dir="auto">I’m currently attempting to project the time to completion for these potentially long-running activities and raise a progress dialog when the projected time remaining exceeds a threshold (e.g., three seconds). At least the dialog will make it possible to cancel the operation, with the understanding that visual layout and/or rectangular selection might be mangled; that’s a lot better than force-closing Notepad++.</p>
<p dir="auto">Thanks again for the heads-up regarding MarkdownPanel.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/89062</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/89062</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Tue, 05 Sep 2023 05:39:05 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Tue, 05 Sep 2023 03:46:14 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/27184">@Coises</a> said in <a href="/post/89047">[New plugin] Columns++</a>:</p>
<blockquote>
<p dir="auto">Right now, I do not understand what having a side panel open on a different tab should have to do with it, and I don’t know if it’s specific to the MarkdownPanel plugin.</p>
</blockquote>
<p dir="auto">MarkdownPanel is an “eager” listener of Scintilla notifications when the panel is showing: <a href="https://github.com/mohzy83/NppMarkdownPanel/blob/833521f0e744987ebb415b6a9f5af56883cb6022/NppMarkdownPanel/MarkdownPanelController.cs#L80" rel="nofollow ugc">https://github.com/mohzy83/NppMarkdownPanel/blob/833521f0e744987ebb415b6a9f5af56883cb6022/NppMarkdownPanel/MarkdownPanelController.cs#L80</a></p>
<p dir="auto">My guess is that you’re flooding the main thread with <a href="https://www.scintilla.org/ScintillaDoc.html#SCN_UPDATEUI" rel="nofollow ugc"><code>SCN_UPDATEUI</code> events</a>, which would keep MarkdownPanel’s event loop very busy, since it doesn’t bit-mask the <code>ScNotification.Updated</code> field to improve the signal-to-noise ratio.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/89061</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/89061</guid><dc:creator><![CDATA[rdipardo]]></dc:creator><pubDate>Tue, 05 Sep 2023 03:46:14 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Sun, 03 Sep 2023 18:42:56 GMT]]></title><description><![CDATA[<p dir="auto"><a href="https://github.com/Coises/ColumnsPlusPlus/releases/tag/v0.7-alpha" rel="nofollow ugc">Columns++ version 0.7-alpha</a> enables formulas in regular expression replacements in the <strong>Search in indicated region</strong> dialog. For example, if you want to change every occurrence of “IDN-<em>number</em>” by adding 7 to the numeric part, you can use:</p>
<p dir="auto"><strong>Find what:</strong> <code>(?&lt;=\bIDN-)\d+\b</code><br />
<strong>Replace with:</strong> <code>(?=this+7)</code></p>
<p dir="auto">There are also enhancements regarding the use of time formats (days:hours:minutes:seconds) in calculations, some more flexibility for managing search regions, and other improvements. The <a href="https://coises.github.io/ColumnsPlusPlus/help.htm" rel="nofollow ugc">help</a> has been updated (in particular, see the sections on Search, Calculation, Formulas and Number formats).</p>
<p dir="auto">There are some known problems (not new to this release) when Elastic tabstops are enabled and you make a <em>large</em> rectangular selection (e.g., many thousands of lines — it also matters how many tabs are on each line, regardless of whether those tabs are included in the selection). The most serious is that when switching <em>from</em> a tab in which the MarkdownPanel plugin shows its side panel <em>to</em> a tab with a large rectangular selection and Elastic tabstops enabled, Notepad++ can freeze for so long that there is no reasonable choice but to force close it. The takeaway for now is that <em><strong>if you choose to enable Elastic tabstops on large files (more than a few thousand lines, particularly if there are also many tabs per line), be sure to keep significant work in all tabs saved.</strong></em></p>
<p dir="auto">I haven’t delayed the release for this, because it is not new to this release… it’s just that I only discovered it yesterday. Of course, when I find a way to mitigate it, I’ll update with a new release. Right now, I do not understand what having a side panel open on a different tab should have to do with it, and I don’t know if it’s specific to the MarkdownPanel plugin. (It doesn’t happen with the built-in Document Map panel.) Because I don’t understand it, I can’t predict when I’ll have a fix.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/89047</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/89047</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Sun, 03 Sep 2023 18:42:56 GMT</pubDate></item><item><title><![CDATA[Reply to [New plugin] Columns++ on Wed, 16 Aug 2023 21:56:45 GMT]]></title><description><![CDATA[<p dir="auto">A minor update from version 0.6-alpha, <a href="https://github.com/Coises/ColumnsPlusPlus/releases/tag/v0.6.1-alpha" rel="nofollow ugc">Columns++ version 0.6.1-alpha</a> uses NPPM_ALLOCATEINDICATOR, introduced in Notepad++ 8.5.6, for allocating the search custom style indicator while remaining compatible with older versions. This release includes a few minor cosmetic fixes, and updated <a href="https://coises.github.io/ColumnsPlusPlus/help.htm#options" rel="nofollow ugc">help for the <strong>Options</strong> dialog</a> describing the custom style indicator options.</p>
<p dir="auto">You can use the <a href="https://github.com/Coises/ColumnsPlusPlus/releases/download/v0.6.1-alpha/ColumnsPlusPlus-0.6.1.exe" rel="nofollow ugc">Quick Installer</a> if you have Notepad++ (either 32-bit, 64-bit or both) installed in the default location(s).</p>
]]></description><link>https://community.notepad-plus-plus.org/post/88657</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88657</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Wed, 16 Aug 2023 21:56:45 GMT</pubDate></item></channel></rss>