Skip to content

[VS Code] Deprecate additionalLanguages setting in favour of enabledUnsupportedLanguages

User problem to solve

As a developer using GitLab Duo in VS Code, I want to be able to easily enable code suggestions for specific programming languages that are not enabled by default. Currently, I have to manually search for the language identifier and enable each language in the settings, which is time-consuming and inconvenient. A clear list of languages where I can check the ones I need would streamline this process.

Feature description

The goal of this feature is to provide a user-friendly UI for enabling code suggestions for specific programming languages in the VS Code extension. This feature should allow users to select from a list of supported languages and check code suggestions on or off for each language.

Proposal

  • The languages list is accessible within the extension's settings
  • Display a list of programming languages
  • Each language should have a checkbox (disabled by default) to enable or disable code suggestions for that language
  • User can reset the languages list via the VS Code settings

List of languages:

  • CSS
  • Clojure
  • Dart
  • Elixir
  • Erlang
  • Fortran
  • Groovy
  • Haskell
  • HTML
  • JavaServer Pages (.jsp)
  • Lean (.lean)
  • Lua
  • Objective-C (.m)
  • OCaml (.ml)
  • Perl
  • R
  • Shell script
  • Solidity
  • XML
  • Verilog
  • YAML

In !1689 (comment 1965195189), we discussed the naming of the existing additionalLanguages VS Code extension setting in the context of the soon-to-be-added enabledSupportedLanguages setting (for #1388 (closed)).

This issue is about deprecating additionalLanguages and adding a new, equivalent enabledUnsupportedLanguages setting. This might be done before, as part of, or after the follow-up to #1388 (closed) (it's TBD).

Proposed implementation

  • Add a deprecationMessage to additionalLanguages pointing to the new enabledUnsupportedLanguages

    • Possibly also use configurationDefaults to [c]ontribute default values for other registered configurations and override their defaults.
    • Add logic to read from enabledUnsupportedLanguages if it exists, falling back to additionalLanguages otherwise.
  • @markrian started a discussion: (+5 comments)

    note: I don't much like this name. A more correct but uglier name is enabledSupportedLanguages.

    Similarly, additionalLanguages could be more correctly named enabledUnsupportedLanguages.

    Hmm.

Edited by Mark Florian