-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.html
23 lines (23 loc) · 15.3 KB
/
README.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!doctype html>
<html>
<head>
<meta charset='UTF-8'><meta name='viewport' content='width=device-width initial-scale=1'>
<title>README</title><style type='text/css'>html {overflow-x: initial !important;}
</head>
<body class='typora-export os-windows'>
<div id='write' class=''><p align="center">
<a href="" rel="noopener">
<img src="https://dummyimage.com/200x200/000000/FFFFFF.png?text=planetAPEX" width="200px" height="200px" alt="" style="border-radius:50%"></a>
</p><p> </p><h2 align="center">
VS Code Profile Manager <!-- omit in toc --> </h2><p> </p><div align="center"></div><p><a href=''><img src="https://img.shields.io/badge/status-active-success.svg" referrerpolicy="no-referrer" alt="Status"></a>
<a href='https://github.com/planetapex/vs-code-profile-manager/issues'><img src="https://img.shields.io/github/issues/planetapex/vs-code-profile-manager.svg" referrerpolicy="no-referrer" alt="GitHub Issues"></a>
<img src="https://img.shields.io/github/issues-pr/planetapex/vs-code-profile-manager.svg" referrerpolicy="no-referrer" alt="GitHub Pull Requests">
<a href='/LICENSE'><img src="https://img.shields.io/badge/license-MIT-blue.svg" referrerpolicy="no-referrer" alt="License"></a></p><p></div></p><hr /><p align="center"> </p><p> </p><h2><a name="🧐-about-a-name--abouta----omit-in-toc---" class="md-header-anchor"></a><span>🧐 About </span><a name = "about"></a><span> </span><!-- omit in toc --><span> </span></h2><p><span>This a small utility to manage Visual Studio Code Profiles for extensions. Currently VS Code maintains Extensions at a User or Workspace Level.</span></p><blockquote><p><span>Throughtout the documentation I refer to the </span><strong><span>"VS Code Original Shortcut"</span></strong><span> as the one which comes with installation when VS code is installed.</span></p></blockquote><p><span>For each workspace the user needs to Enable and Disable Extension , which can be Cumbersome.</span></p><p><span>To make things easier and centrally organized, you do not need to keep separate configuration of your settings. This makes backing up of settings (which includes extensions installed, information easier, by using extension you would be already familiar with, like, </span></p><p><a href='https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync'><span>Settings Sync</span></a></p><p> </p><blockquote><p><span>User settings are configured and Extensions installed from the original shortcut, So that, original setup is not disturbed and easier to maintain a backup of the settings and extension list from a centralized point.</span></p></blockquote><blockquote><p><span>Any Changes made to the configuration(settings.json ) will automatically be reflected.</span></p></blockquote><p> </p><p><span>Here are few points to keep in mind</span></p><ul><li><span>To keep settings , usually many developers , use extension Like shan to keep their settings backup.</span></li><li><span>You need to to use the original VS code shortcut to Make changes to your settings and install any new extension. </span></li><li><span>Configure your extensions as detailed in the instructions of the Extension or using the Setting.json if necessary.</span></li><li><span>Once you have Installed and configured your extensions, you can use the VS Code Profile Manager to add it to your profile</span>
<span>VS Code Profile Manager will use the user settings.json and same installed extension.</span></li></ul><p><br><span> </span></p><h2><a name="📝-table-of-contents----omit-in-toc---" class="md-header-anchor"></a><span>📝 Table of Contents </span><!-- omit in toc --><span> </span></h2><ul><li><p><a href='#1--installation-of-vs-code-profile-manager'><span>1. 🏗 Installation of VS Code Profile Manager</span></a></p></li><li><p><a href='#2-️-backup-of-your-configuration'><span>2. 🗄️ Backup of Your Configuration</span></a></p></li><li><p><a href='#3--getting-started--'><span>3. 🏁 Getting Started </span><a name = "getting_started"></a></a></p></li><li><p><a href='#4-️-setting-up-configuration-directories'><span>4. ⚙️ Setting up Configuration Directories</span></a></p><ul><li><a href='#41-21--visual-studio-code-installation-folder'><span>4.1. 2.1 🔧 Visual Studio Code Installation Folder</span></a></li><li><a href='#42--profiles-base-folder'><span>4.2. 🔧 Profiles Base Folder</span></a></li><li><a href='#43--theme-selector'><span>4.3. 🔧 Theme Selector</span></a></li></ul></li><li><p><a href='#5--profiles-pane'><span>5. 🗃 Profiles Pane</span></a></p></li><li><p><a href='#6-twistedrightwardsarrows-extension-list-window-adding--removing-extensions-from-your-profile'><span>6. </span>🔀<span> Extension List Window (Adding & Removing Extensions from your Profile)</span></a></p><ul><li><a href='#61-names-inconsistency-rare-cases'><span>6.1. Names Inconsistency [Rare Cases]</span></a></li><li><a href='#62-shortcut-keys'><span>6.2. Shortcut Keys</span></a></li><li><a href='#63-saving-the-profile'><span>6.3. Saving the profile</span></a></li></ul></li><li><p><a href='#7-running-the-profile'><span>7. 🚴Running the Profile</span></a></p></li><li><p><a href='#8-️-built-using-'><span>8. ⛏️ Built Using </span><a name = "built_using"></a></a></p></li><li><p><a href='#9-️-authors-'><span>9. ✍️ Authors </span><a name = "authors"></a></a></p><ul><li><a href='#91-️-social-links'><span>9.1. ✍️ Social Links</span></a></li></ul></li></ul><h2><a name="1-🏗-installation-of-vs-code-profile-manager" class="md-header-anchor"></a><span>1. 🏗 Installation of VS Code Profile Manager</span></h2><ul><li><p><span>Download the MSI from</span></p><ul><li><span>releases</span></li><li><span>as</span></li></ul></li><li><p><span>Run the installation</span></p></li><li><p><span>The Installer will Install the application in Program Files\planetAPEX\VS Code Profile Manager Folder</span></p></li><li><p><span>A Shortcut will be created on the desktop</span></p></li></ul><h2><a name="2-🗄️-backup-of-your-configuration" class="md-header-anchor"></a><span>2. 🗄️ Backup of Your Configuration</span></h2><p><span>There is a profileMgr.SQLite file in the Program Files\planetAPEX\VS Code Profile Manager Folder. </span>
<span>If you need to backup all your setting you can backup this file, which contains your profiles and extensions list.</span></p><p> </p><h2><a name="3-🏁-getting-started--a-name--gettingstarteda" class="md-header-anchor"></a><span>3. 🏁 Getting Started </span><a name = "getting_started"></a></h2><p><span>You have the following:</span></p><ul><li><span>Configuration Directories</span></li><li><span>Profiles</span></li><li><span>Extensions List</span></li></ul><blockquote><p><span>All Configurations can be saved, so that on next run, you do not need to specify.</span></p></blockquote><h2><a name="4-⚙️-setting-up-configuration-directories" class="md-header-anchor"></a><span>4. ⚙️ Setting up Configuration Directories</span></h2><p><span>In order for the profile manager to work, it needs two directories the </span></p><ul><li><span>Visual Studio Code Installation Folder</span></li><li><span>Profile Base Folder</span></li></ul><p><img src="/assets/configurationDirectories.png" referrerpolicy="no-referrer" alt="configurationDirectories"></p><h3><a name="41-21-🔧-visual-studio-code-installation-folder" class="md-header-anchor"></a><span>4.1. 2.1 🔧 Visual Studio Code Installation Folder</span></h3><p><span>This is the folder where Visual Studio Code is installed, where code.exe exist.</span>
<span>It will detect the default folder for Visual Studio Code. However, in rare case , if it can not, you will have to identify the specific folder.</span></p><ul><li></li></ul><p><span>I tried to solve the directory for:</span></p><ul><li><span>x86 installation of Visual Studio Code</span></li><li><span>x64 installation of Visual Studio Code</span></li><li><span>Chocolatey installation of Visual Studio Code</span></li></ul><h3><a name="42-🔧-profiles-base-folder" class="md-header-anchor"></a><span>4.2. 🔧 Profiles Base Folder</span></h3><p><span>This is the folder where you need to keep the profiles and their shortcuts.</span></p><blockquote><p><span>Probably, Some folder like Profiles in the D: drive.</span></p></blockquote><h3><a name="43-🔧-theme-selector" class="md-header-anchor"></a><span>4.3. 🔧 Theme Selector</span></h3><p><span>There is also an option for Theme selector</span></p><p> </p><h2><a name="5-🗃-profiles-pane" class="md-header-anchor"></a><span>5. 🗃 Profiles Pane</span></h2><p><span>Create a new Profile, and click the edit to add extensions.</span></p><p><img src="/assets/ProfilesPane.png" referrerpolicy="no-referrer" alt="ProfilesPane"></p><blockquote><p><span>Valid profile name consist of Alphabets and Digits only</span></p></blockquote><p> </p><p><span>You can delete your profile by clicking the delete button.</span></p><blockquote><p><span>Deletion of the profile has no effect on the configurations and extensions that are installed in the original VS Code.</span></p></blockquote><h2><a name="6-twistedrightwardsarrows-extension-list-window-adding--removing-extensions-from-your-profile" class="md-header-anchor"></a><span>6. </span>🔀<span> Extension List Window (Adding & Removing Extensions from your Profile)</span></h2><blockquote><p><span>The list only contains the extensions already installed in your system.</span>
<span>As mentioned in </span><a href='#about'><span>About</span></a><span> you have to install your extension via the VS Code original shortuct</span></p></blockquote><p><img src="/assets/ExtensionListWindow_gt0sjogrs.png" referrerpolicy="no-referrer" alt="ExtensionListWindow"></p><p><span>My </span><strong><em><span>Quick Workflow</span></em></strong><span> is, </span></p><ul><li><span>Start Searching extension in the combo box</span></li><li><span>Select the desired with the up and down arrow keys, and hit enter</span></li><li><span>This will select the Extension in the List box</span></li><li><span>Now, you can press Ctrl+</span><strong><span>➡</span></strong><span> OR Ctrl+⬅️ arrow key to move into the other list box</span></li><li><span>And, bring the cursor back to the Combo box to repeat the process for other extensions.</span></li></ul><blockquote><p><span>You can select multiple extensions and move it.</span></p></blockquote><h3><a name="61-names-inconsistency-rare-cases" class="md-header-anchor"></a><span>6.1. Names Inconsistency [Rare Cases]</span></h3><p><span>The names mentioned in the list box of the Extensions, are extracted from the cryptic names got from the Unique Identifier of the extensions, Like:</span></p><p><strong><span>cyberbiont.vscode-open-in-typora</span></strong></p><p><span>AFAIK, there was on other way around it to get it from the system. If someone is able to provide other way, please contact me.</span></p><p><span>Sometimes,there is inconsistency in the name of the extension,</span>
<span> E.g. The General Name </span><strong><em><span>"Open in Typora"</span></em></strong><span> ,</span>
<span> However, the Unique Identifier of the extension is like:</span></p><p><strong><span>cyberbiont.vscode-open-in-typora</span></strong></p><p><span> Now the name in the list box will be </span><em><strong><em><span>vscode Open in typora</span></em></strong></em></p><p><span>So kindly check it in the extension List or </span><a href='https://marketplace.visualstudio.com/'><span>Microsoft Market place</span></a></p><h3><a name="62-shortcut-keys" class="md-header-anchor"></a><span>6.2. Shortcut Keys</span></h3><p><span>These shortcut will work when a respective List box is in focus.</span></p><pre spellcheck="false" class="md-fences md-end-block ty-contain-cm modeLoaded" lang=""><div class="CodeMirror cm-s-inner CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 4px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">Ctrl+➡️<span class="cm-tab" role="presentation" cm-text=" "> </span>Will move the selected extensions to Right Listbox</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">Ctrl+⬅️<span class="cm-tab" role="presentation" cm-text=" "> </span>Will move the selected extensions to Left Listbox</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">Ctrl+Enter<span class="cm-tab" role="presentation" cm-text=" "> </span>Will Save the Form</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 79px;"></div><div class="CodeMirror-gutters" style="display: none; height: 79px;"></div></div></div></pre><h3><a name="63-saving-the-profile" class="md-header-anchor"></a><span>6.3. Saving the profile</span></h3><p><span>Saving the profile will create 2 shortcuts </span></p><ul><li><span>One in the Profiles Folder</span></li><li><span>Other on the Desktop</span></li></ul><h2><a name="7-🚴running-the-profile" class="md-header-anchor"></a><span>7. 🚴Running the Profile</span></h2><p><span>Just double click the Shortcut and you are good to go.</span></p><p> </p><h2><a name="8-⛏️-built-using-a-name--builtusinga" class="md-header-anchor"></a><span>8. ⛏️ Built Using </span><a name = "built_using"></a></h2><ul><li><p><a href='https://docs.microsoft.com/en-us/powershell/scripting/overview?view=powershell-7.1'><span>Powershell</span></a><span> - Scripting Language</span></p></li><li><p><a href='https://dotnet.microsoft.com/download/dotnet-framework'><span>DotNet v3</span></a><span> - Components</span></p></li><li><p><a href='https://www.sqlite.org/index.html'><span>sqlite</span></a></p></li><li><p><span>INI Confiuration</span></p><p> </p></li></ul><p> </p><h2><a name="9-✍️-authors-a-name--authorsa" class="md-header-anchor"></a><span>9. ✍️ Authors </span><a name = "authors"></a></h2><ul><li><span>M.Yasir Ali Shah</span><a href='https://github.com/planetapex'><span>@planetapex</span></a><span> - Idea & Initial work</span></li></ul><p> </p><h3><a name="91-✍️-social-links" class="md-header-anchor"></a><span>9.1. ✍️ Social Links</span></h3><p> </p><p> </p><p> </p><p> </p><p> </p></div>
</body>
</html>