-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
fbce2b9
commit 6e2c861
Showing
1 changed file
with
56 additions
and
72 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,113 +1,97 @@ | ||
# **CSV** | ||
|
||
**Seamlessly Display and Edit CSVs in Visual Studio Code** | ||
Experience a whole new way to work with CSV files right inside VS Code. CSV transforms your CSV files into an interactive, spreadsheet-like experience—making it effortless to view, edit, and navigate your data with precision and speed. | ||
|
||
--- | ||
|
||
## **Features** | ||
|
||
- **Edit Cells Directly:** Click on any cell to edit its content in place. Changes are saved automatically to your CSV file. | ||
- **Smart Column Resizing:** Column widths adjust automatically based on the length of the content for better readability. | ||
- **Dynamic Color Coding:** Columns are color-coded to distinguish them visually. Colors adapt to your light or dark theme. | ||
- **Sticky Headers:** The first row (header) remains visible as you scroll, ensuring column titles are always accessible. | ||
- **Optimized for Themes:** Colors and styles are tailored to match your current VS Code theme (light or dark mode). | ||
- **Improved Navigation:** | ||
- **Tab Navigation:** Press `Tab` to move horizontally to the next cell. Automatically wraps to the next row if necessary. | ||
- **Shift + Tab:** Navigate backward to the previous cell. | ||
- **Preserves CSV Integrity:** All edits strictly adhere to the CSV format without adding extra characters or spaces. | ||
- **Enhanced Readability:** | ||
- Consistent row and header coloring. | ||
- Mid-tone gridlines (`#ccc`) for a clean, organized look. | ||
- **Clipboard Integration:** Copy selected cells as CSV directly to the clipboard using `Ctrl + C` (or `Cmd + C` on macOS). | ||
- **Column Type Detection:** Automatically detects and highlights data types (e.g., boolean, date, float, integer, etc.) with corresponding color codes. | ||
- **Efficient Multi-Cell Selection:** Click and drag or use `Shift + Click` to select a range of cells for copying. | ||
- **Error-Free Editing:** Handles special characters like quotes, commas, and backslashes correctly during editing. | ||
## Why CSV? | ||
|
||
--- | ||
|
||
## **Screenshots** | ||
Working with CSV files shouldn’t be a chore. With CSV, you get: | ||
|
||
 | ||
 | ||
