Editor Setup
All editor configs support the same server settings. See the guide for your editor:
Full settings schema
settings.json
{
"solidity-language-server": {
"inlayHints": {
"parameters": true,
"gasEstimates": true
},
"lint": {
"enabled": true,
"severity": [],
"only": [],
"exclude": []
},
"fileOperations": {
"templateOnCreate": true,
"updateImportsOnRename": true,
"updateImportsOnDelete": true
},
"projectIndex": {
"fullProjectScan": true,
"cacheMode": "v2",
"incrementalEditReindex": false
}
}
}Lint values
Foundry lint config reference (lint_on_build): Foundry linter config docs
lint.severity:"high","med","low","info","gas","code-size"lint.only/lint.excluderule IDs:incorrect-shiftunchecked-callerc20-unchecked-transferdivide-before-multiplyunsafe-typecastpascal-case-structmixed-case-functionmixed-case-variablescreaming-snake-case-constscreaming-snake-case-immutableunused-importunaliased-plain-importnamed-struct-fieldsunsafe-cheatcodeasm-keccak256custom-errorsunwrapped-modifier-logic
Notes
- Empty arrays for
severity,only,excludemean "no filter". - Defaults are all enabled (
true) with empty lint arrays. projectIndex.fullProjectScandefaults totrueto prioritize complete project references/definitions at startup.projectIndex.cacheModeuses"v2"by default and should remain"v2"for normal use.projectIndex.incrementalEditReindexenables an aggressive dependency-closure scoped reindex path on dirty sync.projectIndex.fullProjectScanis available fromv0.1.27.- In
v0.1.27+, successful saves persist cache updates to disk immediately for touched files (v2 upsert), with single-flight/debounced workers still handling save bursts. - On warm load, partial cache reuse is reconciled by scoped recompilation of changed/affected files and then written back to disk.
- v2 cache stores per-file hash history to support future hash-based affected planning.
- For file rename workflows, editors may require explicit save-all to persist buffer edits to disk.