IJPL-175691 Add clarifying documentation for data provider

IJ-CR-154784

(cherry picked from commit 01eee0457011e77a81b0e9f665a96a902d790338)

GitOrigin-RevId: b625bf851f0b3e55700179f2ecb92d38a2040e08
This commit is contained in:
Dmitry Pogrebnoy
2025-02-11 15:16:34 +01:00
committed by intellij-monorepo-bot
parent 44ecefbcc0
commit 82d598decb

View File

@@ -24,6 +24,20 @@ private const val VSCODE_PLUGINS_IDENTIFICATION_TAG = "identifier"
private const val VSCODE_PLUGINS_ID_TAG = "id"
private val logger = logger<VSCodeCollectionDataProvider>()
/**
* Collects anonymous data about installed VSCode plugins to improve the "Import settings from VSCode" feature
* and prioritize support for popular plugins.
*
* This includes:
* - Detecting if VSCode is installed and determining its configuration directories across platforms (Windows, macOS, Linux).
* - Parsing the VSCode configuration file (`extensions.json`) to identify installed plugins.
* Though, only info about public popular plugins from the VSCode Marketplace is collected.
* - Checking the last usage time of VSCode to ensure the relevance of collected data.
*
* The data is completely anonymized and no personally identifiable information is captured.
* All collected data is used to enhance support "Import settings from VSCode" for widely used VSCode plugins.
*/
internal class VSCodeCollectionDataProvider : ExternalEditorCollectionDataProvider() {
private val vsCodeHomePath: Path? = when {