mathieuu / csvedit Goto Github PK
View Code? Open in Web Editor NEWCSV Editor plugin for Eclipse
CSV Editor plugin for Eclipse
Using default settings of CsvEdit and the following content of monsters.csv
:
name,hp,offense,defense,accuracy,evade,
Slime,2,1,1,1,1,
The individual fields (after the first) are each rendered with the entire line Slime,2,1,1,1,1,
instead of only the value for the field.
See for demonstration of error behavior:
Eclipse IDE for C/C++ Developers (includes Incubating components)
Version: 2020-09 (4.17.0)
Build id: 20200910-1200
jdk:
org.eclipse.justj.openjdk.hotspot.jre.full.macosx.x86_64_14.0.2.v20200815-0932
os: macOS 10.15.5
In the workspace log file .metadata/.log
there are exceptions for csvedit
:
!ENTRY org.eclipse.ui 4 0 2020-12-23 16:49:16.781
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.IllegalArgumentException: Index out of bounds
at org.eclipse.swt.SWT.error(SWT.java:4850)
at org.eclipse.swt.SWT.error(SWT.java:4784)
at org.eclipse.swt.SWT.error(SWT.java:4755)
at org.eclipse.swt.widgets.Widget.error(Widget.java:810)
at org.eclipse.swt.widgets.Menu.createItem(Menu.java:352)
at org.eclipse.swt.widgets.MenuItem.<init>(MenuItem.java:128)
at org.fhsolution.eclipse.plugins.csvedit.editors.MultiPageCSVEditor.addMenuItemToColumn(MultiPageCSVEditor.java:651)
at org.fhsolution.eclipse.plugins.csvedit.editors.MultiPageCSVEditor.access$4(MultiPageCSVEditor.java:648)
at org.fhsolution.eclipse.plugins.csvedit.editors.MultiPageCSVEditor$10.handleEvent(MultiPageCSVEditor.java:586)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4385)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1512)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1535)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1520)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1324)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3789)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1157)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:153)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
!ENTRY org.eclipse.ui 4 0 2020-12-23 16:49:16.828
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.ClassCastException: class org.eclipse.jface.viewers.WrappedViewerLabelProvider cannot be cast to class org.fhsolution.eclipse.plugins.csvedit.providers.CSVLabelProvider (org.eclipse.jface.viewers.WrappedViewerLabelProvider is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @2596d7f4; org.fhsolution.eclipse.plugins.csvedit.providers.CSVLabelProvider is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @466d16ca)
at org.fhsolution.eclipse.plugins.csvedit.editors.MultiPageCSVEditor$6.keyReleased(MultiPageCSVEditor.java:312)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:178)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4385)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1512)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1535)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1520)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1549)
at org.eclipse.swt.widgets.Text.sendKeyEvent(Text.java:1784)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1545)
at org.eclipse.swt.widgets.Text.sendKeyEvent(Text.java:1749)
at org.eclipse.swt.widgets.Control.keyUp(Control.java:2480)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:6020)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:235)
at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:2150)
at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2401)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:6136)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:5386)
at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5522)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:117)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3786)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1157)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:153)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
dsas
Currently there is only one character allowed to seperate columns. Unfortunatly you can't use \t to use a tabulator as a seperator
After installing the last version of the Eclipse I lost the possibility to install the CSV editor. I'm not sure is this Eclipse itself or conflict with DBeaver IDE 21.1.0.202106012023
I have a mix of CSV files (some with comma, some with semi colon).
It would be great if there was a per-file and per-project preferences where I can specify the defaults.
Right now, I can just do this globally.
Related to #7
Using Eclipse 2021-06 with this plugin, I frequently get the following error in the log (which references MultiPageCSVEditor
):
!ENTRY org.eclipse.ui.ide 4 4 2021-07-09 17:54:50.641
!MESSAGE Not properly disposed SWT resource
!STACK 0
java.lang.Error: SWT Resource was not properly disposed
at org.eclipse.swt.graphics.Resource.initNonDisposeTracking(Resource.java:172)
at org.eclipse.swt.graphics.Resource.<init>(Resource.java:120)
at org.eclipse.swt.graphics.TextLayout.<init>(TextLayout.java:176)
at org.eclipse.jface.viewers.StyledCellLabelProvider.getSharedTextLayout(StyledCellLabelProvider.java:207)
at org.eclipse.jface.viewers.StyledCellLabelProvider.measure(StyledCellLabelProvider.java:276)
at org.eclipse.jface.viewers.OwnerDrawLabelProvider$OwnerDrawListener.handleEvent(OwnerDrawLabelProvider.java:59)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4209)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1043)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1067)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
at org.eclipse.swt.widgets.Table.sendMeasureItemEvent(Table.java:3648)
at org.eclipse.swt.widgets.Table.CDDS_SUBITEMPREPAINT(Table.java:995)
at org.eclipse.swt.widgets.Table.wmNotifyChild(Table.java:6735)
at org.eclipse.swt.widgets.Control.wmNotify(Control.java:5814)
at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:1954)
at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:5382)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4816)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4938)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(Native Method)
at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:588)
at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:454)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4861)
at org.eclipse.swt.widgets.Table.windowProc(Table.java:5813)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4930)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(Native Method)
at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:588)
at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:454)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4861)
at org.eclipse.swt.widgets.Table.windowProc(Table.java:5813)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4938)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(Native Method)
at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:588)
at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:454)
at org.eclipse.swt.widgets.Table.WM_SETREDRAW(Table.java:6210)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4835)
at org.eclipse.swt.widgets.Table.windowProc(Table.java:5813)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4930)
at org.eclipse.swt.internal.win32.OS.SendMessage(Native Method)
at org.eclipse.swt.widgets.Table.setRedraw(Table.java:4737)
at org.eclipse.jface.viewers.AbstractTableViewer.inputChanged(AbstractTableViewer.java:574)
at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:282)
at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1634)
at org.fhsolution.eclipse.plugins.csvedit.editors.MultiPageCSVEditor.updateTableFromTextEditor(MultiPageCSVEditor.java:595)
at org.fhsolution.eclipse.plugins.csvedit.editors.MultiPageCSVEditor.access$1(MultiPageCSVEditor.java:480)
at org.fhsolution.eclipse.plugins.csvedit.editors.MultiPageCSVEditor$7.run(MultiPageCSVEditor.java:456)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4001)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3629)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1157)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:654)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1462)
I could not pinpoint it to any specific action I perform with the CSV editor, though. I also did not check if this also occurs in older Eclipse versions or whether it's a new regression that only affects current versions.
Frederic Henri is the original author and should respond to form sent from
http://www.fhsolution.com/contact
The update site on Google Code is broken; installation via Eclipse Market Place doesn't work anymore and the links on the project page also don't work anymore.
Please disable any unstable features and create a stable 1.2 release.
Is this still being maintained? The update site does not seem to be available.
How is this project compared to https://sourceforge.net/projects/csveditor/?
latest commit there 2009
There is old marketplace entry https://marketplace.eclipse.org/content/csv-edit that cannot be used.
and the last comment there
Use https: //raw.githubusercontent.com/SegFaultError/CsvEdit/master/csvedit.update/
is actually to use https://github.com/Mathieuu/CsvEdit version
(try open https://github.com/SegFaultError/CsvEdit )
Currently marketplace can automatically propose plugin for file extension (e.g. .csv
) , that would make this plugin discovered by many.
@Mathieuu please enable GitHub releases to put offline update site archive there
There should be some new widget in Eclipse e4 for Table.
In broader sense this issue is about rewrite.
We are using Eclipse 2021-06. No matter what column I sort by, the rows don't seem to follow any logical order (neither lexicographic nor numeric).
This, for example, is not sorted (but still different from when I turn off sorting entirely for that column):
Looking at the code with current dependencies, the ViewerSorter
that CSVTableSorter
extends is marked as deprecated. The method TableViewer.setSorter()
is deprecated as well. So perhaps the table API has changed and is not using the current sorter implementation anymore. According to the documentation the replacement is setComparator(ViewerComparator)
.
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.