Getting message "no plugins loaded" in VS Code while using sonarlint with sonarqube in conncted mode

I’m not able to connect Sonarlint with Sonarqube in VS Code on my team member machine and getting the message "no plugins loaded however it is working fine on my laptop. I could not figure out the reason. Is anyone help me to resolve this issue?

Below the trace for more details -

Executing C:\Program Files\Java\jre1.8.0_221\bin\java -jar c:\Users\vikas.verma01\.vscode\extensions\sonarsource.sonarlint-vscode-1.11.0\server\sonarlint-ls.jar 55072 file:///c:/Users/vikas.verma01/.vscode/extensions/sonarsource.sonarlint-vscode-1.11.0/analyzers/sonarjs.jar file:///c:/Users/vikas.verma01/.vscode/extensions/sonarsource.sonarlint-vscode-1.11.0/analyzers/sonarphp.jar file:///c:/Users/vikas.verma01/.vscode/extensions/sonarsource.sonarlint-vscode-1.11.0/analyzers/sonarpython.jar file:///c:/Users/vikas.verma01/.vscode/extensions/sonarsource.sonarlint-vscode-1.11.0/analyzers/sonarts.jar file:///c:/Users/vikas.verma01/.vscode/extensions/sonarsource.sonarlint-vscode-1.11.0/analyzers/sonarhtml.jar
Binding to 55072
Child process connected on port 55072
[Trace - 11:02:19 AM] Sending request 'initialize - (0)'.
Params: {
    "processId": 30976,
    "rootPath": "e:\\Projects\\JNJ\\Source\\JnJ-SingleIntake\\SingleIntake",
    "rootUri": "file:///e%3A/Projects/JNJ/Source/JnJ-SingleIntake/SingleIntake",
    "capabilities": {
        "workspace": {
            "applyEdit": true,
            "workspaceEdit": {
                "documentChanges": true,
                "resourceOperations": [
                    "create",
                    "rename",
                    "delete"
                ],
                "failureHandling": "textOnlyTransactional"
            },
            "didChangeConfiguration": {
                "dynamicRegistration": true
            },
            "didChangeWatchedFiles": {
                "dynamicRegistration": true
            },
            "symbol": {
                "dynamicRegistration": true,
                "symbolKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25,
                        26
                    ]
                }
            },
            "executeCommand": {
                "dynamicRegistration": true
            },
            "configuration": true,
            "workspaceFolders": true
        },
        "textDocument": {
            "publishDiagnostics": {
                "relatedInformation": true
            },
            "synchronization": {
                "dynamicRegistration": true,
                "willSave": true,
                "willSaveWaitUntil": true,
                "didSave": true
            },
            "completion": {
                "dynamicRegistration": true,
                "contextSupport": true,
                "completionItem": {
                    "snippetSupport": true,
                    "commitCharactersSupport": true,
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "deprecatedSupport": true,
                    "preselectSupport": true
                },
                "completionItemKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25
                    ]
                }
            },
            "hover": {
                "dynamicRegistration": true,
                "contentFormat": [
                    "markdown",
                    "plaintext"
                ]
            },
            "signatureHelp": {
                "dynamicRegistration": true,
                "signatureInformation": {
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "parameterInformation": {
                        "labelOffsetSupport": true
                    }
                }
            },
            "definition": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "references": {
                "dynamicRegistration": true
            },
            "documentHighlight": {
                "dynamicRegistration": true
            },
            "documentSymbol": {
                "dynamicRegistration": true,
                "symbolKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25,
                        26
                    ]
                },
                "hierarchicalDocumentSymbolSupport": true
            },
            "codeAction": {
                "dynamicRegistration": true,
                "codeActionLiteralSupport": {
                    "codeActionKind": {
                        "valueSet": [
                            "",
                            "quickfix",
                            "refactor",
                            "refactor.extract",
                            "refactor.inline",
                            "refactor.rewrite",
                            "source",
                            "source.organizeImports"
                        ]
                    }
                }
            },
            "codeLens": {
                "dynamicRegistration": true
            },
            "formatting": {
                "dynamicRegistration": true
            },
            "rangeFormatting": {
                "dynamicRegistration": true
            },
            "onTypeFormatting": {
                "dynamicRegistration": true
            },
            "rename": {
                "dynamicRegistration": true,
                "prepareSupport": true
            },
            "documentLink": {
                "dynamicRegistration": true
            },
            "typeDefinition": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "implementation": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "colorProvider": {
                "dynamicRegistration": true
            },
            "foldingRange": {
                "dynamicRegistration": true,
                "rangeLimit": 5000,
                "lineFoldingOnly": true
            },
            "declaration": {
                "dynamicRegistration": true,
                "linkSupport": true
            }
        }
    },
    "initializationOptions": {
        "testFilePattern": "{**/test/**,**/*test*,**/*Test*}",
        "analyzerProperties": {},
        "productKey": "vscode",
        "telemetryStorage": "c:\\Users\\vikas.verma01\\.vscode\\extensions\\sonarlint_usage",
        "productName": "SonarLint VSCode",
        "productVersion": "1.11.0",
        "ideVersion": "1.39.2",
        "disableTelemetry": false,
        "typeScriptLocation": "c:\\Program Files\\Microsoft VS Code\\resources\\app\\extensions\\node_modules",
        "includeRuleDetailsInCodeAction": true,
        "connectedModeServers": [
            {
                "serverId": "BF41A1F2-AWxhUWDEyV4sW94qfnfJ",
                "serverUrl": "http://192.168.10.228:9000",
                "token": "xxx"
            }
        ],
        "connectedModeProject": {
            "serverId": "BF41A1F2-AWxhUWDEyV4sW94qfnfJ",
            "projectKey": "SingleIntake"
        }
    },
    "trace": "verbose",
    "workspaceFolders": [
        {
            "uri": "file:///e%3A/Projects/JNJ/Source/JnJ-SingleIntake/SingleIntake",
            "name": "SingleIntake"
        }
    ]
}


