Skip to content

mylesmmurphy/prettify-ts

Repository files navigation

Prettify TypeScript

Get useful type information where you need it

Installs GitHub Repo stars Version CI License

Prettify TS is a Visual Studio Code extension that enhances your TypeScript development experience. It provides hover information for TypeScript types, classes, interfaces, and more, formatted in a more readable and configurable way.

Installation

Install via the VSCode Marketplace:

Developer Notes

This README is for developing Prettify TS. The extension README (shown on the Marketplace) is here.

Scripts

Note: pnpm is required. Install it here.

pnpm install      # Installs all dependencies
pnpm test         # Builds and runs the extension test suite
pnpm build        # Compiles the codebase
pnpm package      # Builds + prepares the VSIX package for publishing

You do not need to build manually — test and package handles build steps automatically.

Testing

The full integration test suite lives in test/. For more info on the test layout, debugging instructions, and hover validation strategy, see the Test README.

Monorepo Structure

This repo uses pnpm workspaces to manage multiple packages:

.
├── packages/
│   ├── typescript-plugin/     # TypeScript language service plugin
│   └── vscode-extension/      # VSCode extension host + UI
└── test/                      # Full integration test suite
└── scripts/                   # Utility scripts for development, building, or CI

Development Workflow

During development, pnpm automatically symlinks the plugin into the extension’s node_modules for live debugging.

Packaging Workflow

To prepare for publishing:

  1. Prepackage:

    • Copies actual plugin files into the extension
    • Rewrites workspace:* to * for vsce compatibility
  2. Package:

    • Runs vsce package to produce .vsix
  3. Postpackage:

    • Reverts everything back for dev (restores workspace:* and symlinks)

VSCode Debug Configs

Defined in .vscode/launch.json:

  • Run Extension: Launches VSCode with the extension loaded for manual debugging
  • Attach to TSServer: Debug the TypeScript language service plugin

Use the VSCode Run panel (Ctrl+Shift+D / Cmd+Shift+D) to start these sessions.

License

MIT

Happy coding! 🎉