[Ethereum] Solved: How to change Solidity linter [solc] compiler version in Visual Studio Code

compilersolidityvisual-studio-code

enter image description here
Hi may I know how to change my Solidity linter compiler version in Visual Studio Code(vscode)? OR Visual studio code how to specify solidity compiler version?

The only Solidity related extensions I have installed are solidity 0.0.38 by Juan Blanco, and Solidity Extended 3.0.2 by beaugunderson.

I have applied the User Settings in VS Code as the following but still get error:

{"files.autoSave": "afterDelay",
  "files.autoSaveDelay": 1000,
  "editor.minimap.enabled": false,
  "editor.tabSize": 2,
  "editor.detectIndentation": false,
  "editor.wordWrap": "on",
  "files.associations": {
    "*.sol": "solidity"
  },
  "workbench.iconTheme": "material-icon-theme",
  "material-icon-theme.showUpdateMessage": false,

  "solidity.compileUsingRemoteVersion" : "latest",
  "solidity.linter":"solium",
  "solidity.packageDefaultDependenciesContractsDirectory": "contracts",
  "solidity.packageDefaultDependenciesDirectory": "node_modules",
  "solidity.soliumRules": {
    "imports-on-top": 0,
    "variable-declarations": 0,
    "no-inline-assembly": 5,
    "indentation": ["error",2],
    "quotes": ["error","double"]
  },
  "solidity.validationDelay": 1000,

  if in Windows system:
  "terminal.integrated.shell.windows":"C:\\WINDOWS\\System32\\cmd.exe",
  "window.zoomLevel":1

Now I've also install Solidity globally in my Linux: $ sudo npm install -g solc
Then I've got this from the terminal:
/home/userXYZ/.npm-global/bin/solcjs -> /home/userXYZ/.npm-global/lib/node_modules/solc/solcjs
+ solc@0.4.22

Then changed User Setting: "solidity.compileUsingRemoteVersion" : "latest"

Then re-started VS Code, still I am getting this error…
Please help. Thank you

Best Answer

If you still have a problem with the version in VS Code, this worked for me:

Install specific solc version locally or globally: npm i -g solc or npm i solc.

Add this setting in local VSCode settings: .vscode/settings.json

{
    "solidity.compileUsingRemoteVersion": "v0.7.4+commit.3f05b770",
    "solidity.enableLocalNodeCompiler": false
}

In my case I am using solidity v0.7.4. Note also the other config: "solidity.enableLocalNodeCompiler": false

Related Topic