LilyPond Studio (for VS Code)

A VS Code extension to help you engrave beautiful music with LilyPond

View on GitHub

I’ve been writing sheet music with LilyPond since about 2010. I used it to write percussion parts for brass band pieces when I was banding, and I’ve been writing my own accordion parts for as long as I’ve been playing. The kind of music I want to play is not very available as accordion sheets, so being able to write my own gives me a lot more power and freedom over my repertoire.

For the last few years I’ve mostly been using Frescobaldi. Frescobaldi is a great tool, and its killer feature is live-updating the PDF when you change the LilyPond input, with point-and-click support so you can click in the PDF to jump to the right place in the input file, and vice-versa. I even made a tutorial video using Frescobaldi and LilyPond to engrave accordion music.

But Frescobaldi’s main shortcoming is that it’s based around a bog-standard text edit canvas from the noughties. Many of the basic text editing features are very basic, like syntax highlighting, working with indentation and formatting, snippet browser, auto-complete, font support. Emojis and other wide or multibyte characters cause bugs with text selection and highlighting.

Rather than try to add those features one at a time, why not start with an editor that already has all that (VS Code) and add the LilyPond-specific features? I found a few LilyPond-related addons on the marketplace already, and I tried them all, but none of them gave me that killer feature of side-by-side .ly/.pdf with synced selection (point-and-click). So I warmed up my Claude Code and cranked out LilyPond Studio.

You can find the source on GitHub and you can install it directly from the VS Code Marketplace.