[Trace - 11:02:20 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "Starting connected SonarLint engine for BF41A1F2-AWxhUWDEyV4sW94qfnfJ..."
}


Starting connected SonarLint engine for BF41A1F2-AWxhUWDEyV4sW94qfnfJ...
[Trace - 11:02:21 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "Create : C:\\Users\\vikas.verma01\\.sonarlint\\plugins"
}


Create : C:\Users\vikas.verma01\.sonarlint\plugins
[Trace - 11:02:21 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "Plugin cache: C:\\Users\\vikas.verma01\\.sonarlint\\plugins"
}


Plugin cache: C:\Users\vikas.verma01\.sonarlint\plugins
[Trace - 11:02:21 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "Create : C:\\Users\\vikas.verma01\\.sonarlint\\plugins\\_tmp"
}


Create : C:\Users\vikas.verma01\.sonarlint\plugins\_tmp
[Trace - 11:02:21 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "Load plugins"
}


Load plugins
[Trace - 11:02:21 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "Load plugins (done) | time=0ms"
}


Load plugins (done) | time=0ms
[Trace - 11:02:21 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "No plugins loaded"
}


No plugins loaded
[Trace - 11:02:21 AM] Received notification 'window/logMessage'.
Params: {
    "type": 2,
    "message": "No storage for server 'BF41A1F2-AWxhUWDEyV4sW94qfnfJ'. Please update."
}


[Warn  - 11:02:21 AM] No storage for server 'BF41A1F2-AWxhUWDEyV4sW94qfnfJ'. Please update.
[Trace - 11:02:21 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "Connected SonarLint engine started for BF41A1F2-AWxhUWDEyV4sW94qfnfJ"
}


Connected SonarLint engine started for BF41A1F2-AWxhUWDEyV4sW94qfnfJ
[Trace - 11:02:21 AM] Received notification 'window/logMessage'.
Params: {
    "type": 2,
    "message": "Storage of server 'BF41A1F2-AWxhUWDEyV4sW94qfnfJ' requires an update"
}


[Warn  - 11:02:21 AM] Storage of server 'BF41A1F2-AWxhUWDEyV4sW94qfnfJ' requires an update
[Trace - 11:02:21 AM] Received response 'initialize - (0)' in 2467ms.
Result: {
    "capabilities": {
        "textDocumentSync": {
            "openClose": true,
            "change": 1,
            "save": {
                "includeText": true
            }
        },
        "codeActionProvider": true,
        "executeCommandProvider": {
            "commands": [
                "SonarLint.UpdateServerStorage",
                "SonarLint.UpdateProjectBinding",
                "SonarLint.RefreshDiagnostics"
            ]
        },
        "workspace": {
            "workspaceFolders": {
                "supported": true,
                "changeNotifications": true
            }
        }
    }
}


