Skip to content

battlecook/vscode-omni-viewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

79 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

VSCode Omni Viewer

A comprehensive audio, image, video, CSV, Parquet and JSONL viewer extension for VSCode and Cursor.

Sponsor

🎡 Audio Viewer Features

Audio Viewer Screenshot

Advanced Audio Player with WaveSurfer.js

  • Waveform Visualization: Real-time audio waveform display
  • Spectrogram: Frequency analysis with spectrogram view
  • Region Selection: Set start/end times for specific regions
  • Loop Playback: Repeat playback of selected regions
  • Volume Control: Real-time volume adjustment
  • Playback Speed: Multiple playback speed options
  • Audio Information: Duration, sample rate, channels, bit depth, file size, format display

Supported Audio Formats

  • MP3, WAV, OGG, FLAC, AAC, M4A

πŸ–ΌοΈ Image Viewer Features

Image Viewer Screenshot

Advanced Image Viewer

  • Zoom Controls: 10% ~ 500% zoom in/out
  • Rotation: 90-degree left/right rotation
  • Flip: Horizontal/vertical flip
  • Fit to Screen: Automatic screen size fitting
  • Image Filters: Brightness, contrast, saturation, grayscale adjustments
  • Filter Presets: Normal, Bright, Dark, Vintage, B&W presets
  • Save Functionality: Save filtered images to workspace
  • Keyboard Shortcuts: Quick operation shortcuts
  • Image Information: Resolution, format, and file size information display

Supported Image Formats

  • JPG, JPEG, PNG, GIF, BMP, WebP, SVG

🎬 Video Viewer Features

Video Viewer Screenshot

Advanced Video Player

  • Playback Controls: Play/pause/stop
  • Loop Regions: Set start/end times and loop playback
  • Playback Speed: 0.25x ~ 4x playback speed control
  • Skip Controls: 10-second forward/backward skip
  • Volume Control: Real-time volume adjustment
  • Keyboard Shortcuts: Spacebar, arrow keys, etc.
  • Video Information: Resolution, duration, and file size display

Supported Video Formats

  • MP4, AVI, MOV, WMV, FLV, WebM, MKV

πŸ“Š CSV Viewer Features

CSV Viewer Screenshot

Advanced CSV Viewer

  • Table Display: Clean, sortable table view of CSV data
  • Search & Filter: Real-time search across all columns
  • Column Sorting: Click headers to sort by any column (numeric/text aware)
  • Pagination: Handle large datasets with page navigation
  • Copy to Clipboard: Copy filtered data to clipboard (tab-separated format)
  • Statistics View: Display detailed file and data statistics
  • Keyboard Shortcuts: Ctrl+F for search, Ctrl+C for copy
  • File Information: Row count, column count, and file size display
  • Responsive Design: Works on different screen sizes

Supported CSV Formats

  • CSV (Comma-Separated Values)
  • TSV (Tab-Separated Values)

πŸ“„ JSONL Viewer Features

JSONL Viewer Screenshot

Interactive JSONL Editor

  • Line-by-Line Editing: Direct inline editing of JSON lines with syntax validation
  • Hover Popup: JSON popup display on line hover with formatted syntax highlighting
  • Click-to-Edit Popup: Click popup content to edit JSON directly in formatted view
  • Real-time Validation: Instant JSON validation with visual feedback (valid/invalid indicators)
  • Data Synchronization: Seamless sync between popup edits and original lines
  • Syntax Highlighting: Color-coded JSON syntax for better readability
  • Error Handling: Clear error messages for invalid JSON format

Supported JSONL Formats

  • JSONL (JSON Lines) - Each line contains a valid JSON object

πŸ“Š Parquet Viewer Features

Parquet Viewer Screenshot

Advanced Parquet Viewer

  • Table Display: Clean, table view of Parquet data
  • Search & Filter: Real-time search across all columns
  • Column Sorting: Click headers to sort by any column (numeric/text aware)
  • Pagination: Handle large datasets with page navigation
  • Copy to Clipboard: Copy filtered data to clipboard (tab-separated format)
  • Keyboard Shortcuts: Ctrl+F for search, Ctrl+C for copy
  • File Information: Row count, column count, and file size display
  • Responsive Design: Works on different screen sizes

πŸš€ Installation and Usage

Install from Marketplace

Marketplaces:

If you are using jetbrains ide, check out this repository

Development Setup

  1. Install Dependencies

    npm install
  2. Compile TypeScript

    npm run compile
  3. Package Extension

    npm run vscode:prepublish

πŸ“ License

MIT License

πŸ“ž Support

If you encounter any issues or have feature requests, please contact us through GitHub Issues.

Known Issues

  • Large file handling optimization needed

πŸ“Š Performance Notes

File Size Limitations

  • Audio/Video/Image Files:

    • Maximum file size limit: 50MB per file
    • Recommended file size: < 50MB for optimal performance
    • Audio files are loaded as Base64 for WebView compatibility
  • Text-based Files (CSV, JSONL, Parquet):

    • Maximum file size limit: 500MB per file
    • Recommended file size: < 200MB for optimal performance
    • Large files may take time to load initially
    • Memory usage scales with file size

Parquet File Specific Limitations

  • File Size Restrictions:
    • Files β‰₯ 150MB: Cannot be opened. Clear error message will be displayed.
    • Files 50MB - 150MB: Only the first 10,000 rows are displayed with a warning message showing total row count.
    • Files < 50MB: All rows are displayed without any limitations.
  • Row Limit: For files between 50MB and 150MB, only the first 10,000 rows are loaded for display to prevent memory issues
  • Memory Considerations:
    • Parquet files are converted to JSON format for display, which can significantly increase memory usage
    • Large files may take time to load initially
    • For best performance, keep files under 50MB for full data access

General Notes

  • Large files may take time to load initially
  • Memory usage scales with file size
  • For best performance, keep files under recommended sizes