Coder Social home page Coder Social logo

Comments (10)

SLaks avatar SLaks commented on July 29, 2024

Why?
You should be able to support both with one build.

If you have any trouble with that, ask me; I have a lot of experience with this.

On a related note, can you please declare support for Dev14?

from gitdiffmargin.

laurentkempe avatar laurentkempe commented on July 29, 2024

Because I would like to support VS2013 and VS2012. For that I plan to have two VS projects sharing the code, because GitDiffMargin uses an API of VS2013 which is not available in 2012. Do you see a better way?
It would be great to get your help, thanks.
I could but I don't like the idea of doing that without having tested it and currently I don't have the infrastructure to test it.

from gitdiffmargin.

SLaks avatar SLaks commented on July 29, 2024

Which APIs?

from gitdiffmargin.

laurentkempe avatar laurentkempe commented on July 29, 2024

The one to be able to display the diffs in the Scroll Bars in map and bar mode

from gitdiffmargin.

SLaks avatar SLaks commented on July 29, 2024

You mean scroll bar map mode?
Which specific classes / methods are those? (where in your code?)

Depending on how your code works, you should be able to simply wrap that code in a version check.
However, you would probably need to move it into a separate project that references v12 of the relevant DLLs so that your main project can reference v10 & work on VS2010+.
See also http://blog.slaks.net/2014-02-25/extending-visual-studio-part-4-writing-cross-version-extensions/

from gitdiffmargin.

laurentkempe avatar laurentkempe commented on July 29, 2024

I mean the scroll bar on the right of the window
Here are some specific code for VS13

Sure I could use C# Preprocessor Directives for the different versions but this solve only the problem of the source code. Then I thought I could solve the problem of references with the following way but it doesn't work for references. So this is why I thought to go to two projects as my code let you do that with the two Factories: EditorDiffMarginFactory & ScrollDiffMarginFactory.

So the idea would be to remove in the VS12 versions the source code for ScrollDiffMarginFactory and all it's related classes/views...

from gitdiffmargin.

laurentkempe avatar laurentkempe commented on July 29, 2024

In fact I changed the references to use SDK of VS12 and the only specific thing are the 4 Order lines

from gitdiffmargin.

laurentkempe avatar laurentkempe commented on July 29, 2024

You might have a look to the Pull Request which solve the problem in a different way.

from gitdiffmargin.

SLaks avatar SLaks commented on July 29, 2024

Yes; that PR is exactly what I was going to suggest.
(since you're only using new constants, not new APIs)

from gitdiffmargin.

sharwell avatar sharwell commented on July 29, 2024

Aside from inlining the constants, you have to use different values for the [MarginContainer] attribute, since the graphics show next to the scroll bar in 2010-2012, but over the scroll bar in 2013+. The rest of it was just improvements for loading and debugging the project.

from gitdiffmargin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.