[Trace - 11:02:21 AM] Sending notification 'initialized'.
Params: {}


[Trace - 11:02:21 AM] Sending notification 'workspace/didChangeConfiguration'.
Params: {
    "settings": {
        "sonarlint": {
            "trace": {
                "server": "verbose"
            },
            "testFilePattern": "{**/test/**,**/*test*,**/*Test*}",
            "analyzerProperties": {},
            "disableTelemetry": false,
            "rules": {},
            "ls": {
                "javaHome": "C:\\Program Files\\Java\\jre1.8.0_221\\",
                "vmargs": ""
            },
            "connectedMode": {
                "servers": [
                    {
                        "serverId": "BF41A1F2-AWxhUWDEyV4sW94qfnfJ",
                        "serverUrl": "http://192.168.10.228:9000",
                        "token": "xxx"
                    }
                ],
                "project": {
                    "serverId": "BF41A1F2-AWxhUWDEyV4sW94qfnfJ",
                    "projectKey": "SingleIntake"
                }
            }
        }
    }
}


[Trace - 11:02:21 AM] Sending notification 'textDocument/didOpen'.
Params: {
    "textDocument": {
        "uri": "file:///e%3A/Projects/JNJ/Source/JnJ-SingleIntake/SingleIntake/src/app/admin/permission-management/permission-management.component.ts",
        "languageId": "typescript",
        "version": 1,
        "text": "import { Component, OnInit } from '@angular/core';\nimport { sp, Web, SearchQuery, SearchResponse } from '@pnp/sp';\nimport { BaseService } from 'commonlib';\nimport { HttpClient } from '@angular/common/http';\n\n@Component({\n  selector: 'app-permission-management',\n  templateUrl: './permission-management.component.html',\n  styleUrls: ['./permission-management.component.scss']\n})\nexport class PermissionManagementComponent extends BaseService implements OnInit {\n  searchedUsers = [];\n  user: any;\n  Groups: any;\n  userGroups = [];\n  title: any;\n  role = [];\n  web: Web;\n  http: HttpClient;\n\n  roles = [{ Title: \"GSPPMAdmin\", Description: '', PermissionLevel: '', Checked: false, AV: false },\n  { Title: \"Requestor\", Description: '', PermissionLevel: '', Checked: false, AV: false },\n  { Title: \"SIA Members\", Description: '', PermissionLevel: '', Checked: false, AV: false },\n  { Title: \"SIA Owners\", Description: '', PermissionLevel: '', Checked: false, AV: false },\n  { Title: \"SIA Visitors\", Description: '', PermissionLevel: '', Checked: false, AV: false }];\n\n  param = { select: \"\", expand: \"\", orderBy: \"\", isAsc: \"\", filter: \"\" };\n  ngOnInit() {\n    this.web = sp.web;\n\n    this.param.filter = 'IsActive eq 1';\n    this.spo.getItems(\"Groups\", this.param).then(grp => {\n      this.role = grp;\n    });\n    this.web.lists.getByTitle('Groups').items.filter(\"IsActive eq 1\").get().then\n      (grp => {\n        this.roles = grp;\n      });\n    const to = ['bgupta6@its.jnj.com'];\n    this.spo.sendEmail(to, null,\"for testing\",\"tetsing Email\");\n  }\n\n  fetchUsers(event: any) {\n    \n    const user = event.target.value;\n    if (user !== '') {\n      const usr = user.charAt(0).toUpperCase() + user.substr(1).toLowerCase();\n      const rFilters = [\"'PreferredName:(\\\"\" + usr + \"*\\\")'\"];\n      sp.search(<SearchQuery>{\n        Querytext: \"querytext='*'&sourceid='b09a7990-05ea-4af9-81ef-edfab16c4e31'&refinementfilters='PreferredName:(\\\"\" + usr + \"*\\\")'\",\n        RowLimit: 20\n      }).then(results => {\n        console.log(\"sERACHqUERY\");\n        if (results.PrimarySearchResults.length > 0) {\n          results.PrimarySearchResults.forEach(item => {\n            console.log(\"sERACHqUERY\" + item);\n          });\n        }\n      });\n      const url = \"https://jnj.sharepoint.com/teams/GSPPMDEV/_api/search/query?querytext='*'&rowlimit=20&sourceid='b09a7990-05ea-4af9-81ef-edfab16c4e31'&refinementfilters='and(PreferredName:(\" + name + \"),AccountName:not(\\\"*DELETED*\\\"))'\";\n      // this.http.get<SearchResponse>(url).subscribe((users: any) => {\n      //   console.log(usr + \": \" + users.PrimaryQueryResult.RelevantResults.Table.Rows);\n      //   this.searchedUsers = users.PrimaryQueryResult.RelevantResults.Table.Rows;      })\n      this.spo.fetchUsers(usr).then(users => {\n        // console.log(usr + \": \" +users);\n        this.searchedUsers = [];\n        // users.PrimaryQueryResult.RelevantResults.Table.Rows.forEach(user=>{\n        //   let usr={Title:'',Email:''};\n        //   usr.Title= user.Cells[14].Value;\n        //   usr.Email=user.Cells[21].Value;\n        //   this.searchedUsers.push(usr);\n        // })\n       // this.searchedUsers = users.PrimaryQueryResult.RelevantResults.Table.Rows;\n      });\n    } else {\n      this.searchedUsers = [];\n    }\n  }\n\n  hideSearchDropDown(user) {\n    this.user = user;\n    this.title = user.Title;\n    this.userGroups = [];\n    console.log(user);\n    this.searchedUsers = [];\n  }\n\n\n  getGroups() {\n\n    this.web.siteUsers.getByEmail(this.user.Email).select('*,Groups/Id,Groups/Title').expand('Groups').get().then(\n      userProp => {\n        this.Groups = userProp.Groups;\n        this.userGroups = [];\n        this.roles.forEach(item => {\n          const temp = { Title: '', Description: '', AV: true, PermissionLevel: '', Checked: false };\n          temp.Title = item.Title;\n          temp.Description = item.Description;\n          temp.AV = item.AV;\n          temp.PermissionLevel = item.PermissionLevel;\n          if (item.Checked) {\n            temp.Checked = true;\n          }\n\n\n          this.userGroups.push(temp);\n        });\n        for (var i = 0; i < this.Groups.length; i++) {\n          this.userGroups.forEach(x => {\n            if (x.Title === this.Groups[i].Title) {\n              x.Checked = true;\n              x.AV = true;\n            }\n\n          });\n\n        }\n        this.Groups = userProp.Groups;\n      }\n    );\n\n  }\n\n  save() {\n    const addGroup = [];\n    const removeGroup = [];\n    this.userGroups.forEach(function (item) {\n      if (item.Checked !== item.AV) {\n        if (item.Checked) {\n          addGroup.push(item);\n        } else {\n          removeGroup.push(item);\n        }\n\n      }\n    });\n    console.log(\"Removing User:\");\n    removeGroup.forEach(group => {\n\n      this.web.siteGroups.getByName(group.Title).users.removeById(this.user.Id).then(_ => {\n        console.log(\"Group Name: \" + group.Title + \" User Name: \" + this.user.Title);\n      });\n\n    });\n    console.log(\"adding user\");\n    addGroup.forEach(group => {\n      this.web.siteGroups.getByName(group.Title).users.add(this.user.LoginName).then(_ => {\n        console.log(\"Group Name: \" + group.Title + \" User Name: \" + this.user.Title);\n      });\n\n    });\n  }\n}\n"
    }
}


