Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support other editors in VisualStudio.gitignore #2720

Closed
wants to merge 1 commit into from

Conversation

@markrendle
Copy link

@markrendle markrendle commented May 29, 2018

Add the settings directories for:

  • VS Code: .vscode
  • JetBrains Rider: .idea

Reasons for making this change:

I keep having to add these entries to the .gitignore files generated by GitHub using the Visual Studio option. People work on .NET projects using lots of different editors these days, so they should all be included.

Add the settings directories for:
- VS Code: `.vscode`
- JetBrains Rider: `.idea`
@shiftkey
Copy link
Member

@shiftkey shiftkey commented May 29, 2018

@markrendle just a heads up, I've been declining this sort of PRs for a while for a few reasons:

  • we have existing templates for these editors - Global\VisualStudioCode.gitignore and Global\JetBrains.gitignore which are more detailed
  • the duplication of rules across multiple templates becomes an additional maintenance burden, and things fall out of sync because only one place gets updated
  • VisualStudio.gitignore is it's own special layer of maintenance hell because of all the various sorts of projects you can use it for

I'm open to suggestions about how to improve this story, but for the moment I don't really have the bandwidth to do anything radical with how we organize these templates.

@drothmaler
Copy link
Contributor

@drothmaler drothmaler commented May 30, 2018

Well personally I'm a fan of the modularity of this repository and voted agains such changes numerous times. Also as far as I understand, all the Global/* templates are intended for the use in my personal global gitignore-file, not the project gitignore. I use gitignore.io to create/update my global gitignore and it is a combination of more than 15 gitignore's. This keeps the project gitignores small an clean.

On the other hand, I know that many people aren't aware of the global gitignore... So in practice many projects put global stuff into there project gitignore, because telling each and every new committer about the global gitignore and how to use it, can be annoying.

But even if I decide to put global stuff in a project gitignore, I still prefer to do this based on small modules instead of a giant one fits all gitignore!

Maybe it would be the best option to extend the GitHub Create Repository dialog to be able to select multiple gitignores (optional with an extra checkbox to include global ones) instead of just one. But I have no idea where to suggest such a feature... Maybe @shiftkey can help...

@shiftkey
Copy link
Member

@shiftkey shiftkey commented Jun 18, 2018

@drothmaler thanks for the context. I'm not a user or fan of "use Global for your global gitignore", and happily compose together multiple templates when crafting a project-specific gitignore, so I sit somewhere in between these use cases.

Maybe it would be the best option to extend the GitHub Create Repository dialog to be able to select multiple gitignores (optional with an extra checkbox to include global ones) instead of just one. But I have no idea where to suggest such a feature... Maybe @shiftkey can help...

The Create Repository dialog here is just consuming and filtering this repository, and I still want to maintain this repository as a reference set of templates that are refined over time, but this doesn't address the ability to compose templates at all.

I've opened #2742 to help tackle the underlying issue about needing metadata for these templates, and I'd love feedback from people who are consuming this repository.

@markrendle
Copy link
Author

@markrendle markrendle commented Aug 13, 2018

@shiftkey Forgot about this. I see your point about the VisualStudio profile being maintenance hell. Would it not make more sense to have more specific files for different project types? A .NET-specific profile, rather than VS-specific, might be easier to maintain?

@shiftkey
Copy link
Member

@shiftkey shiftkey commented Oct 13, 2018

I had another discussion about #2816 and we settled on splitting these out into two templates:

  • DotNet.gitignore - a new template fresh with whatever current .NET requires (leaner)
  • Global/VisualStudio.gitignore - the current template, moved alongside the other IDEs

I was hoping someone would step up to contribute the beginnings of a DotNet.gitignore template but that seems to have stalled out, so maybe someone reading this will notice.

I think that approach here will help balance the current needs of VisualStudio.gitignore (which is very editor-centric) and supporting the modern .NET ecosystem (where the editor matters less these days).

@shiftkey shiftkey closed this Oct 13, 2018
@shiftkey shiftkey mentioned this pull request Jan 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants