Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Editor Setup

All editor configs support the same server settings.

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
    }
  }
}

Lint values

Foundry lint config reference (lint_on_build): https://www.getfoundry.sh/config/reference/linter#lint_on_build

  • lint.severity: "high", "med", "low", "info", "gas", "code-size"
  • lint.only / lint.exclude rule IDs:
    • incorrect-shift
    • unchecked-call
    • erc20-unchecked-transfer
    • divide-before-multiply
    • unsafe-typecast
    • pascal-case-struct
    • mixed-case-function
    • mixed-case-variable
    • screaming-snake-case-const
    • screaming-snake-case-immutable
    • unused-import
    • unaliased-plain-import
    • named-struct-fields
    • unsafe-cheatcode
    • asm-keccak256
    • custom-errors
    • unwrapped-modifier-logic

Notes

  • Empty arrays for severity, only, exclude mean "no filter".
  • Defaults are all enabled (true) with empty lint arrays.
  • For file rename workflows, editors may require explicit save-all to persist buffer edits to disk.