CsvSmith
直接在 Visual Studio 編輯器中輕鬆閱讀 CSV 和 TSV 檔案:每欄都有自己的色彩,各欄在螢幕上對齊而不變更檔案,捲動時標題列和第一欄始終可見。排序、篩選、移動欄,以及將表格複製為 Markdown、JSON 或 SQL——都可以透過檔案頂端的工具列完成。
免費 · Visual Studio 2022 和 2026 · 14 種介面語言 · .csv、.tsv、.tab、.psv · 已在 2,000,000 列上測試
為什麼選擇 CsvSmith

是表格,而不是一堵逗號牆
Visual Studio 把 CSV 檔案當作純文字開啟:要找到第五欄,只能用眼睛數逗號。CsvSmith 為每欄著色、對齊各欄並讓標題列始終可見,於是檔案讀起來就像一張表格。
檔案保持原樣
色彩、對齊、隱藏的列和隱藏的欄只繪製在螢幕上——檔案中的文字不會被改動。只有標示 變更檔案 · 一次復原 的命令才會寫入檔案,而一次復原即可讓一切恢復原樣。
大型檔案也很快
只剖析螢幕上的行;大型檔案依據其前面的列來測量。排序、篩選和複製都在背景執行。兩百萬列的 CSV 檔案捲動起來和小檔案一樣流暢。
免費,沒有附加條件
沒有訂閱、沒有「Pro」版、不收集資料,也不會在「輸出」視窗或啟動時顯示訊息。我們唯一的請求是:在你用過一段時間之後,到 Marketplace 給個評分。支援 Visual Studio 2022 和 2026,x64 和 ARM64。
功能
- 每欄都有自己的色彩(六種色彩循環),分隔符號變暗,標題列加粗——深色和淺色佈景主題皆適用。
- 各欄在螢幕上對齊,數字靠右對齊;檔案不會變更。欄寬不超過 40、60 或 80 個字元。
- 向下或向右捲動時,標題列和第一欄始終可見。
- 暫留時顯示欄:第 3 欄:Email、其類型(文字、數字、日期)、值、列,以及有多少列有值。
- 檔案頂端的工具列:檢視切換、此檔案的分隔符號和標題列、排序、篩選、欄、轉換,以及表格大小。
- 依插入點所在的欄,以文字、數字或日期 排序各列,一次復原 即可還原;標題列保持在最前。
- 依值、文字或數字、日期範圍在螢幕上 篩選 各列;多欄的篩選同時生效。
- 欄:選取、複製、在螢幕上隱藏、新增、刪除、左移或右移。
- 轉換:複製為 Markdown 表格、JSON 或 SQL INSERT;另存為 CSV 或 TSV;將檔案格式化為對齊文字或緊湊格式。
- 狀態列:插入點所在的列和欄;對於選取的儲存格,顯示數量、相異值,數字還顯示總和、平均、最小和最大。
- 提示:欄位數錯誤、引號未閉合、標題名稱重複。
- .csv、.tsv、.tab 和 .psv;自動偵測逗號或分號,依 RFC 4180 的規定讀取帶引號的欄位和引號內的換行;欄位中的網址會成為連結(Ctrl+Click)。
編輯器中的表格
開啟 .csv、.tsv、.tab 或 .psv 檔案:它在 Visual Studio 編輯器中仍是文字檔——輸入、搜尋、選取和儲存一如往常——而 CsvSmith 會把它繪製成表格。
| 部分 | 作用 |
|---|---|
| 色彩 | 每欄都有自己的色彩,每六欄循環一次。標題列加粗,分隔符號變暗。深色佈景主題使用明亮的色彩,淺色佈景主題使用同一色相中較深的色彩。 |
| 對齊 | 在欄位之間繪製空格,使各欄對齊;這些空格並不在檔案中。數字欄靠右對齊。 |
| 寬儲存格 | 任何欄的繪製寬度都不會超過 最寬欄 設定(40、60 或 80 個字元)。較長的值會佔用其後儲存格的空間,一旦有空間,該列的其餘部分就會重新對齊。 |
| 標題列 | 第一列捲出檢視後,會以各欄的色彩停留在編輯器頂端一條淡色的帶上。設定了篩選的欄在那裡會有一個橘色的小漏斗。 |
| 第一欄 | 表格向右捲動時,第一欄停留在編輯器左緣,使每一列的名稱或索引鍵始終可見。 |
| 連結 | 欄位中的網址帶有底線,按 Ctrl+Click 即可開啟。連結在分隔符號處結束——Visual Studio 內建的連結偵測會一直延伸到下一個欄位。 |
暫留時顯示欄
將指標停在欄位上:工具提示會說明這是哪一欄——第 3 欄:Email · 文字——並顯示值(即使儲存格被截斷也顯示完整內容)、列(列 5 / 12),以及該欄中有多少列有值(已填寫 11 / 12 列)。在大型檔案中,這些計數來自前面的列。
工具列
每個 CSV 編輯器頂端的一條列,採用 Visual Studio 佈景主題的色彩。其中的所有功能都作用於該編輯器中的檔案。
| 部分 | 作用 |
|---|---|
| 色彩 · 對齊 · 標題 · 首欄 | 一次為所有表格檔案切換色彩、對齊、固定標題列和固定第一欄(與設定中的開關相同)。 |
| 分隔符號 | 分隔符號:,(自動)——欄位分隔符號:自動、逗號、分號、定位字元或垂直線。自動模式下,.tsv 和 .tab 使用定位字元,.psv 使用直線,.csv 則依據前幾行選擇逗號或分號。所做的選擇會為此檔案記住。 |
| 標題列 | 標題列:是——第一列是否為欄名。選擇 否 時,第一列是資料:它會像其他列一樣被排序、篩選和複製,各欄稱為 第 1 欄、第 2 欄…… 會為此檔案記住。 |
| 排序 · 篩選 · 欄 · 轉換 | 針對插入點所在欄和整個表格的功能表,詳見下文。 |
| 大小 | 位於右側:1,250 列 · 7 欄 · 無問題;啟用篩選時為 顯示 2,000,000 列中的 3 列。 |
編輯器快顯功能表的 CsvSmith 子功能表中也有相同的命令,並且可以在 工具 › 選項 › 環境 › 鍵盤 中為每個命令指定快速鍵(搜尋 CsvSmith)。
右端的 × 可隱藏工具列;設定中的 顯示工具列 可將其恢復。
排序
將插入點放在某欄中並選擇 排序:視為文字 A → Z 或 Z → A,視為數字從小到大或從大到小,視為日期從舊到新或從新到舊。功能表會顯示欄名:依「Amount」,視為數字,從大到小。