[Trace - 11:02:21 AM] Sending request 'sonarlint/listAllRules - (1)'.
[Trace - 11:02:21 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "Analysis triggered on file:///e%3A/Projects/JNJ/Source/JnJ-SingleIntake/SingleIntake/src/app/admin/permission-management/permission-management.component.ts with configuration: \n[\n  baseDir: e:\\Projects\\JNJ\\Source\\JnJ-SingleIntake\\SingleIntake\n  extraProperties: {}\n  excludedRules: []\n  includedRules: []\n  inputFiles: [\n    file:///e%3A/Projects/JNJ/Source/JnJ-SingleIntake/SingleIntake/src/app/admin/permission-management/permission-management.component.ts (UTF-8) [ts]\n  ]\n]\n"
}


Analysis triggered on file:///e%3A/Projects/JNJ/Source/JnJ-SingleIntake/SingleIntake/src/app/admin/permission-management/permission-management.component.ts with configuration: 
[
  baseDir: e:\Projects\JNJ\Source\JnJ-SingleIntake\SingleIntake
  extraProperties: {}
  excludedRules: []
  includedRules: []
  inputFiles: [
    file:///e%3A/Projects/JNJ/Source/JnJ-SingleIntake/SingleIntake/src/app/admin/permission-management/permission-management.component.ts (UTF-8) [ts]
  ]
]

