Flat Table Viewer
Read CSV, TSV, pipe, custom-delimited, fixed-width and Parquet files as a colorful table inside VS Code.
Open a file
Right-click a file and choose Open as Table, or click the table icon in the editor title bar.
Parquet files
Open any .parquet, .parq or .pq file and it shows as a table straight away. No setup, no other tools needed.
- Columns keep their real types: numbers, dates, timestamps, decimals, booleans and strings
- Lists show as JSON arrays and structs become
parent.child columns
- File info tab: row count, row groups, who wrote the file, and every column's type, compression and encoding
- Handles SNAPPY, GZIP, BROTLI, LZ4 and ZSTD compression. ZSTD needs a recent VS Code (Node 22.15 or newer)
- Loads the first 500,000 rows by default. Change it with
flatTable.parquetMaxRows
- If one column can't be decoded, the rest of the table still loads and File info says which column failed
Header rows and skipped lines
In Source:
- Header rows: None, 1, 2, 3 or 4. Two or more header rows stack in the header (for example
Sales / Q1). Empty cells in the upper rows repeat the group name to their left, which you can turn off
- Skip lines at the top: ignore titles or notes above the real header
Source: choose how the file is split into columns
- Auto-detect, comma, tab, pipe, semicolon, space
- Custom text: type any delimiter, even several characters (
~, ||, ^, ;;). Use \t for a tab and \s for a space
- Fixed width (my columns): type where each column starts, for example
0, 10, 25, 40
- Quote character (change it or clear it), merge repeated delimiters, header rows, skipped lines
Colors: themes (Ocean, Forest, Sunset, Berry, Grape), Rainbow columns, data bars or heat map for numbers, and color by type (negatives red, yes/no green and red)
Mark: paint your own colors
- Choose Cells, Rows or Columns
- Pick a color (or any custom color)
- Click cells, row numbers or column headers. Click a marked item again to remove it
- Erase removes marks, Select stops marking (Esc also stops)
- Mark cells matching the filter colors every cell that contains the text in the filter box
- Marks, rules and your display choices are remembered per file
Rules: highlight data automatically, for example "amount is greater than 1000" colors the cell or the whole row. Conditions: contains, equals, does not equal, starts with, ends with, greater/less than, regex, empty, not empty
Also
- Sticky header, row numbers, resizable columns (double-click an edge to fit)
- Click a header to sort, filter box searches every column
- Click a cell and press Ctrl/Cmd+C to copy it, arrow keys move around
- Handles quoted fields, line breaks inside cells, BOMs and UTF-16, and reloads when the file changes
- Only visible rows are drawn, so large files stay smooth
Run from source
Open this folder in VS Code and press F5.
Build the .vsix
./scripts/build-vsix.sh (no network needed), or npx @vscode/vsce package.
Settings
flatTable.firstRowIsHeader (default true), flatTable.rowHeight (default 28), flatTable.parquetMaxRows (default 500000)
Tests
npm test
| |