Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Snakemake Language - DEPRECATEDNew to Visual Studio Code? Get it now.

Snakemake Language - DEPRECATED

alping

|
4,039 installs
| (2) | Free
Basic syntax, language, and snippet support for Snakemake files
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

DEPRECATED: This Snakemake Language extension for VS Code has been moved to the official Snakemake channel and this version of the extension is now deprecated. The updated version can be found here: GitHub | Marketplace

Snakemake Language Support

Provides basic language support for Snakemake files (Snakefile, *.smk).

This is an unofficial extension and I am not affiliated with the Snakemake project, but since I use Snakemake daily (it is truly an excellent tool) I wanted better support for it in VSCode and in publishing this plugin I hope that others might get some value from it as well.

Feedback, suggestions, and contributions are very welcome!

Features

  • Syntax definitions based on Python, with added Snakemake keywords
  • Language rules based on Python
  • Snippets

Example

Snakemake syntax highlighting example

Example taken from Snakemake documentation.

Supported Syntax

Keywords and Functions
  • Configurations
    • configfile
    • include
    • localrules
    • onerror
    • onstart
    • onsuccess
    • ruleorder
    • snakefile
    • workdir
  • Rules
    • checkpoint
    • rule
    • subworkflow
  • Rule Parameters
    • benchmark
    • conda
    • container
    • cwl
    • group
    • input
    • log
    • message
    • notebook
    • output
    • params
    • priority
    • resources
    • run
    • script
    • shadow
    • shell
    • singularity
    • threads
    • version
    • wildcard_constraints
    • wrapper
  • Functions
    • ancient
    • directory
    • expand
    • pipe
    • protected
    • temp
    • touch
    • unpack

TODO

  • [ ] Indentation rules (really tricky for some reason)
  • [ ] Recognize string substitutions: "command {input}"
  • [ ] Recognize wildcard constraints inside string substitutions: "{sample,[A-Za-z0-9]+}"

Snakemake Support for other Editors

  • Vim
  • Contact us
  • Jobs
  • Privacy
  • Terms of use
  • Trademarks
© 2023 Microsoft