> Due this bug the content of one of my source file which had 3000 line, was deleted .
> I don't use version control system.
> How can i restore it?
I know we're in a cosy bubble on HN, but in 2022 do we really still have developers (having one 3k loc file is non-trivial enough to warrant that appellation) who don't do any kind of backups, via VCS or otherwise?
Well even with just one person committing, you'd still have a remote. Even for personal stuff that you don't want to publish, you can still use BitBucket private repos (or bare repos on any server you have access to).
To be honest, backups wasn't what was first in my mind when answering that question (backups are a separate system in my mind), it was that being able to "git diff" to the last time it was working is often all you need to do to get your head round why it's not working now.
IMO losing a project from an inexperienced developer that isn't yet integrated is a lesser problem than getting that project with no history and whole lot of random debugging experiments that went on long enough that they couldn't be reversed in an editor's undo.
Fortunately he uses local SVN in spite of the training we've provided him to use Azure DevOps.
You better believe he's not the exception. Worse yet he's not older and/or capable, or competent. He was hired as a shadow developer team of one to get and achieve certain outcomes that the developer team couldn't achieve in their desired timeframes.
I'm trying to move him to using modern tooling (if you were to call CI/CD and Git 'modern') but it's agonising. Fortunately I'm building a case to make his apps production so his services will fall under my responsibility of monitoring as the lead SRE. I'm documenting as I go and if he doesn't improve, I'll be responsible for documenting his demise.
>He was hired as a shadow developer team of one to get and achieve certain outcomes that the developer team couldn't achieve in their desired timeframes.
>I'm trying to move him to using modern tooling ... building a case to make his apps production so his services will fall under my responsibility
You seem to be excessively agitated by this thread.
As per another sibling comment, I also tried to find the actual extension file that was the cause of this problem -- and could not. It may well be a third party author, rather than direct from the infallible 'multi-trillion dollar company' (as if acquired wealth is any indication of quality). Having said that, I don't know why a) you're misinterpreting this as an attack on Microsoft Corp, and b) you're then being so personally affronted by it.
To your initial snarky question:
Everyone should have backups of all their important files, and this is never (solely) to protect them from the dangers of 'opening in a text editor', but to protect them from accidental corruption or loss from any cause.
For a c++ developer, with at least one source file > 3k loc, who'd gone out of their way to install a c++ extension, and then enabled a pre-release flag for that extension, I'm supremely surprised they weren't ahead of the curve on this.
I am not agitated, i am baffled by the stupid recommendation of microsoft employees
I don't use vscode myself, i pity the ones who have to use it
--
> Everyone should have backups of all their important files, and this is never (solely) to protect them from the dangers of 'opening in a text editor', but to protect them from accidental corruption or loss from any cause.
Nobody said they opened an important file, stop trying to make it sound like the user is stoopid
What if you want to open a temp file you copy pasted from a blog post, you don't back up this, you can go back and copy/paste again, but the fact remains, the software is trash
> For a c++ developer, with at least one source file > 3k loc, who'd gone out of their way to install a c++ extension, and then enabled a pre-release flag for that extension, I'm supremely surprised they weren't ahead of the curve on this.
Yeah, again the user is the one to blame, not the stoopid software that is broken and needs pre-release flags to function correctly
They can nuke my computer too because it is a "pre-release flag" after all, what, you don't backup your whole computer? you stoopid user
Loosing time, being disrespected by software company who spit bloated trash at you and then blame you for trying to make said software a little bit better
> Nobody said they opened an important file, stop trying to make it sound like the user is stoopid
Are you trying to say 'stupid'?
I'm not asserting the user is stupid, but I am expressing bewilderment that someone with the requisite technical skills to be in the position they're in (refer my post above) would _not_ have their code in source control, and/or (better yet) backed up on a different machine.
I'll also assert that anyone that states they wish to recover a file has, by definition, just assigned some importance to that file.
If you read that guy's (TavakoliAli) later comments you'll see they don't have enough time to rewrite that file. At 3k lines, that's no wonder, but further confirms my point.
> So Microsoft can spit all the bloated and buggy trash, they shouldn't be held responsible?
> Who cares about the data loss, important or temporary, time was lot, not even respecting your users, you should be ashamed at microsoft
> Where is your standard of quality? it's the size of an electron?
Hmm, the problem is that you are talking to someone who already mostly agrees with you...
I never said that you shouldn't blame Microsoft. That is what I was talking about in my last comment: "Nobody said the blame is all on the users".
You should absolutely blame Microsoft. I actually refuse to even install VSCode because of the telemetry. But again, blaming Microsoft isn't going to get your data back.
It's like having a house but not putting a lock on it. Then some burglar comes in and trashes your house.
Like yeah, blame the burglar. The burglar should go to jail. But even if you put the burglar in jail, all the damage to your house doesn't just disappear.
So put a lock on your door and maybe add some cameras too. Then your house won't get trashed and the next time a burglar comes maybe you can even catch them and put them in jail with your security cameras. Best of both worlds.
People use VSC for c++? I tried to use it once, but nothing really worked out of the box and the experience was so much worse than any other c++ IDE. Same with .Net in VSC.
Always felt like Microsoft wants to push me towards their "main" Visual Studio for c++ and .Net by keeping the VSC experience for these languages bad.
I've had the opposite experience, and everything just works once you install the suggested extensions.
For C++ specifically you just need to create a .vscode/c_cpp_properties.json file to tell the intellisense where to find include folders, which defines to assume, and such.
I use VSC for C++. I use the clangd and VSCode NeoVim extensions. I don't use it as an IDE but as a code editor, it's the best I've had.
Visual Studio and Visual Studio Code have nothing but two words in common. Dunno why VSC is called that. But on OSX, I just type code on the command line.
I daily drive the C# extension in VSCode and it's great. The debug inspector is slower than I recall in "real" VS but I'm also using it on Linux via WSL, so it might be because of omnisharp.
Visual studio code works just fine for c++. Out of the box. You may need to install the liner but that's it. I don't think it is as good as visual studio, but it isn't that bad that they are trying to push you to another ide.
VS Code is a competent enough almost-IDE at least for a CMake project.
The main issue I have so far is remote debugging in gdb appears not to work very well (you can step but you can't use normal gdb commands on the console like you can locally).
Also the autocompletion seems to work only sometimes but that's likely my fault since I haven't actually configured that.
So far, it's working better for me than Sublime did, which was very laggy at times. Both are memory hogs, though.
Interesting! Can you then debug remotely but still use local symbols and sources? The remote is a pretty weedy embedded platform, so you don't want to compile there, and I don't think there is even enough disk space for a complete checkout of the source. So you want to just run gdbserver there and have all the rest of the debugging junk running on a "real" computer.
For what it's worth, my partner and I have been using VSC for our C++ kernel/project in our course, and we've found it to work really well after some setup (mainly CMake and cross-compiler setup).
Sure, you don't get the same level of refactoring ability that you would from say, intellij + kotlin, but compiler warning/error integration and going to declaration/definition both work, which is enough for our purposes.
I prefer coding .NET in VSCode, although I really only use the debugger and the code completion. Visual Studio hides too much of the build process for me.
I've been forced to use visual studio for c++ with cmake integration and I must say no matter how lacking VSC is, I don't think visual studio does much better.
Refactoring capabilities are woefully inadequate or just don't work, intellisense is often plain wrong, it doesn't detect when a rebuild or when cmake cache needs to be regenerated often enough, the list goes on and on
If you don't like VS, you may enjoy CLion, as it uses CMake as its primary build system. I was flabbergasted at how poor the Refactor menu is in VS, and I now understand why Reshaper makes so much money
They always say "EAPs are pre-release and may have sharp edges" but TBH I've been choosing the EAPs because they often come with the most features. Only 1 out of every 20 releases has some kind of "wtf" experience
I had the exact same thought about C# in VSC being intentionally bad this week. There’s so many conflicts of interest within Microsoft’s tech ecosystem.
I would consider the C/C++ extension to be “part of” VSC as it’s a core extension owned by Microsoft. But still good it wasn’t just the editor magically nuking files!
I've never been too fond of IDEs and all the complexity they bring/encourage. When they work they can be helpful, but when things go wrong, they tend to go really wrong. Silent automatic updating is another one of those scary things that you don't notice until it's too late.
As Dijkstra says, "simplicity is a prerequisite for reliability."
> Due this bug the content of one of my source file which had 3000 line, was deleted .
> I don't use version control system.
> How can i restore it?
I know we're in a cosy bubble on HN, but in 2022 do we really still have developers (having one 3k loc file is non-trivial enough to warrant that appellation) who don't do any kind of backups, via VCS or otherwise?