Changelog
Unreleased
Added
Changed
Removed
Fixed
252.56.0 - Nov 09, 2026
Added
- Added drag-and-drop for multiple selected rows or columns, including non-adjacent selections, moving them as one ordered block with Undo/Redo and preserved column widths
Changed
- Table editor and editable diff cells now require a double-click to start editing; single-click selects a cell and dragging selects a range of rows and columns
- Simplified table-header dragging and rendering, reducing allocations and unnecessary column moves while preserving frozen-column behavior and row-number header styling
- Reduced horizontal cell padding while keeping focused and unfocused cell content aligned
Fixed
- Fixed an exception when opening diffs for documents without an assigned file type (#1144)
- Fixed CSV/TSV/PSV editor-provider timeouts caused by waiting for unnecessary PSI read access while opening files (#1143)
252.55.0 - Nov 07, 2026
Added
- Added a “CSV Table” view to the IDE’s diff viewer that compares CSV/TSV/PSV records side by side, highlights changed cells, and supports editing cells and applying changes to either writable side with Undo/Redo (#255)
- Added a resizable row-number column in the table editor, with the chosen width saved per file and existing automatic sizing preserved until manually resized
Changed
- Unified column reordering and quoting/unquoting behind shared document-editing operations for the text and table editors
- Reorganized shared table models, editing/search support, and Swing rendering into neutral packages, keeping file-editor and diff-specific adapters separate
- Simplified tabular formatting and unified table context-menu creation without changing editor behavior
- Replaced scheduled-for-removal IntelliJ Platform APIs for table-editor action data and CSV file references while retaining support for 2025.2 and newer
- Improved README clarity by shortening table-editor documentation and focusing on key behavior
Removed
- Removed duplicate searching and commenting on existing GitHub issues when submitting error reports
- Removed unused helpers, obsolete formatter metadata, inactive settings notifications, and production APIs used only by tests
Fixed
- Fixed text-editor column shifts to preserve final line breaks and quote comment-like values moved into the first column
- Fixed IDE read-access errors when hovering over the table editor after PSI cache invalidation (#1140)
- Fixed table-editor flickering and misplaced content at fractional display scaling by refreshing stale table and header snapshots after scrolling or resizing
- Fixed GitHub error reporting compatibility with IntelliJ Platform 2026.3 by using public authentication APIs while retaining support for 2025.2 and newer
- Fixed IDE startup freezes when opening CSV files by loading saved separator and escape settings in the background before constructing the text or table editor
- Fixed IDE startup freezes during CSV settings cleanup by preventing slow filesystem checks from blocking syntax highlighting and IDE write actions
- Fixed plugin-verification failures caused by calling an override-only IntelliJ Platform API during synchronous table-editor creation
252.54.0 - Nov 03, 2026
Added
- Added the general setting “Hide editors of other plugins”, disabled by default, which keeps the CSV text and table editors available and first when other plugins, such as Big Data Tools, hide all other editors of CSV/TSV files (#937)
Changed
- Modernized the plugin icon shown in the IDE’s plugin list and on JetBrains Marketplace, with light and dark theme variants
- The text editor’s field information (value, header, and column number) is now shown on hover and via Quick Documentation (Ctrl+Q / F1), computed only for the requested value
- Tab-separator highlighting depends only on the “Highlight tab separator” setting and no longer requires “Show info balloon”
Removed
Fixed
- Quoted values keep their quotes when edited or replaced in the table editor, and leaving a cell unchanged no longer rewrites it (#209)
- Computing file icons no longer loads the syntax tree of non-CSV files, which caused “Outdated stub in index” errors in other languages such as PHP (#1124)
- Fixed IDE freezes and high memory use when editing large CSV/TSV/PSV files, caused by one highlight per field for the info balloon and per tab separator
252.53.0 - Oct 30, 2026
Added
- Added padded cells, a flat header, and rounded scrollbars to the Swing table editor, following the IDE’s light or dark appearance
- Added Find/Replace in the table editor, with IDE shortcuts, match navigation, case/word/regex options, and Replace All (#430)
- Added per-file frozen columns in the table editor, with header context-menu actions to freeze through the selection or unfreeze all columns (#195, #319)
- Added persistent column-header and row-number dragging and context-menu actions for moving selected rows and columns in the table editor (#391, #486)
- Added CSV and spreadsheet paste in the table editor, starting at the focused cell, overwriting existing values, and adding rows or columns only when needed (#77)
- Added a text-editor setting to enable or disable active-column highlighting and adjust the maximum number of highlighted rows
- Added configurable table-editor key bindings through the IDE’s Keymap settings, with changes applied immediately in open table editors (#836)
- Added text- and table-editor toggle buttons to the right side of the editor tab bar, making the views easier to find than the bottom tabs; the switch actions are also available via Find Action and Keymap
- Added selected-field sync when switching between the text and table editor: the table selects the cell at the text caret, and the caret moves to the focused table cell; it can be disabled with the new general setting “Keep selected field when switching editors”
Changed
- Adopted IDE-based
VVV.X.x versioning, starting at 252.53.0 after 52 historical major releases
- Raised the minimum supported IntelliJ Platform version to 2025.2, following the official IDE release cycle with a one-year delay
- Updated Gradle, IntelliJ Platform build tooling, parser/lexer generation, test dependencies, and CI actions while retaining Java 21 compatibility
- Made spellchecker registration optional and updated search and settings integration for IntelliJ Platform 2025.2 and newer
- Improved automatic column sizing in the table editor to account for rendered cell padding and column headers
- Copying table selections now provides properly quoted CSV using the file’s separator and escape settings, while preserving HTML table copying
- Replaced table-editor context-menu icons with a consistent SVG set, including move and freeze/unfreeze actions, with light/dark theme variants and HiDPI scaling
- Modernized CSV, TSV, and PSV file-type icons while retaining their document-and-table design, using distinct violet, slate-blue, and teal colors; replaced field, header, and transparent placeholder icons with SVGs
Fixed
- Avoid prohibited IDE read-action entry during table/header painting by reusing existing read access or deferring unlocked paints without caching CSV data (#1116)
- Fixed active-column highlighting interfering with Find/Replace by clearing column highlights while search is open (#371)
- Fixed table-editor flickering and rendering glitches: comment rows now edit, select, and repaint across their full span, and cells no longer shift vertically or show stray scrollbars when hovering or searching
4.6.0 - Oct 18, 2026
Fixed
- Fixed table-editor row and column insertion shortcuts placing new entries at the first or last position instead of the current selection
- Fixed queued table-editor row and column changes applying column edits at stale document offsets
- Fixed CSV settings notification links failing to resolve the matching settings page on newer IntelliJ Platform versions (#1102)
Changed
- Streamlined
CsvTableModelBase by removing redundant asynchronous PSI resolution, eliminating side effects during table model reads, and ignoring unrelated project PSI tree changes
- Optimized
CsvTableModelSwing update coalescing using IntelliJ’s Alarm on the EDT, eliminating background thread hopping and duplicate table changed event firings
- Refactored
CsvPsiTreeUpdater to avoid nested read/write actions, eliminated Swing dependencies from core PSI utilities, and improved thread safety and batching during table edits
4.5.0 - Oct 10, 2026
Fixed
- Fixed read access violations when editing a table cell on the EDT (#1087, #1090, #1093, #1095)
- Fixed read access violations when the table editor paints comment rows by caching comment-row information (#1092)
- Prevented concurrent CSV spell-checking calls from triggering Grazie initialization races (#1094)
- Guarded CSV PSI updater preparation and related table/intention paths with read actions to prevent EDT read-access violations; added integration regression coverage
Changed
- Improved intentions and inspection fixes to apply all edits as a single document change
4.4.1 - Oct 04, 2026
Fixed
- Fixed a
PluginException during action registration on newer IntelliJ Platform versions by removing invalid keep-content attributes from the CSV action groups (#1084, #1085)
4.4.0 - Oct 03, 2026
Changed
- Replaced internal
StructureViewBuilder.getProvider() usage with the public TextEditorProvider.getStructureViewBuilder(...) API
Fixed
- Isolated GitHub request progress indicators from the report task to prevent nested progress lifecycle errors (#1080)
- Batched table column additions and deletions into a single document edit to avoid UI freezes from repeated change notifications (#1079)
- Quoted automated report titles in GitHub duplicate searches to prevent invalid query syntax (#1078)
- Prevented stale CSV PSI instances from being retained or applied after a table editor is disposed or its file provider changes (#1063, #1064)
- Fixed
java.lang.Throwable: Cannot find element among its parent' children in CsvValidationInspection when multiple CSV files are present in a directory (#999, #1066)
- Fixed read access violations when the table editor refreshes its model on the EDT (#1067)
- Fixed read access violations when the table editor paints comment rows and reads cell values on the EDT (#1060)
- Avoided file-size probing for non-local CSV files during editor-provider acceptance checks (#1076)
- Avoided eager CSV file attribute state initialization during project startup (#958)
- Opened CSV settings links through configurable predicates to avoid premature searchable-options lookup (#983)
- Fixed focused editable cells in the table editor to use the table’s foreground and background colors
4.3.1 - Jun 26, 2026
Fixed
- Fixed
java.lang.IllegalStateException: This method is forbidden on EDT because it does not pump the event queue when opening the table editor #1050
- Fixed
RuntimeExceptionWithAttachments: Access is allowed from Event Dispatch Thread (EDT) only in CsvPlugin.openLink #1008
- Optimized
CsvFileEditorProvider.accept to avoid TimeoutCancellationException by removing redundant service access. #1033
4.3.0 - Jun 21, 2026
Changed
- replaced deprecated function ReadAction.compute(ThrowableComputable)
- replaced internal function PluginManagerCore.getPlugin(PluginId)
- branch code for retrieving plugin info for legacy vs EAP version
Fixed
- Fixed
NullPointerException when plugin descriptor is not available during startup
- Fixed
NoClassDefFoundError in CsvEditorSettings
- Fixed
java.lang.Throwable: ... Class initialization must not depend on services by removing service access from class initializers and constructors
- Fixed a
PluginException (caused by java.lang.IllegalArgumentException) that occurred during early plugin initialization
- PluginException: Invalid PSI Element CsvFile when file is invalidated during annotation, intention actions, or inspection fixes #964
- IncorrectOperationException: parent CsvTableEditorSwing already disposed when async PsiTreeChangeListener registration completes #962
- Modified
CsvPlugin.openLink to use executeOnPooledThread for setting dialogs #953
- Modified
CsvEditorSettings.java to ensure all getter methods access the internal OptionSet directly instead of calling getState() #954
- GithubStatusCodeException: 422 Unprocessable Entity - Validation Failed during issue submission #920
4.2.0 - Jan 26, 2026
Fixed
- Compatibility verification issues
- Invalid PSI Element - class CsvFile because different providers
- PluginException - Element class CsvFile - file is invalid #923
- NullPointerException #933
- PluginException - Cannot check provider net.seesharpsoft.intellij.plugins.csv.editor.table.CsvTableEditorProvider #919
- ExceptionInInitializerError #916
- GithubStatusCodeException - 422 Unprocessable Entity - Validation Failed [Search; q]invalid: null #920
- com.intellij.diagnostic.Freeze #921
- Correct short name format
- Slow operations are prohibited on EDT #936
- This method is forbidden on EDT because it does not pump the event queue #940
- Argument for @NotNull parameter ‘document’ of PsiDocumentManagerImpl.getPsiFile must not be null #941
4.1.0 - Sep 07, 2025
Fixed
- Access is allowed with explicit read lock #898 #901
- Rework CSV file detection for FileEditorProvider #904
- Legacy configurable id calculation mode from localizable name will be used for configurable class CsvCodeStyleSettingsProvider. Please override getConfigurableId or getLanguage. #909
Changed
- Project structure refactoring to avoid circular dependencies
4.0.2 - Dec 29, 2024
Added
- Localization support for actions
Fixed
- Usage of correct resource bundle
- NotNull parameter ‘parent’ of getFirstChildOfType #886
4.0.1 - Dec 08, 2024
Added
Changed
- Upgrade to gradle 8.10
- Improve check for CsvFile
- Code cleanup
Fixed
- Read access is allowed from inside read-action only #878
- Failsafe acceptCsvFile check #882
- Use ProjectActivity instead of StartupActivity
4.0.0 - Oct 07, 2024
Added
- Tabularize formatting is back!
Changed
- Text editor is shown first by default
3.4.0 - Aug 10, 2024
Fixed
- ActionUpdateThread.OLD_EDT is deprecated and going to be removed soon
- Cannot create class CsvEditorSettingsProvider
3.3.0 - Feb 24, 2024
Fixed
- StringIndexOutOfBoundsException: begin 0, end -1, length 5993 #801
- Unhandled exception in [CoroutineName(PsiAwareFileEditorManagerImpl)] #666
3.2.3 - Nov 05, 2023
Added
- Prevent github issue submitter spam
Fixed
- Improve issue duplicate finder
3.2.2 - Oct 14, 2023
Fixed
- NullPointerException: Cannot invoke “getSelectedColumn()” because “tblEditor” is null #519
- IllegalStateException: Attempt to modify PSI for non-committed Document! #516
- StringIndexOutOfBoundsException: begin 0, end -1, length 5995 #511
- ArrayIndexOutOfBoundsException: 12 >= 12 #482
3.2.1 - Jul 08, 2023
Added
- add support for upcoming IntelliJ version 2023.2.*
Fixed
3.2.0 - May 12, 2023
Fixed
- Argument for @NotNull parameter ‘tableEditor’ of CsvTableActions.adjustColumnWidths must not be null #431
- NullPointerException #429
- Comment handling breaking in table editor #451
Added
- prevent error report flooding
3.1.0 - Feb 27, 2023
Fixed
- NullPointerException: Cannot invoke “URL.toExternalForm()” because “location” is null #424
- java.lang.ArrayIndexOutOfBoundsException: 0 >= 0 #418
3.0.3 - Feb 10, 2023
Fixed
- Argument for @NotNull parameter ‘anchor’ of CsvPsiTreeUpdater.appendField must not be null #392
- ArrayIndexOutOfBoundsException: 8 >= 8 #396
- catch unreasonable exception when retrieving service #410
- NullPointerException: Cannot invoke “CsvTableEditor.getActions()” because the return value of “CsvTableEditorActions.getTableEditor(AnActionEvent)” is null #394
Added
- 358 ms to call on EDT CsvChangeSeparatorActionGroup#update@EditorPopup #401
3.0.2 - Dec 15, 2022
Fixed
- first extension sanity check
3.0.1 - Nov 12, 2022
Fixed
- image in plugin description
- plugin update restart
3.0.0 - Nov 09, 2022
MAJOR UPDATE VERSION 3
- renamed plugin to ‘CSV Editor’
- fixed all compatibility issues with respect to IntelliJ platform 2022.*
- rework language lexer
- simplification of formatter & remove ‘Tabularize’ formatting
- remove slow & (useless) structure view
- adjusted setting dialogs
- integrated GitHub issue reporter in case plugin raises an exception
- removed TSV & PSV language, only CSV language but different filetypes
- use PSI Tree as data source
- integrate with native IntelliJ IDE document change handler (e.g. for undo/redo)
- simplify UI/UX & remove header toolbar
- support showing and editing comment lines
- auto adjust row width
- manually adjust row height via dragging
- always use first line for header/column text
2.21.0 - Oct 26, 2022
Changed
- limit calculation and buffering of CSV column info data
Fixed
2.20.0 - Oct 24, 2022
Fixed
- Cannot load from object array because “data” is null #335 #337
- Empty comment indicator
Added
- Support fast lexing for default comments
- Simplify & unify both lexers
2.19.0 - Jul 24, 2022
Added
- Ability to auto-reload changed files #316
Fixed
- NullPointerException when applying editor state #327
- additional disposed checks
2.18.2 - Dec 14, 2021
Fixed
- java.lang.NullPointerException #320
- Exception when Show info balloon is not selected #318
2.18.1 - Nov 04, 2021
Fixed
- set require-restart attribute
Added
- Ability to open urls from IntelliJ CSV view #312
2.18.0 - Oct 21, 2021
NOTE: Minimum version requirement changed to v2020.1 and newer
Fixed
- Show diff opens an empty window #306
2.17.1 - Jun 30, 2021
Fixed
- Plugin not showing column at caret Ctr+F1 #300
- Past few versions of this plugin don’t show colors #298
2.17.0 - Jun 21, 2021
Added
-
Plugin name ### Changed
-
CSV
Fixed
- Null pointer when using csv rendering in Markdown documentation #292
- NullPointerException on startup #295
2.16.4 - May 27, 2021
Fixed
- fully prevent calculateDistributedColumnWidth on erroneous CSV #283
- Memory leak of PsiFile #284
2.16.3 - Apr 24, 2021
Fixed
- Exception in CSV plugin when using with remote SSH host #279
2.16.2 - Apr 21, 2021
Fixed
- Editor complaining about crashes on PyCharm 2021.1 #274
2.16.1 - Apr 20, 2021
Fixed
- keep existing & correct entries in CSV attributes map
2.16.0 - Apr 18, 2021
Added
- Ability to split on ASCII separator character \x1e #267
- “General” settings group
Fixed
- Lower annotator severity to not appear as problem
- Prevent non CSV entries in CSV attributes map #268
2.15.1 - Mar 25, 2021
Fixed
- Rainbow Values no longer works #265
2.15.0 - Mar 23, 2021
Added
- Default value separator #259
Fixed
- Removal of deprecated function usage
2.14.4 - Feb 14, 2021
Added
- Auto detect value separator (by count)
2.14.3 - Oct 10, 2020
Added
- Added default “Header row fixed” setting
- Support “Comment with line comment” #247
Fixed
- “Value coloring” change not applied to open files
2.14.2 - Sep 17, 2020
Fixed
- Settings reset every update #245
- Removing comment indicator causes parsing errors
2.14.1 - Aug 14, 2020
Fixed
- Performance for indexing large CSV files #239
2.14.0 - Aug 04, 2020
Added
2.13.0 - Jul 20, 2020
Added
- Support for customizable line comments (‘#’ indicates a line comment per default)
2.12.0 - Jun 14, 2020
Added
- flexible settings format for value separator & escape character
Fixed
- no accessors for class CsvValueSeparator #221
- Default Value Separator get frequently reset to comma, changes only applied after restart #222
2.11.1 - May 9, 2020
Fixed
- Memory issues and freezes after updating #204
2.11.0 - May 8, 2020
Added
- Adding custom separator #177
2.10.0 - Apr 19, 2020
Fixed
- resolve CSV/TSV file type conflict for versions 2020.* with Database plugin
2.9.3 - Mar 08, 2020
Added
- option to keep trailing spaces for CSV/TSV/PSV files
Fixed
- consider escape char inside quotes as escaped text
2.9.2 - Feb 24, 2020
Fixed
- Backslash in text is considered a special character #184
- NullPointerException thrown when trying to view CSV as table #185
2.9.1 - Feb 15, 2020
Fixed
- update failed for AnAction #181
- selection indicator for default separator action
2.9.0 - Feb 07, 2020
Added
2.8.2 - Jan 22, 2020
Fixed
- horizontal scrolling within table editor #169
2.8.1 - Nov 22, 2019
Fixed
- vertical scrolling within table editor #164
2.8.0 - Oct 12, 2019
Added
- improved font handling in table editor #122
Fixed
- proper font handling in balloon tooltips
2.7.1 - Sep 26, 2019
Support for IDE v192.*
2.7.0 - Sep 16, 2019
Added
- add separator selection to table editor #140
Fixed
- coloring of table cells (e.g. selection mode)
- enter edit mode via keyboard (e.g. ENTER key in cell)
2.6.4 - Aug 30, 2019
Fixed
- scrollable table cells
- auto cell height computation
2.6.3 - Aug 25, 2019
Fixed
- Index out of bound error on multi line clear cells #151
2.6.2 - Aug 09, 2019
Fixed
- AssertionError: Already disposed: Project (Disposed) #147
- No fallback font used in table editor #145
2.6.1 - Aug 01, 2019
Added
- plugin logo icons added (Thx to FineVisuals for support)
2.6.0 - Jul 18, 2019
Added
- Table column width calculation and adjustment based on content
2.5.1 - Jun 25, 2019
Fixed
- ConcurrentModificationException in MultiLineCellRenderer
2.5.0 - May 16, 2019
Added
Fixed
- NullPointerException in StorageHelper class
2.4.0 - May 11, 2019
Added
- file based value separator (e.g. ‘,’ or ‘;’)
2.3.1 - Mar 31, 2019
Added
- use default color scheme & font for table editor as well
Fixed
- ConcurrentModificationException tackled (table editor)
2.3.0 - Mar 04, 2019
Added
- Zoom table-editor cells with Ctrl+Mouse Wheel (contribution by @royqh1979)
Fixed
- Scratches are now recognised as CSV
- Several issues resolved by reworking column/row editing
2.2.1 - Jan 26, 2019
Fixed
- ArrayIndexOutOfBoundsException when opening a CSV file with an unexpected separator (table editor)
- ConcurrentModificationException during event handling (table editor)
2.2.0 - Jan 13, 2019
Added
- option to fixate first row as header (table editor)
- row numbers (table editor)
Fixed
- exception when clicking to right of populated columns (table editor)
- keep leading/trailing whitespaces (table editor)
2.1.0 - Jan 01, 2019
Added
- table editor values not longer enforced to be quoted on save (customizable)
Fixed
- prevent backspace/delete erasing cell value while editing (table editor)
2.0.2 - Dec 16, 2018
Fixed
- top and bottom panel scrollable & add column/row buttons removed
2.0.1 - Dec 02, 2018
Fixed
- disabling table editor for large files
- applying row height for newly opened files
2.0.0 - Nov 20, 2018
Added
1.9.1 - Oct 12, 2018
Fixed
- reading/writing CSV editor states
- tooltip for tab separator if disabled
1.9.0 - Oct 01, 2018
Added
- Enable/disable balloon info
- Soft wrap settings specific for CSV/TSV
1.8.2 - Sep 20, 2018
Added
- Customizable column coloring (File > Settings > Editor > Color Scheme > CSV)
1.8.1 - Aug 16, 2018
Added
- East Asian full-width character support for ‘Tabularize’ (optional) - disabled by default due to lower performance
1.8.0 - Jul 05, 2018
Added
- Custom ‘Wrapping’ settings
- Column highlighter takes whitespaces into account
- several code & performance improvements
Changed
- Column highlighting only happens on selection
Fixed
- CSV column info tooltip trumps spellchecker tooltip (but keeps the visualization of a typo)
- Show tooltip even when caret is at the last position withing the CSV file
- Support for suppressing inspections not relevant for CSV (e.g. ‘Problematic Whitespace’)
- Structure View: proper handling of elements (instead of endless loading)
1.7.0 - Jun 19, 2018
Added
- Annotated values: tooltip shows the value itself, the header and the column index
- Active column (caret position) is colored differently
- several code & performance improvements
Fixed
- ‘Add separator’ inspection is adding correct separator (e.g. tabs in TSV files)
1.6.1 - May 11, 2018
Added
1.6.0 - Apr 02, 2018
Added
- it was necessary to increase the minimum IDE version from 2016.1.1 to 2016.3.2 due to a required fix in the formatting code. Previous versions of the plugin can still be downloaded directly from Jetbrains Plugin Repository.
1.5.1 - Mar 21, 2018
Added
- intentions to shift a whole column left/right
(includes bugfix for breaking intention functionality on previous IDE versions)
1.5.0 - Feb 10, 2018
Added
- intentions to shift a whole column left/right
1.4.1 - Jan 19, 2018
Handle tabs as 1-length character - fixes ‘Tabularize’ for csv files with tabs
Fix default settings initialization