VSCode

Visual Studio Code, or VSCode for short, is a code editor redefined and optimized for building and debugging modern web and cloud applications. VSCode has a huge ecosystem of packages that can be installed to extend functionality.

There is official Nextflow language support with syntax highlighting and auto-completion code snippets. To use, just search for Nextflow in the VSCode Packages tab search bar, or visit https://marketplace.visualstudio.com/items?itemName=nextflow.nextflow (see also the source code).

To make it easier to get up and running with the ones that are helpful when working with nf-core pipelines, we have put together an “extension pack” of community favourites. You can browse, pick and choose the ones you think look good, or can install them all in a single click.

To use, just search for nf-core-extensionpack in the VSCode Packages tab search bar, or visit https://marketplace.visualstudio.com/items?itemName=nf-core.nf-core-extensionpack

The extension pack source code can be found on GitHub and is written in super simple syntax - suggestions and improvements welcome! https://github.com/nf-core/vscode-extensionpack

Sublime Text

Sublime Text is a sophisticated text editor for code, markup and prose. It has a slick user interface, extraordinary features and amazing performance.

Much like VSCode and other code editors, Sublime Text can make use of plugins that extend the native functionality. @peterk87 has gone the extra mile and built an incredible plugin for Sublime Text users, complete with:

  • Nextflow syntax highlighting (DSL2 compliant)
  • Custom commands with integration with external services (nf-core, Bioconda, Biocontainers)
  • Auto-completion and rich information panels
  • Common code snippets

You can get this plugin here: https://packagecontrol.io/packages/nextflow

The source code is on GitHub, contributors welcome: https://github.com/nf-core/sublime

Atom

Danger

In case you missed it, Atom has been archived and support for it will be limited/absent in the near future.

Atom is a hackable text editor for the 21st Century, built by GitHub.

The language-nextflow Atom package provides syntax highlighting for Nextflow code: https://atom.io/packages/language-nextflow

Other useful packages include:

Emacs

An Emacs mode written by @edmundmiller gives Nextflow syntax highlighting: https://github.com/edmundmiller/nextflow-mode

If you’re looking to get started with Emacs check out Doom Emacs. If you like modules, it’s the editor for you! Check out DoomCasts: Emacs Doom Screencasts for some intros similar to the nf-core bytesize talks.

Other useful packages:

  • Doom Emacs: An Emacs framework for the stubborn martian hacker.
  • Magit: A Git Porcelain inside Emacs. Forge allows you to work with Git forges, such as Github and Gitlab, from the comfort of Magit and the rest of Emacs.

Vim

@LukeGoodsell has put together a Vim plugin that builds on Groovy syntax highlighting to give support for Nextflow .nf files: https://github.com/LukeGoodsell/nextflow-vim

@Mxrcon has created a fork that supports DSL2 https://github.com/Mxrcon/nextflow-vim

Other useful packages:

  • octo.nvim: Edit and review GitHub issues and pull requests from the comfort of your favorite editor
  • kickstart.nvim: A small, documented, and featureful neovim starter config