From e2d8312552923df2a46741ace5fb1bd0bd59365a Mon Sep 17 00:00:00 2001 From: Valerio Date: Sat, 10 Oct 2026 19:35:59 +0200 Subject: [PATCH] Localize the extension description and add screenshots to the README - Language packs (it, fr, de) for the VSIX manifest: Visual Studio shows the localized description in Manage Extensions. - README: Options page and Output window screenshots, served from docs/images. --- CHANGELOG.txt | 3 ++- README.md | 6 ++++++ .../Manifest/de/extension.vsixlangpack | 6 ++++++ .../Manifest/fr/extension.vsixlangpack | 6 ++++++ .../Manifest/it/extension.vsixlangpack | 6 ++++++ .../SourceControlSwitcher.csproj | 12 ++++++++++++ docs/images/options.png | Bin 0 -> 9950 bytes docs/images/output.png | Bin 0 -> 5213 bytes 8 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 SourceControlSwitcher/Manifest/de/extension.vsixlangpack create mode 100644 SourceControlSwitcher/Manifest/fr/extension.vsixlangpack create mode 100644 SourceControlSwitcher/Manifest/it/extension.vsixlangpack create mode 100644 docs/images/options.png create mode 100644 docs/images/output.png diff --git a/CHANGELOG.txt b/CHANGELOG.txt index ce31207..b5488bf 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -16,7 +16,8 @@ SourceControlSwitcher - v1.2.0 * Removed clients that are no longer maintained: Easy Git Integration Tools / Git Source Control Provider, VisualHG, VSHG, HgSccPackage (Mercurial support). * Solution migrated to .slnx; unit tests added. - * Icon redrawn from the vector logo; Getting Started link in the extension details. Builds, tests and releases now run + * Icon redrawn from the vector logo; Getting Started link in the extension details. + * Extension description localized in Italian, French and German (shown in Manage Extensions). Builds, tests and releases now run on GitHub Actions (CI on every push and pull request; tag vX.Y.Z publishes to the Marketplace). SourceControlSwitcher - v1.1.2 diff --git a/README.md b/README.md index d9a0cb5..618fe93 100644 --- a/README.md +++ b/README.md @@ -68,10 +68,16 @@ If nothing is found and Perforce detection is enabled, it asks the Perforce clie repository is found, the provider configured for it is activated; when nothing is found, the current provider is left unchanged. +Every switch is logged in the *Source Control Switcher* pane of the Output window: + +

Output window: the provider switches from TFVC to Git as solutions are opened

+ ## Options **Tools > Options > Source Control Switcher > General** +

Source Control Switcher options

+ | Category | Option | Default | Description | |---|---|---|---| | General | Switch automatically | On | Switch when a solution or folder opens. When off, use the *Detect Source Control Provider* command. | diff --git a/SourceControlSwitcher/Manifest/de/extension.vsixlangpack b/SourceControlSwitcher/Manifest/de/extension.vsixlangpack new file mode 100644 index 0000000..5f1ff50 --- /dev/null +++ b/SourceControlSwitcher/Manifest/de/extension.vsixlangpack @@ -0,0 +1,6 @@ + + + Source Control Switcher + Legt den Quellcodeverwaltungsanbieter automatisch passend zur geöffneten Visual Studio-Projektmappe fest: Git, Subversion, TFVC oder Perforce. + https://github.com/Ryadel/SourceControlSwitcher + diff --git a/SourceControlSwitcher/Manifest/fr/extension.vsixlangpack b/SourceControlSwitcher/Manifest/fr/extension.vsixlangpack new file mode 100644 index 0000000..714a59e --- /dev/null +++ b/SourceControlSwitcher/Manifest/fr/extension.vsixlangpack @@ -0,0 +1,6 @@ + + + Source Control Switcher + Définit automatiquement le fournisseur de contrôle de code source en fonction de celui utilisé par la solution Visual Studio ouverte : Git, Subversion, TFVC ou Perforce. + https://github.com/Ryadel/SourceControlSwitcher + diff --git a/SourceControlSwitcher/Manifest/it/extension.vsixlangpack b/SourceControlSwitcher/Manifest/it/extension.vsixlangpack new file mode 100644 index 0000000..6341c05 --- /dev/null +++ b/SourceControlSwitcher/Manifest/it/extension.vsixlangpack @@ -0,0 +1,6 @@ + + + Source Control Switcher + Imposta automaticamente il provider del controllo del codice sorgente in base a quello usato dalla soluzione di Visual Studio aperta: Git, Subversion, TFVC o Perforce. + https://github.com/Ryadel/SourceControlSwitcher + diff --git a/SourceControlSwitcher/SourceControlSwitcher.csproj b/SourceControlSwitcher/SourceControlSwitcher.csproj index 2f1fc2a..9560cb0 100644 --- a/SourceControlSwitcher/SourceControlSwitcher.csproj +++ b/SourceControlSwitcher/SourceControlSwitcher.csproj @@ -104,6 +104,18 @@ true + + true + it + + + true + fr + + + true + de + Designer diff --git a/docs/images/options.png b/docs/images/options.png new file mode 100644 index 0000000000000000000000000000000000000000..a5b468980208b318a2117e8bcf7da028decd32c6 GIT binary patch literal 9950 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 nzxi1EUpHlb=)Yd6=Z