Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>STDF Record ViewerNew to Visual Studio Code? Get it now.
STDF Record Viewer

STDF Record Viewer

Mahesh

|
31 installs
| (0) | Free
Complete STDF V4 viewer with all 26 record types, 120+ fields, intelligent parsing, and modern UI. Pure TypeScript implementation with zero dependencies.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

📊 STDF Record Viewer - VS Code Extension

Version VS Code Node.js TypeScript STDF V4 License

A powerful and modern VS Code extension for viewing and analyzing STDF (Standard Test Data Format) files with zero external dependencies. Features a pure TypeScript/Node.js parser with complete STDF V4 support - no Python required!

🎯 v1.0.2: Complete STDF V4 Implementation

✅ All 26 Record Types - 100% STDF V4 specification coverage
✅ 120+ Fields - Every field from the STDF V4 spec
✅ Header Fields Visible - REC_LEN, REC_TYP, REC_SUB, REC_NAME
✅ Pure TypeScript/Node.js - No Python, no system dependencies
✅ Streaming Parser - Handle GB-size files efficiently
✅ Multi-Column DTR - Intelligent parsing with axis support
✅ Vendor Extensions - PRR.WAFER_ID, DTR axis fields
✅ Gzip Support - Built-in .stdf.gz decompression


📚 Documentation

  • 🚀 Quick Start Guide - Get started in 5 minutes
  • 🏗️ Architecture Guide - Deep dive into the system
  • 📖 Parser README - Complete parser documentation
  • ✅ Implementation Summary - What's been built

🆕 What's New in v1.0.2

🎉 Complete STDF V4 Implementation

  • All 26 Record Types - Complete coverage of STDF V4 specification
    • FAR, ATR, VUR, MIR, MRR, PCR, HBR, SBR, PMR, PGR, PLR, RDR, SDR
    • WIR, WRR, WCR, PIR, PRR, TSR, PTR, MPR, FTR, BPS, EPS, GDR, DTR
  • 120+ Fields - Every field defined in the STDF V4 spec
  • Header Fields - REC_LEN, REC_TYP, REC_SUB, REC_NAME now visible in UI
  • Smart Column Ordering - Header fields always appear first

🔧 Enhanced DTR Parser

  • Multi-Column Support - Parse delimited data (tab, pipe, comma, space, semicolon)
  • Intelligent Axis Parsing - Automatic extraction of value/unit pairs
  • Vendor Extensions - dtr_id, axis_1_value, axis_1_unit, axis_2_value, axis_2_unit, axis_3_value, axis_3_unit
  • Pattern Recognition - Detects formats like "123.45 mV" automatically

📊 PRR Enhancements

  • Vendor Extensions - Added WAFER_ID and WAFER_NUMBER fields
  • Complete Field Set - All standard + vendor-specific fields visible

🎨 UI Improvements

  • Column Ordering - Header fields (REC_LEN, REC_TYP, REC_SUB, REC_NAME) always first
  • Zero Value Support - Correctly handles fields with value 0
  • Complete Data Display - All fields from all record types visible

🏗️ Architecture

  • Pure TypeScript/Node.js - No Python, no external dependencies
  • Streaming Parser - Memory-efficient for GB-size files
  • Built-in Gzip - Native .stdf.gz support via zlib
  • Array Bounds Checking - Prevents buffer overruns
  • Type Safety - Full TypeScript implementation

🔍 Enhanced SQL Engine

  • SELECT specific columns - No longer returns all data
  • GROUP BY support - Group and aggregate data
  • Aggregate functions - COUNT, SUM, AVG, MIN, MAX
  • Multiple column ORDER BY - Sort by multiple fields
  • Better error messages - Clear validation feedback

✨ Features

🚀 Core Features

  • 🎯 View STDF Records - View records from .stdf and .stdf.gz files
  • 🗜️ Gzip Support - Automatically decompresses .stdf.gz files
  • 📑 24 Record Types Supported - FAR, ATR, MIR, MRR, PCR, HBR, SBR, PMR, PGR, PLR, RDR, SDR, WRR, WCR, PIR, PRR, TSR, PTR, MPR, FTR, BPS, EPS, GDR, DTR, WIR
  • 📄 View Complete File - Stream all record types in one view with organized sections
  • 🎨 Modern UI - Beautiful gradient design with dark theme
  • ⚡ Fast Loading - Efficient streaming for large files
  • ⏹️ Stop Button - Cancel long-running operations anytime

🔍 Advanced Features

  • 📊 Interactive Table - Resizable columns with text wrapping
  • 🔎 Enhanced SQL Query Support - Full-featured SQL engine with:
    • SELECT specific columns
    • GROUP BY clause with aggregates
    • COUNT, SUM, AVG, MIN, MAX functions
    • Multiple column ORDER BY
    • WHERE, LIKE, IS NULL, operators
  • 📄 Pagination - Navigate through large datasets (100 records per page)
  • 💾 CSV Export - Export filtered/grouped results with timestamp
  • ⌨️ Query History - Undo/Redo with Ctrl+Z / Ctrl+Y
  • 🎯 Smart Filtering - Case-insensitive search with pattern matching

💻 SQL Query Examples

-- Get all records
SELECT * FROM data

-- Select specific columns
SELECT REC_TYP, REC_LEN FROM data WHERE TEXT_DAT = 'Test'

-- Group by with aggregates
SELECT REC_TYP, COUNT(*) FROM data GROUP BY REC_TYP

