SonarLint - language not enabled - tsql

  • Operating system: Windows
  • IDE name and flavor/env: Visual Studio Code
  • SonarLint plugin version: 3.4.1
  • Is connected mode used: Yes
    • Connected to SonarCloud or SonarQube (and which version): SonarQube Developer Edition Version 9.3 (build 51899)

And a thorough description of the problem / question: I have a project setup in SonarQube that currently scans python and tsql. I installed the “SonarLint” plugin to Visual Studio code, but I’m not seeing the issues line up with SonarQube. After turning debug logging on I see this in the logs:

[Debug - 14:03:19.929] [SYNC] Code analyzer 'tsql' is disabled in SonarLint (language not enabled). Skip downloading it.

How do I enable the tsql language in SonarLint?

Startup Logs:

[Debug - 14:34:22.195] GET 200 http://sonarserver:9000/api/system/status | response time=24ms
[Debug - 14:34:22.195] Downloaded server infos in 23ms
[Debug - 14:34:22.260] Page downloaded in 47ms
[Info  - 14:34:22.303] Local storage status for connection with id 'SonarQube': org.sonarsource.sonarlint.core.container.model.DefaultGlobalStorageStatus@5d68b876
[Debug - 14:34:22.345] Page downloaded in 35ms
[Debug - 14:34:22.666] GET 200 http://sonarserver.com:9000/batch/issues?key=DA_airflow | response time=302ms
[Debug - 14:34:22.673] Downloaded issues in 309ms
[Debug - 14:34:23.163] Page downloaded in 209ms
[Debug - 14:34:23.388] GET 200 http://sonarserver.com:9000/api/system/status | response time=38ms
[Debug - 14:34:23.388] Downloaded server infos in 37ms
[Debug - 14:34:23.431] GET 200 http://sonarserver.com:9000/api/plugins/installed | response time=40ms
[Info  - 14:34:23.433] Downloaded plugin list in 43ms
[Debug - 14:34:23.434] [SYNC] Code analyzer 'abap' is disabled in SonarLint (language not enabled). Skip downloading it.
[Debug - 14:34:23.434] [SYNC] Code analyzer 'csharp' does not support SonarLint. Skip downloading it.
[Debug - 14:34:23.434] [SYNC] Code analyzer 'cpp' is embedded in SonarLint. Skip downloading it.
[Debug - 14:34:23.434] [SYNC] Code analyzer 'config' does not support SonarLint. Skip downloading it.
[Debug - 14:34:23.434] [SYNC] Code analyzer 'flex' does not support SonarLint. Skip downloading it.
[Debug - 14:34:23.434] [SYNC] Code analyzer 'go' does not support SonarLint. Skip downloading it.
[Debug - 14:34:23.434] [SYNC] Code analyzer 'web' is up-to-date. Skip downloading it.
[Debug - 14:34:23.434] [SYNC] Code analyzer 'iac' does not support SonarLint. Skip downloading it.
[Debug - 14:34:23.434] [SYNC] Code analyzer 'jacoco' does not support SonarLint. Skip downloading it.
[Debug - 14:34:23.434] [SYNC] Code analyzer 'java' is up-to-date. Skip downloading it.
[Debug - 14:34:23.434] [SYNC] Code analyzer 'javascript' is up-to-date. Skip downloading it.
[Debug - 14:34:23.435] [SYNC] Code analyzer 'kotlin' is disabled in SonarLint (language not enabled). Skip downloading it.
[Debug - 14:34:23.435] [SYNC] Code analyzer 'license' is up-to-date. Skip downloading it.
[Debug - 14:34:23.435] [SYNC] Code analyzer 'php' is up-to-date. Skip downloading it.
[Debug - 14:34:23.435] [SYNC] Code analyzer 'plsql' is up-to-date. Skip downloading it.
[Debug - 14:34:23.435] [SYNC] Code analyzer 'python' is up-to-date. Skip downloading it.
[Debug - 14:34:23.435] [SYNC] Code analyzer 'ruby' is disabled in SonarLint (language not enabled). Skip downloading it.
[Debug - 14:34:23.435] [SYNC] Code analyzer 'sql' does not support SonarLint. Skip downloading it.
[Debug - 14:34:23.435] [SYNC] Code analyzer 'sonarscala' is disabled in SonarLint (language not enabled). Skip downloading it.
[Debug - 14:34:23.435] [SYNC] Code analyzer 'swift' is disabled in SonarLint (language not enabled). Skip downloading it.
[Debug - 14:34:23.435] [SYNC] Code analyzer 'tsql' is disabled in SonarLint (language not enabled). Skip downloading it.
[Debug - 14:34:23.435] [SYNC] Code analyzer 'text' does not support SonarLint. Skip downloading it.
[Debug - 14:34:23.435] [SYNC] Code analyzer 'vbnet' does not support SonarLint. Skip downloading it.
[Debug - 14:34:23.436] [SYNC] Code analyzer 'security' does not support SonarLint. Skip downloading it.
[Debug - 14:34:23.436] [SYNC] Code analyzer 'securitycsharpfrontend' does not support SonarLint. Skip downloading it.
[Debug - 14:34:23.436] [SYNC] Code analyzer 'securityjsfrontend' does not support SonarLint. Skip downloading it.
[Debug - 14:34:23.436] [SYNC] Code analyzer 'securityjavafrontend' does not support SonarLint. Skip downloading it.
[Debug - 14:34:23.436] [SYNC] Code analyzer 'securityphpfrontend' does not support SonarLint. Skip downloading it.
[Debug - 14:34:23.436] [SYNC] Code analyzer 'securitypythonfrontend' does not support SonarLint. Skip downloading it.
[Debug - 14:34:23.436] [SYNC] Code analyzer 'xml' is up-to-date. Skip downloading it.
[Info  - 14:34:23.436] [SYNC] Synchronizing analyzer configuration for project 'DA_airflow'
[Debug - 14:34:23.479] GET 200 http://sonarserver.com:9000/api/settings/values.protobuf?component=DA_airflow | response time=42ms
[Info  - 14:34:23.479] Downloaded settings in 42ms
[Debug - 14:34:23.538] GET 200 http://sonarserver.com:9000/api/qualityprofiles/search.protobuf?project=DA_airflow | response time=58ms
[Debug - 14:34:23.538] Downloaded project quality profiles in 58ms
[Info  - 14:34:23.538] [SYNC] Fetching rule set for language 'c' from profile 'AX8ngzMhQbpEhLY8egs4'
[Debug - 14:34:23.615] GET 200 http://sonarserver:9000/api/rules/search.protobuf?qprofile=AX8ngzMhQbpEhLY8egs4&activation=true&f=templateKey,actives&types=CODE_SMELL,BUG,VULNERABILITY&ps=500&p=1 | response time=75ms
[Info  - 14:34:23.639] [SYNC] Fetching rule set for language 'cpp' from profile 'AX8ngzDLQbpEhLY8egf0'
[Debug - 14:34:23.772] GET 200 http://sonarserver.com:9000/api/rules/search.protobuf?qprofile=AX8ngzDLQbpEhLY8egf0&activation=true&f=templateKey,actives&types=CODE_SMELL,BUG,VULNERABILITY&ps=500&p=1 | response time=132ms
[Info  - 14:34:23.786] [SYNC] Fetching rule set for language 'java' from profile 'AX8ngydMQbpEhLY8ef8K'
[Debug - 14:34:23.955] GET 200 http://sonarserver.com:9000/api/rules/search.protobuf?qprofile=AX8ngydMQbpEhLY8ef8K&activation=true&f=templateKey,actives&types=CODE_SMELL,BUG,VULNERABILITY&ps=500&p=1 | response time=169ms
[Info  - 14:34:23.959] [SYNC] Fetching rule set for language 'js' from profile 'AX8ngyDjQbpEhLY8efbT'
[Debug - 14:34:24.027] GET 200 http://sonarserver.com:9000/api/rules/search.protobuf?qprofile=AX8ngyDjQbpEhLY8efbT&activation=true&f=templateKey,actives&types=CODE_SMELL,BUG,VULNERABILITY&ps=500&p=1 | response time=68ms
[Info  - 14:34:24.029] [SYNC] Fetching rule set for language 'php' from profile 'AX8ngzidQbpEhLY8ehMa'
[Debug - 14:34:24.091] GET 200 http://sonarserver.com:9000/api/rules/search.protobuf?qprofile=AX8ngzidQbpEhLY8ehMa&activation=true&f=templateKey,actives&types=CODE_SMELL,BUG,VULNERABILITY&ps=500&p=1 | response time=61ms
[Info  - 14:34:24.092] [SYNC] Fetching rule set for language 'plsql' from profile 'AX8ngyVKQbpEhLY8efqx'
[Debug - 14:34:24.153] GET 200 http://sonarserver.com:9000/api/rules/search.protobuf?qprofile=AX8ngyVKQbpEhLY8efqx&activation=true&f=templateKey,actives&types=CODE_SMELL,BUG,VULNERABILITY&ps=500&p=1 | response time=60ms
[Info  - 14:34:24.154] [SYNC] Fetching rule set for language 'py' from profile 'AX8xUsQqQbpEhLY8ehxl'
[Debug - 14:34:24.217] GET 200 http://sonarserver.com:9000/api/rules/search.protobuf?qprofile=AX8xUsQqQbpEhLY8ehxl&activation=true&f=templateKey,actives&types=CODE_SMELL,BUG,VULNERABILITY&ps=500&p=1 | response time=63ms
[Info  - 14:34:24.218] [SYNC] Fetching rule set for language 'ts' from profile 'AX8ngzzRQbpEhLY8ehdI'
[Debug - 14:34:24.283] GET 200 http://sonarserver.com:9000/api/rules/search.protobuf?qprofile=AX8ngzzRQbpEhLY8ehdI&activation=true&f=templateKey,actives&types=CODE_SMELL,BUG,VULNERABILITY&ps=500&p=1 | response time=64ms
[Info  - 14:34:24.284] [SYNC] Fetching rule set for language 'web' from profile 'AX8ngykwQbpEhLY8egEj'
[Debug - 14:34:24.327] GET 200 http://sonarserver.com:9000/api/rules/search.protobuf?qprofile=AX8ngykwQbpEhLY8egEj&activation=true&f=templateKey,actives&types=CODE_SMELL,BUG,VULNERABILITY&ps=500&p=1 | response time=42ms
[Info  - 14:34:24.328] [SYNC] Fetching rule set for language 'xml' from profile 'AX8ngynvQbpEhLY8egFz'
[Debug - 14:34:24.370] GET 200 http://sonarserver.com:9000/api/rules/search.protobuf?qprofile=AX8ngynvQbpEhLY8egFz&activation=true&f=templateKey,actives&types=CODE_SMELL,BUG,VULNERABILITY&ps=500&p=1 | response time=42ms
[Debug - 14:34:24.371] Storing project analyzer configuration in C:\Users\user\.sonarlint\storage\536f6e6963536f6e617251756265\projects\44415f616972666c6f77\analyzer_config.pb
[Info  - 14:34:24.376] [SYNC] Synchronizing project branches for project 'DA_airflow'
[Debug - 14:34:24.412] GET 200 http://sonarserver.com:9000/api/project_branches/list.protobuf?project=DA_airflow | response time=34ms
[Debug - 14:34:24.413] Storing project branches in C:\Users\user\.sonarlint\storage\536f6e6963536f6e617251756265\projects\44415f616972666c6f77\project_branches.pb

