VSCode's linter is now available in Atom/Juno

I have modified the linter-julia Atom package so it now uses StaticLint.jl, the same package that is behind the VSCode plugin:

With help from @Amin_Yahyaabadi, it should be now available as the 0.9.0 upgrade of ‘linter-julia’ for everybody. In case you are using Atom/Juno for Julia development, and had disabled the linter before, please give it a try. You can report issues here if you find one.

The plugin was tested in combination with the linter-ui-default and the linter Atom packages.

Caveats:

  • The server needs a minute to spin up, then also some time to parse new Julia environments that this Atom instance have not seen before. A pop-up is shown when parsing a new environment starts (but not when it ends). After parsing finishes, you need to edit or reopen those files that are already in the editor for linting to start. If the environment had been already parsed, linting new files is immediate.
  • The edited file has to be saved at least once for linting to start. This is by design of the linter package (allow linting of new yet unsaved files · Issue #1235 · steelbrain/linter · GitHub)
  • The environment for each file is guessed from its path. If this fails, Julia’s default environment is assumed.
  • The symbols are rebuilt if the modification time of the Project.toml or the Manifest.toml files change, for example, you add, remove or update packages. Linting is not available during this rebuild.

Known problems:

  • I could not fix this behaviour, but it is hopefully just a minor nuisance.
8 Likes