Ignore build files for VS and VS Code #105513
No reviewers
Labels
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Code Documentation
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Viewport & EEVEE
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Asset Browser Project
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Module
Viewport & EEVEE
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Severity
High
Severity
Low
Severity
Normal
Severity
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#105513
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "bonj/blender:ignore-vs-and-vsc-build-files"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
I like using these tools, but it's a bit tedious having to carefully avoid committing their build and config files.
Visual Studio:
Visual Studio Code:
Maybe I should move CMakeProperties.json into its own section, because it's supported by CMake natively.
I'm fine with the current placement too though.
VS looks fine, i'd like to get @JacquesLucke opinion on the vscode additions though
I'll need to double check where those C/C++ json files go actually, because if they go in a .vs* folder, there's no need the ignore them explicitly.
I gave you the greenlight for a single VS related ignore, you submitted a patch with a whole bunch of other stuff in it, which I had to ask a second reviewer time for, and you're now not sure about some of it, I gotta admit, this was supposed to be a 1 line patch, approved and landed in under 5 minutes, it wasn't supposed to drag and feature creep like this
My vscode config files are always in the
.vscode
which is ignore for me already. I never ran into the problem that vscode adds files to the repo. You should demonstrate how to reproduce how those files are added automatically.The build folder is created by the CMake Integration extension.
The CPP json file probably goes in the .vscode folder though, so I'll get rid of that one.
I assumed that the "workspace folder" in the VS/VSC docs would refer to like the folder you have open, but in hindsight it probably refers to the .vs* folder.
In my issue I specified multiple things that needed to be gitignored.
I could make multiple PRs but I think it'd be silly.
Anyway I got rid of the CPP related json files now as they are probably not necessary; I suppose I misunderstood the documentation initially.
The remaining 4 lines are necessary though.
Ignoring
CMakeSettings.json
andCMakePresets.json
looks fine. But I'm not sure about the./out
and./build
directories.I'm not sure if it's a good practice to put the build files inside the repository whose files are affected by CMake.
Explicitly showing that we ignore these files seems to encourage the practice.
And for non experienced developers these directories can be created by VS without them being aware.
VS is just bad in this regard, out of tree builds just aren't a concept they seem to grasp, this has been known for better part of a decade now and they seem unlikely to change their minds there, best we can do is minimize the damage of their bad practices, and ignores seem like a pretty good way to go about that.
There's a fine distinction encouraging/supporting and allowing some niceties for people off the beaten path.
If people want to ignore our best practices for some reason that's fine, some of them will have good reasons, some of them perhaps not, who are we to judge? Either way people have to freedom to do whatever they like. It's one of the many things that makes opensource great. If adding a few ignores makes their environment just a smidge better, I see no reason not to do that, there are limitations though.....
Expecting us to fully support and document how you would configure the IDE for this setup and help people in the future that run into issues, is a whole different story and not something I'm willing to entertain, and also not something @bonj is pushing for here.
Also it can't interfere with any supported scenario's which it currently doesn't do, so yeah I have no issues with this.
Bit concerned about how much of my time this seemingly trivial diff is taking, but beyond that I'm a happy camper.
Why don't you list these files in
/blender/.git/info/exclude
?You only configure it once and do not even have to touch
blender/.gitignore
I'm not familiar with this technique, will have to try it out.
Still I think gitignore is a better solution, because that way it's setup for everyone, instead of needing to mention this in a guide somewhere.
Testing locally i'm only seeing an
/out
directory and andout/build
folder, can you validate where your/build
folder is coming from?Not I'm not really against it.
Just listed a few points of concern to balance.
But it doesn't really seem like something to worry about too much.
It's not from VS but VS Code, specifically the CMake Integration extension.
I could make a separate PR for this if you prefer to keep this one just about VS.
I apologize for my incompetence, it will happen again.
Oh I didn't see you merged main just now. I hope my extra commit doesn't mess anything up.