# csv_preview: Add settings UI panel with debug tools during development \(\#53496\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/ef341146d206fd9ec08c4bbf990acead37f36ed5)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: ef341146d206fd9ec08c4bbf990acead37f36ed5

Requested commit: ef341146d206fd9ec08c4bbf990acead37f36ed5

Commit: ef341146d206fd9ec08c4bbf990acead37f36ed5

Tree: 9a12f85a076fc507f902a5dac0b969d3e34d92d2

Author: Oleksandr Kholiavko

Committer: GitHub

## Message

```
csv_preview: Add settings UI panel with debug tools during development (#53496)

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

------

This PR adds a settings panel above the CSV table with dropdown menus to
control rendering behavior, and a performance metrics overlay for
debugging.

Currently it's mostly used for me during dev phase, but before release
of CSV preview feature all dev-only options will be cleaned up, and
future features like "copy selected" will have their settings in this
bar

<img width="2260" height="1674" alt="image_2026-04-09_11-52-24"
src="https://github.com/user-attachments/assets/9039fd59-5c46-4be4-9f33-b9825a3cdce3"
/>


**What changed:**

- Adds `render_settings_panel()` method with dropdown menus for:
- **Rendering Mode**: Variable Height (multiline support) vs Uniform
Height (better performance)
  - **Text Alignment**: Top vs Center vertical alignment within cells
- **Font Type**: UI Font vs Monospace for better readability (will be
exposed to user settings)
  - **Experimental**: Popover menu with toggles for debug features
- Adds `render_performance_metrics_overlay()` method showing:
  - CSV parsing duration
  - Rendered row count and indices
  - Positioned in bottom-right corner with semi-transparent styling

Context:
Will iterate on it with @Anthony-Eid 

Release Notes:

- N/A

---------

Co-authored-by: Anthony Eid <anthony@zed.dev>
```

## Parents

- [fe9f956460458b8b9b4dd2a50136beb3c40e007b](https://git.cafe/gitcafe/zed/commit/fe9f956460458b8b9b4dd2a50136beb3c40e007b?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/ef341146d206fd9ec08c4bbf990acead37f36ed5?format=markdown)
