coises / columnsplusplus Goto Github PK
View Code? Open in Web Editor NEWColumns++ is a plugin for Notepad++ offering various features for working with text and data arranged in columns.
License: GNU General Public License v3.0
Columns++ is a plugin for Notepad++ offering various features for working with text and data arranged in columns.
License: GNU General Public License v3.0
Not sure if it's just on my end, But I get an error code "An exception occured due to plugin: CollumnPlusPlus.dll" "Exception reason: Scintilla error; status code1"... with version 1.0.5/1.0.6
n++ v8.5.8 Columns++ v0.7.4
If a vertical rectangle of zero width is selected, Search prompts to extend
the rectangle and the Search works.
If several multi-edit carets are set with zero length selections,
no extend prompt occurs and Search stops responding.
If the multi-edit selections are extended manually before Search,
the Search succeeds.
https://community.notepad-plus-plus.org/post/85779
Search uses the behavior that Notepad++ uses when "Preferences|Searching|Replace: Don’t move to the following occurrence" is checked, which is not the default. It should either use the default behavior, respect the Notepad++ preference, or add an option of its own.
Why does Columnsplusplus make NPP communicate online when installed?
Thanks.
https://community.notepad-plus-plus.org/post/85609
One change I would consider making to the Add Numbers and Average Numbers commands is to make it very clear that the command copies the result to the clipboard. Some users will probably be unhappy that you overwrote their clipboard data without telling them that that’s what you were going to do.
https://community.notepad-plus-plus.org/post/85779
When replacing with text that also matches the find string (e.g., "T" replacing "t" in a case-insensitive match), repeatedly pressing Replace just keeps replacing the same text. The search should resume after the found text (or before, if it's a backward search).
This problem was first reported in this Notepad++ community post.
When word wrap is enabled in Notepad++, Elastic tabstops is enabled in Columns++, and a line containing elastic tabstops is edited, display anomalies occur if the number of screen lines required to wrap the line changes between the state after changing the text and the state after recalculating tabstops. This happens because Scintilla caches the layout based on the style and content of the line, but does not take the change in custom tab positions into account.
Downloading the quick installer for version 1.0.1 ("ColumnsPlusPlus-1.0.1.exe") is recognized as a threat by Windows Defender. While I don't necessarily believe that a virus is being distributed with malicious intent, this still at least prevents the the plugin from being installed. See attached the details given by Windows Defender:
The cursor sometimes jumps ahead one or more characters when moving vertically after pressing tab
.
The cursor seems to move based on the visual position it would have if regular tabs were used, which makes me think this is just the native behavior of Notepad++, and it may be difficult to correct in the plugin. But on the other hand, it does move correctly from a preexisting elastic tabstop. It seems to be only when tab
is followed immediately by up arrow
or down arrow
that this movement occurs.
Here is a spliced animation of the expected behavior:
Perhaps the Col number disagreeing with the visual location of the cursor is related? Since the Col number depends on tab size setting, I'd hope it could also depend on the elastic tabstops setting.
And thank you for making this amazing plugin! I've been wanting something like elastic tabstops for years and I just found the term today.
https://community.notepad-plus-plus.org/post/85604
At first I clicked Sort ascending (numeric) assuming that it would base the column on the current cursor position, but nothing happened. After a while I figured out that you first have to column-select part of the data file, and then select the “Sort ascending” option from the plugin menu. Maybe add a popup warning message when the user clicks a menu item but no column-selection was made.
Starting with this file, using a monospaced font with Elastic tabs profile General enabled:
@echo off
findstr /b "o" one.obj | find /c /v ""
findstr /b "o" two.obj | find /c /v ""
findstr /b "o" three.obj | find /c /v ""
findstr /b "o" four.obj | find /c /v ""
deleting the space before the word “find” in the second line, then adding a tab, then pressing down arrow puts the cursor in the wrong position. Moving the cursor back to the space between the vertical bar and the following blank in the third line, then deleting the space causes the first tab to shrink to a single space, ignoring the “Minimum space between elastic columns” setting.
The minimum space problem appears to happen only when monospaced font optimization is in effect.
Using v1.0.3; to be verified that this is not a regression from v1.0.2.
Edit: This happens in v1.0.2 as well. The minimum space problem appears to happen only when monospaced font optimization is active; the wrong position after the first tab is entered happens in both in the specific example given above, but it is unclear exactly what circumstances trigger it in v1.0.3 (which contains a fix for this that works in most, but not all, cases).
AFAICT, when Columns++ 1.1 is installed, this issue occurs on Notepad++ 8.6.4 but not Notepad++ 8.6.6. I haven't tested to see what other versions cause this issue to surface.
EDIT: As noted below, this issue is still present for Notepad++ 8.6.6, even though the example in this original post doesn't exhibit it.
To replicate:
foo
bar
baz
Show All Characters
to make it easier to determine whether Elastic Tabstops is on.CR
and LF
are full-sized.foo
with foo
.CR
and LF
appear squished, indicating that Elastic Tabstops is on.Elastic Tabstops
item even though it is turned on. Clicking this item twice will fix this issue.As shown below, this is on Columns++ v1 (not your newer v1.0.1).
To replicate:
foo
bar
baz blood
dog godly
dude due
\b\w{3}\b
(with Search...
) to select all (the option under the Count
button) the three-char words.Search...
GUI) d
with xy
to attempt to convert all the d
chars in the selected text only into xy
. Sometimes (again, I haven't had the time to diagnose exactly what causes it), this will cause an infinite loop and I will need to hard-shutdown NPP.In any case, the desired result of this process is the following:
foo
bar
baz blood
xyog godly
dude xyue
Here's my debug info (I also have JsonTools, but I disabled it to test if it was involved in this, and it wasn't)
Notepad++ v8.5.8 (64-bit)
Build time : Oct 15 2023 - 21:43:56
Path : C:\Program Files\Notepad++\notepad++.exe
Command Line :
Admin mode : OFF
Local Conf mode : OFF
Cloud Config : OFF
OS Name : Windows 10 Home (64-bit)
OS Version : 22H2
OS Build : 19045.3803
Current ANSI codepage : 1252
Plugins :
ColumnsPlusPlus (1)
ComparePlus (1.1)
CSVLint (0.4.6.5)
EnhanceAnyLexer (1.1.3)
HexEditor (0.9.12)
HTMLTag (1.4.1)
HugeFiles (0.4.1)
mimeTools (2.9)
NavigateTo (2.6.5.1)
NppConverter (4.5)
NppExport (0.4)
NppLspClient (0.0.13)
PythonScript (3.0.16)
QuickText (0.2.5.1)
XMLTools (3.1.1.13)
Like this:
https://community.notepad-plus-plus.org/post/90069
Essentially, I just can't find a suitable replacement for this function from the old "Linesort" plugin after I switched to Notepad++ x64. I have to keep old Notepad++ x32 just because of this plugin...
Really happy with some of the features of this plugin so far, and interested to see what I can do with it.
I think it's cool that I can add Columns++ to the main search bar. Definitely simplifies use of the plugin. But when I create a new instance, Columns++ is not on the search bar.
AFAIK that's the only bug with multi-instance/multi-view.
Even if Elastic tabstops are enabled, they are not applied if a fresh instance of Npp is started. They are only applied after disabling and re-enabling it. It also does not work if "Automatically enable this profile when opening *.tsv files." is enabled in the profile settings and a I open a tsv file smaller than 1 MB with 264 lines (see screenshot).
https://community.notepad-plus-plus.org/post/85604
Sounds like an interesting plug-in, but tbh it’s unclear to me how to use it. I assume it only works with tab-separated or fixed width files, so not comma or semicolon separated data?
[...]
It looks promising, but I think the github main page should make clear which type of data files are supported and maybe add a screenshot explaining some of the functions.
https://community.notepad-plus-plus.org/post/85605
https://community.notepad-plus-plus.org/post/85613
When doing forward replaces one-by-one, text will move into or out of the unseen rectangular selection if the lengths of the found and replacement text differ. This creates unexpected results, compounded by the invisibility of the selection.
When I upgrade Columns++ from 0.7 to 0.71-alpha, under n++ 8.5.7 Windows 7, I get the message
The program can't start because api-ms-win-core-realtime-l1-1-1.dll is missing from your computer. Try reinstalling the program to fix this problem.
Googling Microsoft suggests that this dll was new to Windows 10. I see that the change lines for Column++ include the use of
QueryInterruptTime
which is listed by Microsoft as included in that dll. But I also see some coders referencing use of QueryInterruptTime under Windows 7.
I know n++ isn't formally supporting Windows 7, but is Columns++ moving away from it now? If I have to freeze, I am already very happy with Columns++, but I suspect you have more great code in mind :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.