-- Advanced grouping
SELECT REC_TYP, REC_LEN FROM data 
WHERE TEXT_DAT = 'TCCT Input Decision Variables'
GROUP BY REC_TYP, REC_LEN

-- Pattern matching
SELECT * FROM data WHERE TEXT_DAT LIKE '%Status%'

-- Aggregate functions
SELECT AVG(REC_LEN), MIN(REC_LEN), MAX(REC_LEN) FROM data

-- Complex query with sorting and limit
SELECT REC_TYP, COUNT(*), AVG(REC_LEN)
FROM data
WHERE REC_LEN > 10
GROUP BY REC_TYP
ORDER BY COUNT(*) DESC
LIMIT 5

📦 Installation

Prerequisites

No external dependencies required! 🎉

This extension uses a pure TypeScript/Node.js parser that runs entirely within VS Code.

Install Extension

You can install this extension via:

  • VS Code Marketplace (search for "STDF Viewer")
  • Or install the .vsix file locally

🎯 Usage

Method 1: Right-Click

  1. Right-click any .stdf or .stdf.gz file
  2. Select "Open With..."
  3. Choose "STDF Record Viewer"

Method 2: Command Palette

  1. Press F1 or Ctrl+Shift+P
  2. Type "Open STDF Record Viewer (Select File)"
  3. Browse and select your STDF file

🎨 Interface Overview

1. Header Section

  • File name display with 🗜️ Decompressed badge for .gz files
  • Gradient purple theme

2. Control Panel

  • Record Type Dropdown - Choose from 24 record types or "View Complete File"
  • Load Records Button - Fetches selected record type
  • Stop Loading Button - Cancel long-running operations (appears during loading)
  • Export CSV Button - Exports current filtered data

3. SQL Query Panel

  • Query Input - Multi-line SQL editor
  • Execute SQL Button - Run query on loaded data
  • Clear & Show All Button - Reset filters
  • Query History - Ctrl+Z to undo, Ctrl+Y to redo

4. Data Table

  • Resizable Columns - Drag column edges to resize
  • Text Wrapping - Long text automatically wraps
  • Sticky Header - Header stays visible while scrolling
  • Row Hover Effect - Highlights row on hover

5. Pagination

  • Navigate large datasets
  • Shows: First, Previous, Page Numbers, Next, Last
  • Displays current page info (e.g., "Showing 1 to 100 of 500 records")

🔧 Keyboard Shortcuts

Shortcut Action
Ctrl+Z Undo last SQL query
Ctrl+Y Redo SQL query
Ctrl+Shift+P Open command palette

📊 Supported STDF Record Types

Test Data Records

  • PTR (Parametric Test)
  • MPR (Multiple Result Parametric)
  • FTR (Functional Test)
  • STR (Scan Test)

Datalog Records

  • MIR (Master Info)
  • MRR (Master Result)
  • PCR (Part Count)
  • HBR (Hardware Bin)
  • SBR (Software Bin)

Audit Records

  • FAR (File Attributes)
  • ATR (Audit Trail)
  • DTR (Datalog Text)
  • GDR (Generic Data)

And more: PIR, PRR, TSR, PMR, PGR, PLR, RDR, SDR, WRR, WCR, BPS, EPS


🐛 Troubleshooting

Extension doesn't open for .stdf files

  1. Right-click the .stdf or .stdf.gz file
  2. Select "Open With..."
  3. Choose "STDF Record Viewer"
  4. Check "Configure default editor for '*.stdf'..."

Parsing Error

  • Check VS Code's Output panel (select "STDF Viewer" from dropdown)
  • Verify the file is a valid STDF V4 file
  • Try with a smaller file first to isolate the issue

Gzipped file fails to open

  • Ensure the .gz file is valid (not corrupted)
  • Check disk space for temporary decompression
  • Try opening the original .stdf file if available

No records displayed

  • Check if the selected record type exists in your STDF file
  • Try different record types (MIR, DTR, PTR are commonly present)
  • Use "View Complete File" to see all record types
  • Check VS Code's Output panel for parsing errors

SQL Query not working

  • Make sure to use FROM data (lowercase)
  • Enclose string values in single quotes: 'value'
  • Use uppercase for column names: TEXT_DAT, REC_LEN
  • For aggregates with GROUP BY, include columns in SELECT or as aggregates
  • Check syntax: SELECT columns FROM data WHERE condition GROUP BY columns

Stop button doesn't appear

  • Stop button only shows when loading "View Complete File"
  • For single record types, loading is usually fast and stop isn't needed

📝 Technical Details

Architecture

  • Language: TypeScript (Pure)
  • Framework: VS Code Extension API
  • UI: Custom Webview with HTML/CSS/JavaScript
  • Parser: Pure TypeScript/Node.js STDF V4 Parser (14 record types)
  • Streaming: Memory-efficient with backpressure support
  • Compression: Node.js zlib module for gzip support
  • Data Processing: Optional DuckDB WASM for SQL queries

File Structure

Extension/
├── src/
│   └── extension.ts          # Main extension logic (TypeScript)
├── out/                       # Compiled JavaScript
├── dist/                      # Distribution files
├── media/                     # Extension icons
├── package.json              # Extension manifest
├── language-configuration.json # STDF language config
├── tsconfig.json             # TypeScript config
└── README.md                 # This file

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


🙏 Acknowledgments

  • STDF V4 Specification - Industry standard for test data format
  • VS Code Team - For the powerful extension API
  • TypeScript Community - For excellent tooling and ecosystem
  • Community - For feedback and contributions

Made with ❤️ for the semiconductor testing and data community

⭐ Star this repo if you find it useful!

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft