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

There is an official plugin for Vim support.

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