各列在檔案中排序,一次復原 即可還原。標題列保持在最前;引號內含換行的記錄整筆移動;檔案的行尾符號保持不變。不是數字或日期的值排在其他值之後。
排序在背景執行。超過 1 億個字元的檔案,以及含有從未閉合之引號的檔案,不會被排序——狀態列會說明原因。
篩選
篩選 會隱藏不符合的列——僅在螢幕上,檔案不會變更。為插入點所在的欄選擇 依「Country」篩選…:一個小對話方塊會列出該欄的值及其數量。

| 部分 | 作用 |
|---|---|
| 值 | 勾選要保留的值;搜尋方塊可縮小清單範圍,全選 和 全部不選 作用於目前顯示的值。最多列出 1,000 個值及其數量。 |
| 文字包含 | 保留欄位中包含該文字的列;不區分大小寫。 |
| 數字介於 · 日期介於 | 適用於數字欄或日期欄:兩個邊界,任一邊界都可以留空。不含時間的日期涵蓋一整天。 |
| 僅「值」 | 在篩選功能表中:按一下即可只保留含有插入點處值的列。 |
隱藏的列摺疊成一行——⋯ 篩選隱藏了 1,240 列——按兩下即可重新顯示;如果關閉 標明被篩選隱藏的列,則只在上一列結尾顯示一個小 ⋯。工具列顯示 篩選(2) 和 顯示 2,000,000 列中的 3 列;清除篩選 會顯示所有列。
篩選屬於檔案:該檔案的每個視窗都顯示相同的列。編輯之後,重新執行篩選 會依目前的文字重新篩選。複製(轉換、複製欄)不包含隱藏的列。
欄
欄 功能表作用於插入點所在的欄。前四個命令只改變顯示;後面的命令會變更檔案,每個都可一次復原。
| 命令 | 作用 |
|---|---|
| 選取欄 | 在該欄的每個欄位上建立選取範圍(多個插入點):輸入即可同時變更所有欄位。 |
| 複製欄 | 將該欄的值複製到剪貼簿,每行一個。 |
| 在螢幕上隱藏欄 | 其欄位繪製為 …,其他欄隨之靠攏;檔案不會變更。顯示所有欄 可將其恢復。 |
| 在後面新增欄 | 在右側新增一個空欄,標題列中為 新欄。 |
| 刪除欄 | 從每一列中移除該欄。 |
| 左移欄 · 右移欄 | 在每一列中將該欄與相鄰的欄交換。 |
轉換
轉換 以另一種格式複製整個表格——或僅複製選取的列。被篩選隱藏的列不包含在內。

