Giter Site home page Giter Site logo

Comments (14)

lukehoban avatar lukehoban commented on June 29, 2024

Sounds like a great idea.

Should be easy to add support for that either as the default linter or as an option to use instead of discreet lint/vet.

from vscode-go.

lukehoban avatar lukehoban commented on June 29, 2024

Open to PR's adding support for this.

I'd suggest adding a go.lintTool setting that can optionally point to an alternate tool to run instead of golint. That would allow users to opt-in to using gometalinter once they have installed and configured it.

A further step would be to make it the default. I think we should wait on that, since the acquisition experience for gometalinter is incrementally more complex.

from vscode-go.

joeblew99 avatar joeblew99 commented on June 29, 2024

this would be awesome !

from vscode-go.

gobijan avatar gobijan commented on June 29, 2024

I came here because I wanted to propose support for https://github.com/alecthomas/gometalinter, too :)
Atoms Go Plugin and SublimeText have support for this. Maybe one could have a look at the Atom implementation for adding support to vscode (are the APIs similar because of the electron shell?): https://atom.io/packages/gometalinter-linter

from vscode-go.

sijad avatar sijad commented on June 29, 2024

@lukehoban output of golint and gometalinter are a little different, with current regex can't parse gometalinter output

from vscode-go.

lukehoban avatar lukehoban commented on June 29, 2024

@sijad Feel free to propose an update to the regexp to make sure gometalinter output can be handled.

from vscode-go.

johansja avatar johansja commented on June 29, 2024

There is an PR for this.Wondering what is the progress on that? @sijad @lukehoban

from vscode-go.

punya avatar punya commented on June 29, 2024

gometalinter can also produce JSON output, if that makes parsing easier.

from vscode-go.

joeblew99 avatar joeblew99 commented on June 29, 2024

@lukehoban JSON parsing helps ?
I am keen to get this into VSCode :)

from vscode-go.

egamma avatar egamma commented on June 29, 2024

I suggest to look into how some of the existing linters are implemented for VS Code. ESLint is a good example vscode-eslint, tslint, and jshint are implemented in the same way. The idea is to implement a linter as a language server. The language server is kept a live and receives buffer change requests from VS Code (over JSON RPC), runs the linter (in proc) on the changed buffer, and returns the errors diagnostics back to VS Code. Doing the linting inside a server avoids that a new process is restarted for each validation as the user types.

from vscode-go.

sijad avatar sijad commented on June 29, 2024

#294 is almost finished, it just need a review I guess

from vscode-go.

egamma avatar egamma commented on June 29, 2024

Nice. This implementation spawns a new process for each linting pass. Since the linter is native code and since this is only done on save this might not be too bad for the batteries.

from vscode-go.

mattetti avatar mattetti commented on June 29, 2024

This issue can be closed now that the feature is implemented and documented :)

from vscode-go.

lukehoban avatar lukehoban commented on June 29, 2024

Indeed. Thanks @sijad.

from vscode-go.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.