/VSLilyPond

VSCode Extension for LilyPond

Primary LanguageTypeScript

VSLilyPond

Visual Studio Marketplace Visual Studio Marketplace Visual Studio Marketplace

Provides syntax and error highlighting, IntelliSense and AutoComplete, compilation on save, MIDI (input and playback) support for LilyPond in VSCode. Works with any VSCode supported PDF previewer for PDF preview.

See docs/INSTALL.md for a setup guide.

Features

Error highlighting 📜

Error highlighting

IntelliSense and AutoComplete 💡

IntelliSense and AutoComplete

Compilation on save 💾

Compilation on save

MIDI Input 🎹

MIDI Input Supports chord mode, relative mode and sharp/flat accidentals. See DEMOS.md for advanced features in action, and SETTINGS.md on how to toggle them.

MIDI Playback 🎼

MIDI Playback

Two-way Point and Click 📄

Forward (Score to PDF)

Forward Point-and-Click

Backward (PDF to Score)

Backward Point-and-Click

See here for more information (including a usage guide).

Requirements

See docs/INSTALL.md for a setup guide.

  • VSCode 1.46.0 minimum
  • LilyPond (Tested on 2.22.1)
  • (Optional) MIDI Devices for MIDI Input and Playback
  • (Optional for Windows, Linux and macOS users) python-ly: Required for formatting (more information here)

Extension Controls, Commands and Settings

Issues & FAQ

Please submit issues in the GitHub repository.

See the FAQ at docs/FAQ.md.

Contributing

Development

Requirements

Setup

  • Clone repository

    git clone https://github.com/lhl2617/VSLilyPond
  • Install npm dependencies

    npm i
  • Hit F5 to run an Extension Development Host.

    See here for a detailed extension development guide.

Testing MIDI input

  • On Windows, download VMPK and loopMIDI. These will allow you to test with a virtual MIDI keyboard.

Releasing

Releasing is done automatically via GitHub Actions. Bump the version in package.json and update CHANGELOG.md before merging into the default branch.

Acknowledgements

Base syntax highlighting depends on the LilyPond Syntax extension by Alexis Jeandeau, under the Creative Commons Attribution-NonCommercial 3.0 Unported (CC BY-NC 3.0) license (http://creativecommons.org/licenses/by-sa/3.0/). See that repository for additional acknowledgements.

IntelliSense and AutoComplete depends on the LilyPond AutoComplete (Commands & Keywords) extension, under the MIT license.

Formatting depends on the LilyPond Formatter extension, under the MIT license.

Point and Click depends on the LilyPond PDF Preview extension, under the MIT license.

License: Creative Commons Attribution-NonCommercial 3.0 Unported (CC BY-NC 3.0) license, http://creativecommons.org/licenses/by-sa/3.0/.