64

The Custom Document Well extension is only available for Visual Studio 2017. Is there a way to install it for Visual Studio 2019? Specifically, I only care about the vertical tabs feature.

As of the time of writing this question, the current version of Visual Studio 19 is 16.0.0 and the current version of the Custom Document Well extension is 15.06.

Andrew Keeton
  • 2,871
  • 4
  • 27
  • 28
  • 1
    It looks like they are planning on integrating these features into VS2019 directly and abandoning the extension. You can vote for your favorite features here: [https://developercommunity.visualstudio.com/idea/465490/update-support-for-custom-document-well-to-visual.html](https://developercommunity.visualstudio.com/idea/465490/update-support-for-custom-document-well-to-visual.html). – JOpuckman May 15 '19 at 17:17
  • 1
    Also, the vertical-tabs-specific discussion is here: https://developercommunity.visualstudio.com/idea/467369/vertical-group-tab.html – Andrew Keeton May 15 '19 at 17:46
  • A Microsoft PM [posted](https://developercommunity.visualstudio.com/idea/467369/vertical-group-tab.html?childToView=650543#comment-650543) a survey about tab usage: https://www.surveymonkey.com/r/ZTM73JL – Andrew Keeton Jul 17 '19 at 21:30

4 Answers4

82

Update #2

Vertical tabs are out of preview and are now officially part of Visual Studio 2019 v16.4!

Update #1

The new "Vertical Document Tabs" feature is part of Visual Studio 2019 version 16.4 Preview 2. There is also a dedicated blog post.


Original answer

  1. Download CustomDocWell.vsix
  2. Unzip the file, e.g. rename it to CustomDocWell.vsix.zip and extract the contents
  3. Download the workaround extension.vsixmanifest (non-raw page)
    • The only change is that the upper bound of the InstallationTarget version has been removed
  4. Replace the original extension.vsixmanifest with the workaround file
  5. Download the workaround manifest.json (non-raw page)
    • The only change is the sha256 for extension.vsixmanifest has been recalculated
  6. Replace the original manifest.json with the workaround file
  7. Zip the contents into a new CustomDocWell.zip
    • Important: Make sure the root of the zip file is at the level of extension.vsixmanifest and manifest.json, as well as the other files and folders. The root of the zip file should not be a folder named CustomDocWell.
  8. Rename to CustomDocWell.vsix
  9. Run the VSIX file

If you don't get any errors you'll still get a warning when you open Visual Studio 2019:

Deprecation warning

The extension will still work; the Learn more link explains more.

The settings are under Tools > Options > Productivity Power Tools > Custom Document Well.

Errors

If you get an error it's likely that the sha256 of extension.vsixmanifest is incorrect. You can try calculating it on your own (PowerShell has Get-FileHash) and putting it in manifest.json.

Andrew Keeton
  • 2,871
  • 4
  • 27
  • 28
  • 4
    All this time, it was working but artificially blocked... WOW! – Yepeekai Apr 04 '19 at 19:55
  • 2
    Not a deal breaker but: For color coded Regex, it works for the file name only, if you try to include folder structure in the expression, it is not detected ex: .*\\Framework\\.*\.cs – Yepeekai Apr 04 '19 at 20:17
  • 2
    Great find, I won't upgrade until 2019 had this in, but might try this. Thanks! – Harag Apr 06 '19 at 08:30
  • 6
    Read the release notes before installing visual studio updates. This workaround no longer works in Visual Studio 2019 Version 16.1.0 Preview 1.0. – TractorPulledPork Apr 11 '19 at 20:35
  • 10
    In 16.1 you can re-enable synchronous loading and still use this extension. https://devblogs.microsoft.com/visualstudio/updates-to-synchronous-autoload-of-extensions-in-visual-studio-2019/ – Ryan_S May 22 '19 at 15:02
  • @Ryan_S But how can I install it in 16.1? It's not available in extension search and manually download and install the vsix file tells me: "Already installed in all possible versions" – Konrad May 23 '19 at 07:57
  • 2
    This work-around works fine in Visual Studio 2019 Version 16.1.3. – CKE Jun 20 '19 at 13:33
  • Rockstar. Worked great. I wish vertical was just built in. Why are all the good feature an extension? I end up with 15 files open at times just bouncing through call chains. – CodeMonkeyForHire Jun 21 '19 at 16:34
  • 7
    You can download a ready to use Custom Document Well installer for VS 2019 with these changes from my site: https://tabsstudio.com/documentation/installing-custom-document-well-for-visual-studio-2019.html – Sergey Vlasov Jul 27 '19 at 13:28
  • 2
    @SergeyVlasov can you please make a new answer? I prefer your way since it's so much easier and I don't like wasting 10 minutes every time looking for your tiny comment :) – goamn Oct 02 '19 at 10:50
  • @SergeyVlasov is it possible to get it working on VS 2022? Much prefer custom document well project colouring compared to the one it comes with (seems to only colour a bit of tab rather than the whole thing) – A.A Dec 04 '21 at 19:29
  • @A.A Nico Rieck says "CDW uses a type in its UI from Visual Studio which has been removed in 2022, so you cannot get around recompiling the extension (the rest works fine). But its license makes it not possible to share the result." https://developercommunity.visualstudio.com/t/Color-coded-tabs-in-Visual-Studio/351700#T-N1582231 – Sergey Vlasov Dec 05 '21 at 18:22
  • @SergeyVlasov strange I could not find original source code anywhere to even try to recompile it. Thanks your help – A.A Dec 05 '21 at 23:27
14

For this workaround to work with VS 16.1, just click "Allow synchronous autoload" in the warning banner and restart VS. It will allow the use of the deprecated sync APIs... until the feature comes build in !

For those who have hidden the banner, check this option: Options/Environment/Extensions/Allow synchronous autoload of extensions

Necriis
  • 176
  • 5
7

In addition to Andrew Keeto's answer: After step 4, in extension.vsixmanifest in the section Add:

<InstallationTarget Version="[15.0,)" Id="Microsoft.VisualStudio.Pro" />
<InstallationTarget Version="[15.0,)" Id="Microsoft.VisualStudio.Enterprise" />

Or update the max version:

<Installation InstalledByMsi="false">
    <InstallationTarget Version="[15.0,17.0)" Id="Microsoft.VisualStudio.Community" />
    <InstallationTarget Version="[15.0,17.0)" Id="Microsoft.VisualStudio.Pro" />
    <InstallationTarget Version="[15.0,17.0)" Id="Microsoft.VisualStudio.Enterprise" />
</Installation>
<Prerequisites>
    <Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[15.0,17.0)" DisplayName="Visual Studio core editor" />
</Prerequisites>

I've recalculate the SHA265 for the manifest.json at https://emn178.github.io/online-tools/sha256_checksum.html and replaced it with the sha265 code for extension.vsixmanifest

hvk
  • 171
  • 3
  • I didn't need to make these changes in order for it to work on the Enterprise edition. I suspect the `Id` attribute is just a lower bound. – Andrew Keeton Apr 12 '19 at 20:36
  • @hvk You only need the first installation target line. Anything higher is automatically included. – Yann Duran Jul 20 '19 at 13:53
  • For me, it didn't work without there changes, but did work with these changes. So, if you are stuck, try this out. – hvk Aug 29 '19 at 09:21
5

This answer is a copy of @Sergey-Vlasov 's comment. Go to his website and follow the instructions.

You can download a ready to use Custom Document Well installer for VS 2019 with these changes from my site: https://tabsstudio.com/documentation/installing-custom-document-well-for-visual-studio-2019.html – Sergey Vlasov Jul 27 at 13:28

iamdudley
  • 233
  • 3
  • 6