[New Plugin] CSV Lint
-
@Terry-R Done. It still crashes. Here are my specifics:
- I uninstalled all other plugins
- I reinstalled CSV Lint
- I use dark mode in NP++
- Select CSVLint in the Language menu
- Both dark modes in CSV Lint (Neon and Pastel) crash NP++
- I have multiple files/tabs open in NP++.
- Tabs are configured for multi-line, no X/close button on tabs, d-c to close
- The crash happens with these steps:
8a) Launch NP++
8b) a CSV is active when NP++ launches
8c) Select a non-CSV tab
8d) Reselect the CSV tab that was open when NP++ launched
8e) NP++ crashes with no errors or popups - If I leave None (Normal text) selected in the Language menu, NP++ does not crash, no matter how many times I select the CSV tab
NP++ Debug info:
Notepad++ v8.5 (32-bit)
Build time : Mar 6 2023 - 02:15:26
Path : C:\Program Files (x86)\Notepad++\notepad++.exe
Command Line :
Admin mode : OFF
Local Conf mode : OFF
Cloud Config : OFF
OS Name : Windows 10 Enterprise (64-bit)
OS Version : 22H2
OS Build : 19045.2604
Current ANSI codepage : 1252
Plugins :
CSVLint (0.4.6.2) -
@PeterJones
Thank you for the helpful reply. That’s what I’ve been doing. The next step to allow me to edit the CSV file in a text editor rather than a spreadsheet type program is to use the ‘Reformat’ and ‘Align vertically’ options in CSV-lint so I can insert some extra delimiters in some rows and then use Notepad++'s column editing features to remove columns. However at that point all the quotes get stripped out of the file, and the options to replace them don’t match the format of these files. I’ll ask on the Issues or Feature Requests page that @Lycan-Thrope highlighted. I had searched for where to ask questions, sorry I didn’t find the right place. I thought that the feature I was looking for might be useful to other people too, and were in the scope of CSV-lint and Notepad++.
BW,
A -
@Thomas-McArthur Crash update.
With CSV Lint installed with colorization enabled, if I just open a CSV, then close it, then open another, the colorization works normally, and NP++ does not crash. I can even D&D multiple CSV’s into NP++, and each one opens (in color) without crashing. But as soon as I activate a CSV tab from any other tab, NP++ crashes.
-
@Thomas-McArthur ,
Just on the off chance that this might have something to do with the issue you’re having, why, if you have a 64 bit system, are you using a 32 bit version of NPP?
Perhaps, there is a problem dealing with the size of page switching memory between the two?
I have no trouble switching my .csv files tab to tab, so at this point, that is about the only thing I see that might be causing your problem. Either that or you have memory or drive corruption if it’s swapping on disk? Just a thought. Try doing the same thing with the 64 bit version of NPP and see if that doesn’t fix the problem. -
@Pierre-de-la-Verre said in [New Plugin] CSV Lint:
Hi
I just started with this plugin and have a problem …
…Solved here: https://github.com/BdR76/CSVLint/issues/58#issuecomment-1496656520
Short story: Use “Reformat” only with “Align vertically / Re-apply vertically: none” - that’s all
-
@Lycan-Thrope I use the 32bit version because the plugin support for the 64bit version was extremely limited. Plugins that I used daily weren’t available in 64bit, so I stayed with 32bit. Memory is not an issue - I am using less than half of the 32GB that is installed. I will try the 64bit again to check out the plugin support.
-
@Thomas-McArthur said in [New Plugin] CSV Lint:
Plugins that I used daily weren’t available in 64bit
It’s getting better - are there still some 32-bit only plugins that you can’t part with?
Cheers.
-
@Thomas-McArthur said in [New Plugin] CSV Lint:
Memory is not an issue - I am using less than half of the 32GB that is installed.
I’m curious what this means.
-
@Thomas-McArthur and @Lycan-Thrope about the issue of CSV Lint and Notepad++ sometimes crashing when switching between different CSV tabs.
I think this is the same as issue #32, and recently I was able to reproduce a similar situation. That situation was due to potentially using an out-of-sync reference to the ScintillaGateWay and I’ve fixed it in this commit
Can you verify that it doesn’t crash anymore by using the latest development build? The syntax highlighting colors sometimes still don’t refresh immediately, only when you focus the file (click mouse somewhere in csv text), but at least it shouldn’t crash Notepad++ anywmore.
-
@Bas-de-Reuver
I used to have problems with multi-instance/multi-view in JsonTools (I use aneditor
singleton global variable to interface with Scintilla), and what worked for me was to make it so that whenever the plugin receives anNPPN_BUFFERACTIVATED
notification, the globaleditor
is reassigned witheditor = new ScintillaGateway(PluginBase.GetCurrentScintilla());
.In principle this approach should never fail, because that notification will always fire whenever the user toggles between instances/views. If one of the gurus can think of a reason why I’m wrong, I’d love to hear it.
Granted, you’d have to refactor all your existing code to remove all those calls, but it might simplify matters for you.
-
-
-
@Bas-de-Reuver I tried the 64bit development build, but I get an error that it’s not compatible with v8.5.2. Are there dev builds of NP++? I don’t see any in the downloads page.
However, using your dev build may not be unnecessary because I can reproduce the problem in the non-dev 64bit version. The crash only happens when I have a CSV file that is too wide to fit on the page, so I turn off word wrap. With word wrap enabled, I can switch between CSV and non-CSV tabs fine. But when I enable word wrap in my 380-character wide CSV file, NP++ crashes when switching to that tab (and colorization is enabled).
-
@Thomas-McArthur
The only way I know of to get a dev build of Notepad++ is to build it from source using Visual Studio.I’ve tried CSVLint on my own 8.5.2 dev build and I can toggle word wrap on and off even with 400+ character columns on a 20MB file with no problems.
In my experience, it’s pretty rare for a clean build of Notepad++ to outright crash, so consider checking if any of your other plugins could be causing this.
-
@Bas-de-Reuver v0.4.6.3 still crashes NP++.
I also tried downgrading NP++ to v8.4.5 and v8.5, and CSV Lint v0.4.6.3 still crashes those versions.
-
@Thomas-McArthur That does sound like an serious issue, however I can’t reproduce what you’re describing.
I generated a test file with many columns (using generate_data99.py script) and then turning Word wrap on and off while switching between csv/non-csv tabs.
Maybe it has to do with the file encoding, does it also still happen when you first convert the file to a different encoding like
ANSI
orUTF8
and then save, and then try again? Or possibly it has to do with thesession.xml
file, does it still happen when you delete/rename your recent%userprofile%\AppData\Roaming\Notepad++\session.xml
file and then re-open Notepad++? If it still happens, could you send me an e-mail with your? > Debug info
content? -
The CSV Lint plug-in was updated to v0.4.6.4 yesterday. The biggest new features are:
- Syntax highlighting improvement for Windows set to non-western codepage (Chinese, Korean etc.)
- Skip Lines / Comment Character for comment lines
- Dialogs have Dark mode support (preliminary)
- Improved support for quoted string
- Allow user to delete column
- Split on character, new option split on Nth occurrence
- Various bug fixes
The skiplines and comment lines feature:
And improved support for syntax highlighting when set to non-western codepage
I made the release, despite some reporting the new version crashing, because I wasn’t able to reproduce the issue (also see here and here).
If anyone can reproduce the plugin crashing on the latest Notepad++ version, or a possible cause, please let me know.
-
@Bas-de-Reuver NP++ v8.5.2 64bit with CSV Lint v0.4.6.3 installed does not show any plugin updates.
-
@Thomas-McArthur said in [New Plugin] CSV Lint:
NP++ v8.5.2 64bit with CSV Lint v0.4.6.3 installed does not show any plugin updates.
Of course it doesn’t. Notepad++'s plugin list is only updated on a new release of Notepad++, and Notepad++ v8.5.2 came out on April 6, essentially a month before CSV Lint’s 0.4.6.4 update on May 2. If a plugin is released between Notepad++ versions and you want that updated plugin, you have to manually update the plugin.
-
@Bas-de-Reuver I found the cause of the crash: it’s the Multi-Line setting for the Tab Bar. When that is enabled, and the tabs wrap to 2+ lines, activating a CSV tab a 2nd time crashes NP++.
- Enable multi-line, and only have one line of tabs - no crash.
- Un-maximize the window, drag it small enough to create 2+ rows of tabs - activating a CSV tab a 2nd time crashes NP++.
This crash even happens on a fresh download of NP++ v8.5.2 portable.
-
@Thomas-McArthur, I can’t make it crash for me, but it could simply be I don’t understand your instructions.
-
Does “Multi-Line” mean that long lines are wrapped, i.e. the option at
View > Word wrap
has a ✅ beside it? -
Exactly how many different files are open at the same time? Is there a CSV file, and one more file of a different type? Or is the same CSV file open in multiple views, i.e., did you go to
View > Move/Clone Current Document
and then clickMove/Clone to Other View
?
-
-
@rdipardo I think this is checked:
Settings / General / Tab Bar / Multi-line
Then make sure the window is narrow enough where the Tab bar has more than one line.
edit I can not replicate in version 0.4.6.4 64-bit