vscode-protolint
vscode-protolint copied to clipboard
fix resolve of protolint.path if configured relative
Fixes relative path usage which was resolved to the user folder (~), (very unexpected behavior)
This fix allows 3 cases for protolint.path config:
- empty or default
protolint
(used as-is) - absolute path (used as-is)
- relative (resolved relatively to the first workspace folder)
Added settings caching. Added settings reload only if changed.
@yrtimiD Hello, could you describe a scenario where the relative path makes sense? Maybe accepting just an absolute path is better?
In my specific case I wanted to keep protolint binary committed to the git, so its location will always be relative to the vscode workspace folder. This is not super right, but saves from everybody extra step of download and install the binary. Alternatively, configuration might allow using vscode's variables like ${workspaceRoot}
The relative path would be extremely useful if you have protolint installed via npm.
In my case I tried to...
- run
npm install protolint
- in
.vscode/extensions.json
set"recommendations":["plex.vscode-protolint"]
- in
.vscode/settings.json
set"protolint.path": "./node_modules/.bin/protolint"
This way anyone on my team who runs npm install
on the project will get linting on the file. The current workaround is to have information in the readme that explains to my team they need to brew install protolint
which is not as good as an experience.
I would really appreciate if these changes were considered 🙏