clang-format plugin support for Visual Studio 15.0

Hi,

I’ve recently managed to build and use a version of the clang-format plugin for VS 15.0, so I was wondering anyone would be interested in making the vsix package available somewhere public, like http://llvm.org/builds or similar.

I could also submit a patch with the changes I’ve made, but since VS 15.0 is still an RC and required me to upgrade the csproj version, it might be too early for that. The only change on the plugin itself was adding VS15 to the list of supported targets(source.extension.vsixmanifest.in), but I also needed to make some changes to be able to build the clang-format tool.

If anyone is interested, please let me know so I can send the package.

Hi,
I thought that there is already clang-format plugin
https://marketplace.visualstudio.com/items?itemName=xaver.clang-format

Have you built your own plugin, or updated this one to make it work with new Visual?

Piotr

Hi Piortr,

I believe the one you linked is only supported by VS Code, not Visual Studio Community and similar.

There’s already a version for Visual Studio 2015 on http://llvm.org/builds, but hat to build it myself for 2017RC.

Hi Piortr,

I believe the one you linked is only supported by VS Code, not Visual Studio
Community and similar.

There's already a version for Visual Studio 2015 on http://llvm.org/builds,
but hat to build it myself for 2017RC.

That one is also available here:
https://marketplace.visualstudio.com/items?itemName=HansWennborg.ClangFormat

If you have a patch for the manifest that makes the plugin work in
2017RC, feel free to send it to the list. I don't think we'll want to
migrate the csproject yet though, as it needs to keep building with
2015.

Cheers,
Hans

Hi,

Since there seems to be interest in VS15 support I’m submiting the patch I mentioned back in January.

I’m not sure if I can just submit it here, or if I should start another email thread for the patch itself, so apologies if it shouldn’t have been here.

0001-clang-format-vs-plugin-claim-support-for-VS-15.patch (958 Bytes)

Hi,

Visual Studio 2017 introduced a new version for its extension manifest, so further work will be necessary for a “correct” migration. Right now the extension works, but it triggers a warning message saying the extension is not fully compatible with VS15.

I’ll make the necessary changes and send an updated patch, so you can disregard the first one.

In case anyone is curious, this post details the changes in the extension SDK http://www.visualstudioextensibility.com/2016/11/16/visual-studio-2017-rc-announced-extensions-need-some-changes/

Patches can be emailed (as an attachment) to cfe-commits@lists.llvm.org or submitted via Phabricator.

http://llvm.org/docs/Phabricator.html

Thanks,

–paulr

Thanks for doing this!

As Paul said in his reply, either just sending the patch to
cfe-commits, or uploading it to reviews.llvm.org works. In any case,
please make sure I'm cc'd.

If upgrading to the new manifest version turns out to be a lot of
work, maybe we should commit your first patch in the meantime so the
plugin can be used even if it displays a warning. Let me know how
things develop.

Cheers,
Hans

Hello,

I believe I got the manifest and project converted to the new format required to install cleanly on VS2017. I’m wrapping things to send a patch, but I’m unsure about two things.

The new VSIX 3 manifest is only supported by Visual Studio 2012 or later, so just converting things would cause the extension to be unsupported by Visual Studio 2010 and below. As far as I could find out, the alternative would be mantaining a separate project for older versions (or just for VS2017), which adds a little complexity to the build process. Would the desire to support 2010 warrant that or is it old enough to disconsidered?

Also, could the solution and csproj be upgraded to VS15? This question may not apply if we decide to go with having two projects.

I think dropping support for VS 2010 is reasonable.

I would prefer not updating the solution and csproj to VS15 yet unless
it's necessary, but if we have to, we can do it.

Thanks,
Hans