Scan Logs:

Debug - 14:31:21.475] Queuing analysis of file 'file:///c:/Users/user/sqlfile.sql' (version 1)
[Debug - 14:31:21.622] Cached SCM ignore status for file 'file:///c:/Users/user/sqlfile.sql'
[Info  - 14:31:21.625] Analyzing file 'file:///c:/Users/user/sqlfile.sql'...
[Debug - 14:31:21.625] Analysis triggered with configuration:
[
  projectKey: DA_airflow
  baseDir: c:/Users/user/
  extraProperties: {sonar.cfamily.compile-commands=}
  moduleKey: file:///c:/Users/user
  inputFiles: [
    file:///c:/Users/user/sqlfile.sql (UTF-8)
  ]
]

[Debug - 14:31:21.628]   * cpp: 394 active rules
[Debug - 14:31:21.629] Rule common-cpp:DuplicatedBlocks is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.629] Rule cpp:S5527 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.629] Rule cpp:S4830 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.631]   * c: 189 active rules
[Debug - 14:31:21.631] Rule c:S5527 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.631] Rule c:S4830 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.631] Rule common-c:DuplicatedBlocks is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.631]   * java: 441 active rules
[Debug - 14:31:21.631] Rule javasecurity:S2076 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.631] Rule javasecurity:S2078 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.631] Rule javasecurity:S2631 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.631] Rule javasecurity:S3649 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.631] Rule javasecurity:S5135 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.631] Rule javasecurity:S5145 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.631] Rule javasecurity:S5146 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.631] Rule javasecurity:S5334 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.631] Rule javasecurity:S5883 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.631] Rule javasecurity:S2083 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.631] Rule javasecurity:S2091 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.631] Rule javasecurity:S5131 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.632] Rule javasecurity:S5144 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.632] Rule javasecurity:S6096 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.632] Rule javasecurity:S6287 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.632] Rule javasecurity:S6384 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.632] Rule common-java:DuplicatedBlocks is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.633]   * web: 27 active rules
[Debug - 14:31:21.633]   * xml: 15 active rules
[Debug - 14:31:21.633]   * js: 169 active rules
[Debug - 14:31:21.633] Rule jssecurity:S2631 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.633] Rule jssecurity:S2076 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.633] Rule jssecurity:S2083 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.633] Rule jssecurity:S3649 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.633] Rule jssecurity:S5131 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.633] Rule jssecurity:S5144 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.633] Rule jssecurity:S5146 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.633] Rule jssecurity:S5147 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.633] Rule jssecurity:S5334 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.633] Rule jssecurity:S5696 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.634] Rule jssecurity:S5883 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.634] Rule jssecurity:S6105 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.634] Rule jssecurity:S6096 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.634] Rule jssecurity:S6287 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.634]   * php: 145 active rules
[Debug - 14:31:21.634] Rule phpsecurity:S2076 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.634] Rule phpsecurity:S2078 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.634] Rule phpsecurity:S2631 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635] Rule phpsecurity:S3649 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635] Rule phpsecurity:S5131 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635] Rule phpsecurity:S5135 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635] Rule phpsecurity:S5145 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635] Rule phpsecurity:S5146 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635] Rule phpsecurity:S5334 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635] Rule phpsecurity:S5335 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635] Rule phpsecurity:S5883 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635] Rule phpsecurity:S2083 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635] Rule phpsecurity:S2091 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635] Rule phpsecurity:S5144 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635] Rule phpsecurity:S6287 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635] Rule common-php:DuplicatedBlocks is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635]   * py: 126 active rules
[Debug - 14:31:21.635] Rule pythonsecurity:S2076 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635] Rule pythonsecurity:S2078 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635] Rule pythonsecurity:S2631 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635] Rule pythonsecurity:S5135 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.635] Rule pythonsecurity:S5145 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.636] Rule pythonsecurity:S5146 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.636] Rule pythonsecurity:S5334 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.636] Rule pythonsecurity:S2083 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.636] Rule pythonsecurity:S2091 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.636] Rule pythonsecurity:S3649 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.636] Rule pythonsecurity:S5131 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.636] Rule pythonsecurity:S5144 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.636]   * plsql: 130 active rules
[Debug - 14:31:21.637]   * ts: 159 active rules
[Debug - 14:31:21.637] Rule tssecurity:S2631 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.637] Rule tssecurity:S2076 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.637] Rule tssecurity:S3649 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.637] Rule tssecurity:S5131 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.637] Rule tssecurity:S5144 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.637] Rule tssecurity:S5146 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.637] Rule tssecurity:S5147 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.637] Rule tssecurity:S5334 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.637] Rule tssecurity:S5696 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.637] Rule tssecurity:S5883 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.637] Rule tssecurity:S6105 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.637] Rule tssecurity:S2083 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.637] Rule tssecurity:S6096 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.638] Rule tssecurity:S6287 is enabled on the server, but not available in SonarLint
[Debug - 14:31:21.646] Start analysis
[Info  - 14:31:21.648] Index files
[Debug - 14:31:21.649] Language of file 'file:///c:/Users/user/sqlfile.sql' is detected to be 'T-SQL'
[Info  - 14:31:21.649] 1 file indexed
[Debug - 14:31:21.661] 'JavaSensor' skipped because there is no related files in the current project
[Debug - 14:31:21.661] 'Python Sensor' skipped because there is no related files in the current project
[Debug - 14:31:21.661] 'XML Sensor' skipped because there is no related files in the current project
[Debug - 14:31:21.662] 'PL/SQL Sensor' skipped because there is no related files in the current project
[Debug - 14:31:21.662] 'CFamily' skipped because there is no related files in the current project
[Debug - 14:31:21.662] 'JavaScript analysis' skipped because there is no related files in the current project
[Debug - 14:31:21.662] 'TypeScript analysis' skipped because there is no related files in the current project
[Debug - 14:31:21.662] Execute Sensor: Sonar Secrets Detection Sensor
[Debug - 14:31:21.667] 'PHP sensor' skipped because there is no related files in the current project
[Debug - 14:31:21.667] 'Analyzer for "php.ini" files' skipped because there is no related files in the current project
[Debug - 14:31:21.667] Execute Sensor: HTML
[Info  - 14:31:21.673] Found 0 issues
[Debug - 14:31:50.376] GET 200 http://sonarserver.com:9000/api/developers/search_events?projects=DA_airflow&from=2022-05-23T14%3A25%3A50-0400 | response time=39ms

Hey there.

T-SQL is simply not a supported language for SonarLint for VS Code (you can find the supported languages here).

Feel free to voice your support on our roadmap portal.

Ah, okay. Thanks for letting me know. The verbiage in the error is not very clear. “Disabled” implies that it can be enabled. Especially when there are other languages that say “does not support”.

Thanks for the link of the roadmap portal. I’ve submitted it there.