| 命令 | 作用 |
|---|---|
| 複製為 Markdown 表格 | GitHub 風格的表格;數字欄標示為靠右對齊(---:),| 會被逸出,換行寫為 <br>。 |
| 複製為 JSON | 以欄名為索引鍵的物件陣列;數字欄中的數字寫為數字,其中的空欄位寫為 null。 |
| 複製為 SQL INSERT | 每列一條 INSERT INTO orders (…) VALUES (…);,資料表名稱取自檔名;文字放在單引號中,數字不加引號,空數字寫為 NULL;屬於 SQL 關鍵字的欄名放在雙引號中("Order")。 |
| 另存為 CSV… · 另存為 TSV… | 將表格以逗號或定位字元分隔寫入另一個檔案,並在需要時為欄位加上引號。 |
| 格式化為對齊文字 | 將空格寫入檔案,使各欄在任何編輯器中都對齊。一次復原。 |
| 緊湊格式 | 刪除分隔符號兩側的空格(引號外)。一次復原。 |
狀態列中的欄和彙總
Visual Studio 的狀態列顯示插入點所在的列和欄。選取儲存格——透過滑鼠拖曳、方塊選取(Alt+拖曳)或 選取欄——狀態列會顯示儲存格數量和相異值的數量;對於數字,還會顯示總和、平均值、最小值和最大值:
列 128 · 第 5 欄:Amount
Amount: 24 個儲存格 · 總和 18,240.5 · 平均 760.02 · 最小 12 · 最大 2,400 · 計數 24 · 相異值 21
彙總在背景計算,最多計算 100,000 個儲存格。
提示
三種提示,與 SmithWorks 系列共用:每則文字都以 CsvSmith: 開頭,其工具提示中有 不再顯示此類提示,安裝 LensSmith 時提示還會顯示在行尾。