[Trace - 11:02:21 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "Starting standalone SonarLint engine..."
}


Starting standalone SonarLint engine...
[Trace - 11:02:21 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "Using 5 analyzers"
}


Using 5 analyzers
[Trace - 11:02:21 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "Create : C:\\Users\\vikas.verma01\\.sonarlint\\plugins"
}


Create : C:\Users\vikas.verma01\.sonarlint\plugins
[Trace - 11:02:21 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "Plugin cache: C:\\Users\\vikas.verma01\\.sonarlint\\plugins"
}


Plugin cache: C:\Users\vikas.verma01\.sonarlint\plugins
[Trace - 11:02:21 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "Create : C:\\Users\\vikas.verma01\\.sonarlint\\plugins\\_tmp"
}


Create : C:\Users\vikas.verma01\.sonarlint\plugins\_tmp
[Trace - 11:02:21 AM] Sending request 'textDocument/codeAction - (2)'.
Params: {
    "textDocument": {
        "uri": "file:///e%3A/Projects/JNJ/Source/JnJ-SingleIntake/SingleIntake/src/app/admin/permission-management/permission-management.component.ts"
    },
    "range": {
        "start": {
            "line": 109,
            "character": 25
        },
        "end": {
            "line": 109,
            "character": 25
        }
    },
    "context": {
        "diagnostics": []
    }
}


[Trace - 11:02:22 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "Load plugins"
}


Load plugins
[Trace - 11:02:22 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "Load plugins (done) | time=37ms"
}


Load plugins (done) | time=37ms
[Trace - 11:02:22 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "Plugins:"
}


Plugins:
[Trace - 11:02:22 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "  * SonarPHP 3.2.0.4868 (php)"
}


  * SonarPHP 3.2.0.4868 (php)
[Trace - 11:02:22 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "  * SonarPython 1.15.1.4116 (python)"
}


  * SonarPython 1.15.1.4116 (python)
[Trace - 11:02:22 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "  * SonarTS 1.9.0.3766 (typescript)"
}


  * SonarTS 1.9.0.3766 (typescript)
[Trace - 11:02:22 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "  * SonarHTML 3.2.0.2082 (web)"
}


  * SonarHTML 3.2.0.2082 (web)
[Trace - 11:02:22 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "  * SonarJS 5.1.1.7506 (javascript)"
}


  * SonarJS 5.1.1.7506 (javascript)
[Trace - 11:02:26 AM] Received notification 'window/logMessage'.
Params: {
    "type": 3,
    "message": "Starting SonarTS Server"
}


[Info  - 11:02:26 AM] Starting SonarTS Server
[Trace - 11:02:26 AM] Received notification 'window/logMessage'.
Params: {
    "type": 4,
    "message": "Deploying bundle to C:\\Users\\vikas.verma01\\.sonarlint\\work\\.sonartmp_4560597501208034277\\1138937401044385957"
}

What happens if you trigger an update of the SonarLint binding (this is a global command):

Can you give us the logs from the SonarLint output instead of the language server protocol low level messages?

3 posts were split to a new topic: Unable to bind when server is behind a proxy with AD authentication

When am sending Sonalint update binding command nothing happen. I could not see any response back in sonarlint output windows.

the log details I shared is picked from Sonarlint output windows. let me know what other details you need.

To remove low level logs, just change the setting sonarlint.trace.server to off.

Can you try to manually delete the SonarLint storage, then restart VSCode and see if you can update the binding. The storage should be located in your home directory: C:\Users\vikas.verma01\.sonarlint\storage.

1 Like

Thanks for your help Julien Henry.
It is working fine now. in my case, i did not find the storage folder under the .sonarlint folder. I need to create a storage folder manually. Once it is created sonarlint created the desired folders under the storage folder and after that, it connected with sonarqube as needed.

Once again, thanks for your guidance to resolve this issue.

Hum, does it mean SonarLint was unable to create the .sonarlint folder automatically? Is there anything specific to your set up that would explain that? Special permission? Roaming profile? Anti-virus software?

If you have time, could you please do some experiments, like deleting the .sonarlint folder, to see if SonarLint is able to re-create it when you update the binding?

.sonarlint folder was created but storage folder was not created under it. Update binding did not say anything on output windows. when I have created storage folder manually under the .sonarlint then update bindings command work as expected and created desired folder & files in the storage folder.