- **Direct In-Place Editing:** Click on any cell to edit its content seamlessly. Your changes can be saved immediately to the CSV file, ensuring data integrity without extra steps. | ||
- **Smart Column Sizing & Dynamic Color Coding:** Columns automatically adjust to fit content while being visually distinguished by data type. Whether it’s boolean, date, integer, float, or text, each column gets its own adaptive color that adjusts for light and dark themes. | ||
- **Sticky Headers & Fluid Navigation:** Keep your header row always visible as you scroll. Effortlessly move through cells using intuitive keyboard shortcuts like `Tab`, `Shift + Tab`, and arrow keys—just like a full-featured spreadsheet. | ||
- **Efficient Multi-Cell Selection & Clipboard Integration:** Select a range of cells with click-and-drag and copy them as well-formatted CSV data using `Ctrl/Cmd + C`. | ||
- **Robust Data Handling:** Leveraging the power of [Papa Parse](https://www.papaparse.com/), the extension handles complex CSV structures, special characters, and various data types gracefully. | ||
- **Theme-Optimized Interface:** Whether you prefer light or dark mode, CSV automatically adapts its styles for an optimal viewing experience. | ||
|
||
--- | ||
|
||
## **Getting Started** | ||
|
||
### **1. Install the Extension** | ||
## Features | ||
|
||
- Open Visual Studio Code. | ||
- Go to the Extensions view (`Ctrl+Shift+X` or `Cmd+Shift+X` on macOS). | ||
- Search for **`CSV`** and click **Install**. | ||
- **Interactive Editing:** Double-click any cell to edit, with automatic save on blur. | ||
- **Smart Resizing:** Automatic calculation of column widths for improved readability. | ||
- **Dynamic Color Coding:** Visual cues based on data type help you quickly identify numbers, dates, booleans, and more. | ||
- **Sticky Headers:** Keep column titles in view as you scroll through large datasets. | ||
- **Enhanced Keyboard Navigation:** Navigate cells with Tab/Shift+Tab and use keyboard shortcuts for quick editing, saving, and selection. | ||
- **Advanced Multi-Cell Selection:** Easily select and copy blocks of data, then paste them elsewhere as properly formatted CSV. | ||
- **Find & Highlight:** Built-in find widget helps you search for text within your CSV with real-time highlighting and navigation through matches. | ||
- **Preserved CSV Integrity:** All modifications respect CSV formatting—no unwanted extra characters or formatting issues. | ||
- **Optimized for Performance:** Designed for medium-sized datasets, ensuring a smooth editing experience without compromising on functionality. | ||
|
||
### **2. Open a CSV File** | ||
--- | ||
|
||
- Open any `.csv` file in Visual Studio Code. | ||
- The file will automatically use the **CSV** editor. | ||
## Screenshots | ||
|
||
### **3. Edit Cells** | ||
 | ||
 | ||
|
||
- **Click to Edit:** Click on any cell to start editing. After making changes: | ||
- Press `Enter` or click outside the cell to save. | ||
- **Keyboard Navigation:** | ||
- Press `Tab` to move to the next cell (wraps to the next row if necessary). | ||
- Press `Shift + Tab` to move to the previous cell. | ||
--- | ||
|
||
### **4. Scroll and View** | ||
## Getting Started | ||
|
||
- Use the mouse or keyboard to scroll. The header row stays fixed for reference. | ||
### 1. Install the Extension | ||
|
||
### **5. Theme Support** | ||
- Open Visual Studio Code. | ||
- Go to the Extensions view (`Ctrl+Shift+X` or `Cmd+Shift+X` on macOS). | ||
- Search for **CSV** and click **Install**. | ||
|
||
- Switch between light and dark themes in VS Code to see how column colors adapt for readability. | ||
### 2. Open a CSV File | ||
|
||
--- | ||
- Open any `.csv` file in VS Code. | ||
- The CSV will automatically load, presenting your file in an interactive grid view. | ||
|
||
## **Known Issues** | ||
### 3. Edit and Navigate | ||
|
||
- **Copy:** Copying a group of cells sometimes fails. | ||
- **Large CSV Files:** Performance might degrade for files with thousands of rows. Best suited for medium-sized datasets. | ||
- **Click to Edit:** Double-click any cell to edit its content. Simply press `Enter` or click outside the cell to save. | ||
- **Keyboard Navigation:** Use `Tab`/`Shift+Tab` to move horizontally between cells. Navigation also wraps to the next or previous row as needed. | ||
- **Multi-Cell Selection:** Click and drag or use `Shift + Click` to select multiple cells, then copy them as CSV using `Ctrl/Cmd + C`. | ||
- **Find & Highlight:** Press `Ctrl/Cmd + F` to activate the find widget and quickly locate data within your CSV. | ||
|
||
--- | ||
|
||
## **Planned Improvements** | ||
## Planned Improvements | ||
|
||
- **Insert Row Or Column** | ||
- **Drag-and-Drop Support:** Move rows or columns dynamically. | ||
- **Row and Column Insertion/Deletion:** Quickly add or remove rows or columns without leaving the editor. | ||
|
||
--- | ||
|
||
## **Release Notes** | ||
|
||
### **v1.0.5** | ||
- **New:** Multi-cell selection and `Shift + Click` for selecting a range of cells. | ||
- **Enhanced:** Clipboard integration for copying selected cells as CSV directly. | ||
- **Improved:** Better handling of special characters like quotes, commas, and backslashes during editing. | ||
- **Added:** Column type detection and color-coded highlighting for boolean, date, float, integer, and string types. | ||
- **Refined:** Optimized update mechanism for external document changes without disrupting user edits. | ||
## Release Notes | ||
|
||
### **v1.0.2** | ||
- **Improved:** Smooth activation of editing mode when clicking on cells. | ||
- **Fixed:** `Tab` and `Shift + Tab` navigation now works seamlessly across rows and columns. | ||
- **Updated:** Sticky headers now have a consistent background color matching the theme. | ||
### v1.0.6 | ||
- **New:** Multi-cell selection with intuitive `Shift + Click` support. | ||
- **Enhanced:** Clipboard integration for copying selected cells as clean, CSV-formatted text. | ||
- **Improved:** Navigation and editing, including better handling of special characters like quotes and commas. | ||
- **Added:** Advanced column type detection with dynamic color-coded highlighting. | ||
- **Refined:** Update mechanism for external document changes without interrupting your workflow. | ||
|
||
### **v1.0.1** | ||
- **Enhanced:** Auto-sizing columns based on content length. | ||
- **Fixed:** Persistent cell coloring and improved gridlines for better readability. | ||
### v1.0.2 | ||
- **Improved:** Seamless activation of editing mode on double-click. | ||
- **Fixed:** `Tab` and `Shift + Tab` navigation issues, ensuring smooth cell-to-cell movement. | ||
- **Updated:** Sticky header styling now consistently matches the active theme. | ||
|
||
### **v1.0.0** | ||
- Initial release with editable fields, sticky headers, automatic column sizing, and adaptive themes. | ||
### v1.0.0 | ||
- **Initial Release:** Introduced a full-featured CSV with interactive cell editing, smart column sizing, and adaptive theme support. | ||
|
||
--- | ||
|
||
## **Support** | ||
|
||
Encountered an issue? Have a suggestion? Let us know! | ||
## Support | ||
|
||
- Open an issue on [GitHub](https://github.com/jonaraphael/csv.git/issues). | ||
Have questions, suggestions, or encountered an issue? | ||
- Open an issue on [GitHub](https://github.com/jonaraphael/csv.git/issues) and let us know how we can help! | ||
|
||
--- | ||
|
||
## **License** | ||
## License | ||
|
||
This extension is licensed under the [MIT License](https://opensource.org/licenses/MIT). |