| 提示 | 何時顯示 | 文字 |
|---|---|---|
| 欄位數錯誤 | 某列的欄位比標題(沒有標題的檔案則為第一列)多或少:缺少分隔符號,或有本應放在引號中的分隔符號。 | CsvSmith: 第 9 列有 7 個欄位,標題有 6 個欄位。 |
| 引號未閉合 | 未閉合的引號會把檔案的其餘部分全部變成一個欄位。 | CsvSmith: 在第 2 欄開始的引號未閉合。 |
| 標題名稱重複 | 標題列中有兩欄名稱相同(不區分大小寫);灰色圓點。 | CsvSmith: 「Email」是第 3 欄和第 6 欄的標題。 |
每種提示都可以在設定的 編輯器中的提示 下關閉,也可以直接在提示中關閉。
大型檔案
CsvSmith 繪製時從不剖析整個檔案:只讀取螢幕上的行。它已在兩百萬列的 CSV 檔案上測試——捲動、色彩和對齊都與小檔案一樣快。
超過 20 MB 或 200,000 行的檔案依據其前 5,000 列來測量:欄寬和類型、工具提示中的計數以及工具列中的大小(2,000,000 行文字 · 7 欄 · 前 5,000 列中:無問題)。排序、篩選和複製仍會在背景處理每一列。
為保持 Visual Studio 回應迅速而設的限制:排序和欄編輯最多 1 億個字元;複製最多 100,000 列;彙總最多 100,000 個儲存格。達到限制時,狀態列會加以說明,且不做任何變更。
設定
工具 › 選項 › SmithWorks › CsvSmith。每個選項都有簡短說明,介紹它的作用。
| 選項 | 預設值 |
|---|---|
| 為欄著色 | 開 |
| 對齊欄 | 開 |
| 最寬欄 | 40 個字元 |
| 始終顯示標題列 | 開 |
| 始終顯示第一欄 | 開 |
| 暫留時顯示欄名 | 開 |
| 顯示工具列 | 開 |
| 在狀態列中顯示欄和彙總 | 開 |
| 標明被篩選隱藏的列 | 開 |
| 提示:欄位數錯誤 | 開 |
| 提示:引號未閉合 | 開 |
| 提示:標題名稱重複 | 開 |
| 請求在 Marketplace 上評分 | 開 |
設定以及為每個檔案選擇的分隔符號和標題列儲存在 %LocalAppData%\CsvSmith 中。重設為預設值 會重新開啟所有選項。

常見問題
CsvSmith 會變更我的檔案嗎?
不會自行變更。色彩、對齊、固定標題、篩選和隱藏的欄只繪製在螢幕上。只有當你選擇排序、新增、刪除或移動欄、格式化為對齊文字或緊湊格式時,檔案才會變更——每項操作都是復原中的一步。
我的檔案副檔名不同(.txt、.dat)。CsvSmith 能開啟它嗎?
CsvSmith 作用於副檔名為 .csv、.tsv、.tab 和 .psv 的檔案。其他副檔名的檔案仍為純文字;將複本另存為 .csv(或 .tsv)即可以表格形式檢視。
欄分錯了——檔案使用的是分號(或定位字元)。
按一下工具列上的 分隔符號,然後選擇分號、定位字元、垂直線或逗號。CsvSmith 會為該檔案記住此選擇。自動模式會查看 .csv 檔案的前 20 行,在逗號和分號之間做出選擇。
我的檔案沒有標題列。
在工具列上選擇 標題列:否。這樣第一列就是資料:它不會被固定或加粗,並會像其他列一樣被排序、篩選和複製。會為該檔案記住。
排序出錯了。要怎麼恢復原來的順序?
執行一次 編輯 › 復原(Ctrl+Z):整個排序是一步,名為 排序各列。欄編輯和格式化也是如此。
大型檔案會拖慢 Visual Studio 嗎?
不會。只剖析螢幕上的行,大型檔案依據其前面的列來測量,耗時的工作——排序、篩選、複製、彙總——都在背景執行。如果檔案超出限制,狀態列會加以說明。
CsvSmith 會向任何地方傳送資料嗎?
不會。它只讀取您在編輯器中開啟的檔案,別無其他——沒有遙測,沒有網路要求。設定保存在您的電腦上。
在哪裡回報問題或建議新功能?
請在 GitHub 上的 Feedback 存放庫中建立 issue——那裡有用於回報錯誤和提出建議的表單(請替換範例中的私密資料)。也可以使用 Marketplace 上的 Q&A 索引標籤。
變更記錄
1.0.0
- 首個版本:欄著色、螢幕上的對齊、固定的標題列和第一欄、暫留時顯示欄、帶有依檔案設定之分隔符號和標題列的工具列、一次復原即可還原的排序、篩選、欄、轉換(Markdown、JSON、SQL INSERT、CSV、TSV、對齊、緊湊)、儲存格內的連結、狀態列中的欄和彙總、「欄位數錯誤」「引號未閉合」和「標題名稱重複」提示;僅一次的評分請求。
- 在此之前:0.1 色彩、對齊、固定標題和提示;0.2 工具列、狀態列彙總、寬儲存格、排序、連結;0.3 篩選、欄工具和轉換。