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