Rainbow CSV 3.19.0
分类: 下载/工具 · 工具软件 | 来源: 点击进入 | 版本: 3.19.0 |
日期: 2025-06-29 | 人气: | 大小: |
标签: csv SQL __web_extension __ext_csv __ext_tab __ext_tsv CSV (pipe) csv (semicolon) csv (whitespace) dynamic csv highlight plaintext tsv |
Rainbow CSV:增强CSV文件编辑和分析的终极工具
Rainbow CSV是一款为VSCode设计的强大扩展工具,旨在提升您处理CSV、TSV、分号和管道分隔文件的效率和体验。通过独特的多彩高亮功能,Rainbow CSV让您能够轻松区分不同的列,并提供了一系列高级功能来简化数据查询、转换和过滤。
主要功能:
- 多彩高亮: 使用不同的颜色高亮CSV、TSV、分号和管道分隔文件的列,提升可读性。
- RBQL查询语言: 内置的SQL-like语言(RBQL)让您能够轻松查询、转换和过滤数据。
- 列跟踪: 通过辅助装饰跟踪最多3个感兴趣的列,使其更加显眼。
- 对齐和缩小: 图形化或使用额外空格对齐列,并通过Shrink功能去除字段中的空格。
- 固定表头: 可选的固定表头行,方便浏览长文件。
- 列信息提示: 鼠标悬停时显示列信息,提升操作效率。
- CSV一致性检查: 自动进行CSV一致性检查(CSVLint),确保数据的准确性。
- 交替行背景颜色: 可选的交替行背景颜色,增强可读性。
- 多光标列编辑: 支持多光标列编辑,提高编辑效率。
- 浏览器支持: 可以在vscode.dev中使用。
使用方法:
Rainbow CSV在暗模式下效果更佳。您可以通过运行“Set rainbow separator”命令或点击右下角的当前语言按钮并从表格中选择内置的CSV方言来手动启用高亮。
支持的分隔符:
语言名称 | 分隔符 | 扩展名 | 属性 |
---|---|---|---|
csv | ,(逗号) | .csv | 在双引号字段内忽略 |
tsv | \t(TAB) | .tsv .tab | |
csv(分号) | ;(分号) | 在双引号字段内忽略 | |
csv(空白) | 空白 | 连续空白合并 | |
csv(管道) | (管道) | ||
动态csv | 任意字符或字符串 | 可自定义 |
基于内容的分隔符自动检测:
Rainbow CSV会自动检测“纯文本”和“*.csv”文件的分隔符,通常只需分析前几行即可。您可以在扩展设置中调整或禁用自动检测。
自定义文件扩展名 - 分隔符关联:
为了避免对特定文件扩展名(如“.dat”)依赖自动检测,您可以在VSCode配置中手动关联它们与支持的分隔符:
"files.associations": {
"*.dat": "csv (pipe)",
"*.csv": "csv (semicolon)"
},
重要提示:配置中的语言标识符必须使用小写!例如,使用csv(分号),而不是CSV(分号)。支持的语言ID列表包括:“csv”、“tsv”、“csv(分号)”、“csv(管道)”、“csv(空白)”、“动态csv”。
处理任意分隔符:
Rainbow CSV支持使用任意字符或字符串作为分隔符。您可以在VSCode设置中将分隔符添加到自动检测列表中,或者如果您只想使用一次,可以:
- 选择动态CSV文件类型(右下角),然后在提示中输入分隔符。
- 用光标选择分隔符文本,然后运行Rainbow CSV:Set rainbow separator命令。
动态CSV文件类型还支持双引号转义的多行CSV字段(符合RFC-4180标准)。
注意:在极少数情况下,由于与某些第三方扩展的兼容性问题,动态CSV高亮可能完全不起作用。
CSVLint一致性检查:
Linter会检查以下内容:
- 确保行内一致使用双引号。
- 验证每行字段数量相同。
要重新检查CSV文件,请点击状态栏中的“CSVLint”按钮。
处理大文件:
要为非常大的文件(超过300K行或20MB)启用Rainbow CSV,请在VSCode设置中禁用“编辑器:大文件优化”选项。您可以通过点击VSCode文件资源管理器上下文菜单中的“预览...”选项来预览大型文件。如果文件大于50MB,VSCode将禁用所有Rainbow CSV功能。
颜色自定义:
您可以自定义Rainbow CSV的颜色以增加对比度,详见说明。这对于使用浅色主题的用户尤为有用。
处理带注释的CSV文件:
一些CSV文件可能包含注释行,例如在表头行之前的元数据。要让CSVLint、基于内容的自动检测算法以及Align、Shrink、ColumnEdit命令能够正确处理此类文件,您需要调整设置。
对齐/缩小表格:
Rainbow CSV提供两种对齐模式:
- 虚拟对齐: 提供视觉对齐而不修改文件内容。
- 空白对齐: 插入空格以对齐列,修改文件内容。
您可以通过点击“Align”状态栏按钮或使用对齐命令来对齐CSV文件中的列。要缩小表格,即去除前导和尾随空格,请点击“Shrink”状态栏按钮或使用Shrink命令。
列跟踪:
您可以跟踪最多3个感兴趣的列,并通过辅助装饰使其更加显眼。这对于多列表格和/或在行包装(即单词包装模式)下查看表格时尤为有用。列跟踪可以通过编辑器上下文菜单(右键点击 -> Rainbow CSV ...)或通过“ToggleColumnTracking”命令来使用。如果您经常使用此命令,您还可以设置键盘快捷键来切换列跟踪。为此,运行Open Keyboard Shortcuts(JSON)命令,这将打开VSCode的keybindings.json文件,并添加以下行到列表中:
{"key": "ctrl t", "command": "rainbow-csv.ToggleColumnTracking", "when": "editorTextFocus && editorLangId =~ /dynamic csv|^[ct]sv/"},
交替行背景高亮:
您可以启用奇数和偶数行的交替背景颜色高亮。这对于多列表格和/或在行包装(即单词包装模式)下查看表格时尤为有用。
行包装、列跟踪和交替行背景的截图:
设置:
在VSCode的扩展设置部分自定义Rainbow CSV的行为。您可以找到可用选项及其描述的列表。
命令:
大多数Rainbow CSV命令可以通过编辑器上下文菜单[右键点击] -> [Rainbow CSV] -> <命令>访问。
SQL-like "RBQL"查询语言:
Rainbow CSV内置了RBQL查询语言解释器,允许您使用a1、a2、a3等列名运行SQL-like查询。例如:
SELECT a1, a2 * 10 WHERE a1 == "Buy" && a4.indexOf('oil') != -1 ORDER BY parseInt(a2), a4 LIMIT 100
要进入查询编辑模式,执行RBQL VSCode命令。RBQL是一个非常简单而强大的工具,允许您快速轻松地执行最常见的数据操作任务,并将您的csv表格转换为bash脚本、单行json、单行xml文件等。即使您不熟悉SQL,也很容易开始使用RBQL。例如,要切出第三列和第一列,使用SELECT a3, a1。您可以对所有类型的文件(例如.js、.xml、.html)使用RBQL命令,但对于非表格文件,仅有两个变量可用:NR和a1。
完整文档
RBQL控制台截图:
附录:
Rainbow CSV技术与传统图形列对齐的比较
优点:
- WYSIWYG
- 您喜欢的文本编辑器的熟悉编辑环境
- 高信息密度:Rainbow CSV显示更多数据,因为它不插入列对齐的空格。
- 能够在“行包装”显示模式下查看表格(通过WordWrap编辑器设置),避免水平滚动,无法同时查看所有列。“行包装”显示模式可以通过针对感兴趣列的目标跟踪进一步增强。
- 降低抽象成本:语法高亮可以是局部的,因此与需要整个文档统计的图形列对齐相比,资源消耗更少。
- 颜色 -> 列关联允许在数据和其他屏幕对象之间来回查看时更快地定位感兴趣的列(使用列对齐时,必须定位表头或计算列数才能找到正确的列)。
- 能够在两个不同窗口中将两个相同颜色的列进行视觉关联。这是图形列对齐无法实现的。
缺点:
- Rainbow CSV对于具有许多(>10)列的CSV文件和具有多行字段的文件可能效果较差。此问题可以通过文本或虚拟对齐或辅助列跟踪来缓解,后者为感兴趣的列提供目标高亮。“行包装”模式甚至可以在某些情况下使Rainbow CSV比传统图形对齐更适合宽行表格。
- Rainbow CSV在浅色模式下可能不太实用,因为与暗模式相比,字体颜色变得不那么易于区分(此现象在此处也有描述)。此问题可以通过使用自定义的高对比度彩虹颜色(见颜色自定义部分)来缓解。
参考文献
相关VSCode扩展
这些扩展可以与Rainbow CSV很好地协同工作,并提供额外的功能,例如导出到Excel格式:
- Data Wrangler & Data Viewer
- Excel Viewer
- Edit CSV
- Data Preview
Rainbow CSV和其他编辑器中的类似插件:
- Rainbow CSV扩展在Vim中
- rainbow-csv包在Atom中
- rainbow_csv插件在Sublime Text中
- rainbow_csv插件在gedit中 - 不支持csv中的引号逗号
- rainbow_csv_4_nedit在NEdit中
- CSV高亮在Nano中
- Rainbow CSV在IntelliJ IDEA中
- CSVLint for Notepad
RBQL
- RBQL
- Python RBQL的库和CLI应用
- JavaScript RBQL的库和CLI应用
-
- Golang云原生架构师课程
- Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
- 204次学习
-
- MySQL数据管理之备份恢复案例解析视频教程
- 《MySQL数据管理之备份恢复案例解析视频教程》MySQL是一个开放源码的小型关联式数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
- 160次学习
-
- MySQL索引优化解决方案
- 本套课程是根据MySQL索引的设计理念与数据结构、索引使用场景、索引分类、索引运用场景、索引性能分析、查询优化、MySQL索引的慢查询等组成,主要讲述了MySQL索引优化的解决方案,非常适合有MySQL使用基础或者有一定工作经验的同学。课程讲解了解决大数量查询慢的问题、如何编写一个高效的SQL、查询语句应该如何优化、索引的实现原理是什么、索引又应该如何优化...等诸多SQL索引优化的难点和面试点。
- 182次学习
-
- 极客学院Docker视频教程
- Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。Docker自2013年以来非常火热,无论是从github上的代码活跃度,还是各大厂商的支持,都使Docker成为了时下最受关注的技术,甚至微软都声称在下一代WindowsServer中集成对Docker的支持。所以我们收集了《极客学院Docke
- 243次学习
-
- Golang进阶实战编程
- 本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
- 127次学习
-
- JavaScript极速入门
- 本套课程将帮助大家迅速掌握JavaScript这门高端的、动态的、弱类型编程语言。知识点简单明了,让你学习0压力,适合新手观看学习......
- 431次学习
-
- Golangmap实践及实现原理解析
- 2022-12-28 505浏览
-
- GoLand调式动态执行代码
- 2023-01-13 502浏览
-
- 试了下Golang实现try catch的方法
- 2022-12-27 502浏览
-
- 用Nginx反向代理部署go写的网站。
- 2023-01-17 502浏览
-
- MySQL主从切换的超详细步骤
- 2023-01-01 501浏览
-
- Mysql-普通索引的 change buffer
- 2023-01-25 501浏览