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
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:
editorconfig
: https://atom.io/packages/editorconfigfile-icons
: https://atom.io/packages/file-iconslinter-markdownlint
: https://atom.io/packages/linter-markdownlintpython-black
: https://atom.io/packages/python-blacktodo-show
: https://atom.io/packages/todo-showtrailing-spaces
: https://atom.io/packages/trailing-spaces
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 editorkickstart.nvim
: A small, documented, and featureful neovim starter config