To be clear, I'm don't like the Microsoft has a proprietary Marketplace, but a company openly violating the terms of use for their own profit is a bit much in my opinion.
> Cursor allegedly has been flouting Microsoft terms-of-service rules for some time now by setting up a reverse proxy to mask its network requests to the endpoints used by the Microsoft Visual Studio Marketplace. This allows Cursor users to install VS Code extensions from Microsoft's market. Other VS Code forks tend to point to Open VSX, an alternative extension marketplace.
Terms of service often contain illegal provisions. I teach kids to flout them too. One of the biggest sins in school is kids learn to follow rules uncritically.
There are specific protections allowed when the goal is to maintain / break compatibility. If Microsoft locks competitors out, competitors are quite often permitted to pick the lock.
I can't comment on this situation since I don't know the details, but it's very likely this is fully legal.
See Oracle / Java API lawsuit, garage door opener suit, etc. To see where the lines sit.
cursor also hijacks the 'code' alias to start vscode from the cli, which I use a lot. It's extremely annoying to have cursor start instead and unnncessarily difficult to get rid of. I removed cursor because of this.
I'm pretty sure that was an option when installing, I remember unchecking it and 'code' still launches vscode for me. Curious how it's difficult to remove, I'd expect something like rm `which code` to do it. Unless they add the alias to your shell or something?
But why should we care? It's obvious Cursor's IDE is VSCode, I cannot think of a single reason why I should be against executing whatever the hell I want on my computer. It's not Cursor doing this, it's me doing this using Cursor.
The Cursor founders (technically the company is called Anysphere, Inc) are all young MIT grads. What they needed is a 40-year-old with a degree from Fitchburg State who could say "Woah, don't do that! It's not worth the long-term risk!"
Either you don't get caught and can move faster, or you get caught and the penalty is usually small and a long way down the line, by which time your company will have either folded or grown enough to pay without difficulty.
exactly! laws are for old geezers who went to State, not young superstars with fancy degrees. MIT negotiated diplomatic immunity for its graduates, after all. that's why Sam Bankman-Fried got acquitted when FTX went under.
> Lucky no-one is reliant on niche tools like NPM or GitHub, otherwise they'd be feeling mightily insecure right now.
I did completely move away from GitHub (which is by now named "ShitHub" in some circles) the moment that Microsoft enforced 2FA on my account.
Yes, perhaps 2FA is a good idea for many scenarios, but if some company forces it upon me, I won't have any tolerance to be willing to be their customer/user anymore.
See [1] for a different perspective on this topic.
---
And yes, I agree with you that is a great idea for a next step to at least strongly reduce (or even cut) your dependence on NPM wherever possible.
Now, I get why you made the quip, but I for one keep both of those out of the business I run for this exact reason: I do not trust MICROS~1 in the medium to long term.
I also present the CEO and board with other arguments, like moral ones about involvement in atrocities and tyranny, legal ones regarding things like data protection, market related ones such as the likelihood of a future showdown between the EU and US.
But the risk that MICROS~1 fucks us over directly is even easier for them to understand, because they have been using Windows and Office for decades and are quite queasy about 10 going EOL and what the next set of annoyances in document management will be that they'll have to suffer under. It's something they have immediate experience of and didn't like.
A year from now it's probable we'll only have a couple of Windows machines left, because some of our customers use software that doesn't run under Wine and tries to block execution under both debuggers and container environments.
I've been shafted by Github under MS ownership in the past, after 7 years.
I'm using a gitea instance ever since.
The only thing Github is good for is visibility/discoverability.
Do not trust Microsoft ever.
They will fuck you.
Yep. Was a Microsoft dev from 1992 until 2017. Won’t touch them now because I spent my entire career rewriting rug pulls. It paid off a mortgage and fed me well but it was a bad outcome for my orgs and customers.
If anyone remembers WCF/AppFabric/WWF and Silverlight, that was the last stack I rewrote someone out of the shit on.
There was a lot of hype and momentum around Silverlight back in the day, until their wasn't. You got a cross-platform (Mac/Windows) WPF-like UI and C# programming environment, which was powerful.
I had the fortune to be involved developing the LEGO Mindstorms EV3 programming software. Under the hood, it was a small web browser shell (using Mono on Mac and WPF on Windows) around a Silverlight Out-of-Browser app. Anything beyond the permissions of the Silverlight app (e.g. bluetooth/USB comms) was an RPC from Silverlight to the shell.
After completing the Mac/Windows app, LEGO wanted to deliver a similar experience on iPad. There was no Silverlight there, and it was clear there never would be. But we were able to leverage Xamarin stuff to reuse most of the same codebase, just with an iOS UI on top.
I started my career rewriting a product using Microsoft's DNA business server with Java and never looked back. I'm shocked this keeps happening, honestly. I guess I'm a "never again" sort but surprised there's not more companies refusing to deal with Microsoft.
Due to experiences like that I refused to buy volume licenses from them, too. Sometime later I got an audit demand for which I had a reply ready.
Funnily enough, those ancient WPF, WinForms, and even MFC apps still compile and work fine. The rug pull only became the standard operating procedure at a certain point.
Is it really a rug pull? It's a closed source extension with terms specific to use with vs code. Nothing has changed in that regard. All they did was close a workaround for a competing company's product.
Crates.io stopped relying on Github in June 2023. Now Cargo uses sparse HTTP-based index lookups rather than cloning the old git-based index repo (the old repo is still offered for users on older versions). And the crates themselves have never been served from Github. https://blog.rust-lang.org/2023/06/01/Rust-1.70.0/#sparse-by...
> Open source project hosted on GitHub, for the network effect.
> Use Rust which also rely on GitHub for crates.io
It is a very good idea to get rid of both as far and soon as possible. And, as I wrote at https://news.ycombinator.com/item?id=43793095 in some circles it already became very fashionable to call GitHub "ShitHub" and somewhat look down upon open-source projects that have their central repository on GitHub (i.e. are willing to enslave themselves to Microsoft for some stupid "network effect").
It took them five years to actually take action on enforcing their ToS. It's not as much of a rug pull as it's the result of their competitors blatantly ignoring the license on proprietary code from a proprietary code giant.
Unless the developers of the IDEs hit by this never actually read the ToS, of course, which would only make them less reliable as an IDE provider.
Anything that’s not gpl-licensed is going to pull the rug from under your feet, people should have learned this by now.
Also, if you do open source contributions, never ever agree to assign copyright to the project: doing so means the project owners can relicense the code base, even towards proprietary license.
Microsoft knew they would never get significant market share unless they offered open source alternatives that let you circumvent the telemetry in the early days of VScode. Embrace. The acquisition of github was part of this strategy. They made an ecosystem that sucked a lot of plugin developer talent into their ecosystem. Extend. Now the market share is firmly in their grasp and competitors have become weaker. Extinguish.
Microsoft couldn't have telegraphed their intentions more clearly if they tried, yet tons and tons of people and organizations fell for it (again!).
VS Code source is under MIT, but the built product is under an EULA - and all Microsoft extensions are under an EULA that requires the use of the EULA build.
Yeah, the main reason I never switched from emacs to VSCode is because I was worried about Microsoft's stewardship of it, particularly the fact that the extension ecosystem, which is so critical to a good editor, was burdened. There have been a lot of discussions about VSCodium's use of the manifest files from the original VS Code manifest without permission, and while that wasn't enforced, it was never really resolved.
This is it in a nutshell, with a lot of corps; IBM, Microsoft, etc. Be careful who you lie in bed with. Seemslike newer companies like Facebook and Google have a much much better track record. They may end a project but they don't suck you in and then say "nah, it's proprietary now"
AOSP used to be the complete Android system, more or less. And when you bought a Nexus device from Google, that's what you got. But they progressively abandoned the stock apps to replace them by their proprietary counterparts, or ones tied to their online services.
Then, they replaced their Nexus line of phones with the Pixel line. Pixels are full of proprietary technology, and their last move was to make Android development private.
The track record of Facebook and Google may be better because their open-source strategy is to never open things that are core to their business. Projects like React will not give you a competitive advantage to build a Facebook competitor. What a project like React gives to Facebook is marketing and a carrot to bring promising talent to the company.
The issue with VS Code is that it opened the door to many other editors, which, in a sense, drive people away from the Microsoft ecosystem. The combination of VSCode, GitHub, and TypeScript is ideal for MS: they win by attracting companies to GitHub services (which also offer code spaces based on VSCode); they also win by attracting users to Copilot, which helps them improve their tools. Creating an editor like VS Code is expensive; they are not paying the core developers because they prefer to give away money. They do it because it's part of their business strategy. You don't pay for VS Code; companies that subscribe to GitHub services do. A VS Code fork circumvents that strategy.
Eh. Google may be better than Microsoft in this regard, but this is basically what they're doing with Android. AOSP is now lacking a lot of core functionality that comes with Google Pixel phones, such as RCS messaging, emoji reactions to text messages, camera features and photo editing, voicemail transcription, crash detection. Even the keyboard is worse in AOSP.
The intellisense from clangd is much better and faster than the Microsoft C++ extension, if you can set up a compile_commands.json. Although debugging still relies on the Microsoft extension. Although I don't think it's going to be hard to create an extension just for debugging (if it does not already exist?)
Is there a ‘right’ (or simple/direct) way to generate this using various buildchains? I remember setting this up so I could use Sublime with intellisense a while ago, and finding that I could only get it to generate with a specific compiler chain on windows (ninja I think?)
Minor annoyance to have to make my c make project generate buildchain files for a compiler I’m not using & copy that file into my project root to commit it- unrelated to the original question, but also annoying that I have to manually generate it every time I make significant codebase changes.
> and finding that I could only get it to generate with a specific compiler chain on windows (ninja I think?)
Yes, you're right about that.
Basically, it boils down to "use CMake with Ninja/Makefile" (even if you don't strictly have to, you could write a script that creates the json yourself, for example). When cross-compiling, you may also have to whitelist compiler paths.
Add -DCMAKE_EXPORT_COMPILE_COMMANDS=ON as command-line arg during the config step, or add the equivalent "set" call to your CMakeLists.txt, restart clangd (ctrl+p, restart clangd), and you're good to go.
There are minor annoyances when cross-compiling (it using clang -- some compile options are incompatible and need to be removed in global user config, and it not extracting default compiler defines from compilers) but they are very easily worked around
I've had the opposite experience with weird C++ projects from some customers that use external toolchains. For some reason even creating the compile_commands.json file with Bear doesn't work, while the proprietary Intellisense extension works out of the box without any configuration.
And this is why I'm using Zed today. I'm deadly serious. I was a huge proponent of VSCode at first but I've soured on it, and now I don't want my workflow to depend on it in any way.
Awesome software, but I don't trust the upstream org further than I must.
I actually worked on VSCode (Python support specifically) at Microsoft in the past, and seeing this kind of thing frustrates me to no end.
The worst part is all the VSCode is still promoted to developers as open source, even though official extensions increasingly aren't, with bits and pieces gradually replaced with closed code. It's not that closed source is necessarily bad, but when F/OSS popularity is milked for marketing purposes while stuff like this happens, it just feels very wrong. If you want to be closed source for reasons, fine, but be honest and upfront about it.
There's a special place in hell for orgs that do this. Google has been doing the same thing with Android.
IIRC Apple at least has always been fairly clear and consistent with what bits of its software are open and what bits aren't. To my knowledge they haven't been breaking off chunks of Darwin and closing them. (Although if I'm wrong do correct me.)
Reminds when I excited to see Azure Data Studio adding Postgres support, but it was actually a binary extension with no ability to fix or change anything and no way for other useful databases to extend and use the functionality; they had spent all the time and effort to make sure nobody could do something like it but them.
Weird, ADS is dead and nobody spent any time on it, I wonder why.
I’ve just installed Zed based on your recommendation and I’m already impressed.
It’s fast, the interface is distraction free and it already has support for all the languages I use regularly. Even Terraform support, which is notoriously hard to get right, is better than the current “best” in VSCode.
Glad you like it! It’s a proper native app (no Electron) and super responsive. I truly enjoy using it. And yes, the language support (via Treesitter and LSPs) is fantastic.
Zed uses tree-sitter and LSP; most popular languages do not require extensions, and extensions for niche languages are shockingly easy to write. Literally 100-300 lines of Rust boilerplate and around 300 lines of config boilerplate, with minimal maintenance/upkeep.
zed is veerrrry good. i really appreciate the clean ui compared to vscode and its ilk. don’t love the pricing they just announced though. i don’t mind paying for my tools, but it not being unlimited scares me off slightly.
I think it's totally fair for them to charge for an optional feature that requires a cloud service. And if you don't like their pricing you can use a different provider, including self-hosted ones.
Just installed it, but it put a terrible taste in my mouth where the IDE has a hamburger menu instead of showing the file menu. This is meant to be a professional, technical application used on a desktop. Glad some designer made 150 pixels look clean instead of busy, but now I am reduced to an extra click any time I need to do something.
Minor grievance, sure, but it it not an encouraging sign for their priorities.
Agreed, but at least that's an optional feature you can choose to pay for if you want to. And if that changes, I'll drop it and head back to a Free editor.
Zed is nice but I still prefer vs codes configuration scheme. Was working on a web/frontend project a while ago and had honestly a very hard time to set up Zed to do everything from formatting to linting and syntax highlighting correctly. Meanwhile in vscode I had to install 3 extensions, enable them for the workspace and they were already aware of each other and seamlessly worked together.
I also think it's a mixed opportunity not to allow for something like Lua or a Lisp to configure Zed in. It's very promising but I'm not willing to switch just yet.
Debugging isn't in yet, but is actively being worked on and planned for public release before 1.0: https://github.com/zed-industries/zed/issues/5065, there's an active channel in their Discord discussing the development of the feature.
Do you guys ever feel tired of 'sounding the alarm'?
I feel like I've been doing that for years on a wide range of topics, but every time it's like you're talking to cult members.
How do you break through to people? People say things like "you're overthinking it", "that's never going to happen", "I don't care because I like using VSCode and not alternatives".
Is it individualism? That they only consider their own narrow short-term interests, and have become blind to collective problems?
What's the problem for people who just use VSCode, exactly? The software still does what people want for free, which is what 99% of VS Code users use the software for anyway. People who care about open source-ness have their own extensions to replace their proprietary C++ tooling, or they can use an open source alternative like Eclipse.
I remember when basic features that come for free in VS Code cost thousands of dollars per developer, back when "update" meant "buy the new version (again)". I swear, people forgot how good they have it.
The change that made the Microsoft addon incompatible with VS Code forks happened four years ago.
For people who see VS Code as just a decent gratis text editor, there's no problem.
For people who care, to some degree, about using an open source tool, for whom the marketing that VS Code is open source played a role in their choice of using it, it should matter. And it matters that other projects (think Platform IO and more) choose VS Code as a platform to build on top of, and they get away with it because "it's open source".
I'm at that tired stage right now as well. The way I read the title: "Company did company thing". Absolutely no surprise. The question is always a when, and similarly, I don't expect this current thing to last forever either: maybe they rethink their decision.
Also, very often, the feelings don't correspond to the reality or the aftermath of the decision-making at all. For example, X seems to be hugely upsetting, but life generally moves on, and people are not that touched actually, as much as they protest to the opposite. This happens pro and contra issues as well; for example, people might hate Windows' latest X bullshit, but they won't change their OS in the end, or, pro example, people might feel like that stand by local production, but they won't actually buy local, because it costs more.
What we are very blind to are problems that don't have immediate negative feedback. Comfort and security are huge motivators, especially when people have to let go of them. PR and propaganda (same thing really) uses this, among others, very effectively.
It's tradeoffs all the way down. VSCode remains one of the best intro editors, because it's free, has next to zero learning curve, and a robust extension ecosystem. I mean, what even is the argument here? That it's not completely open in every possible way? Do we feel so strongly about the heaps of paid IDEs that are completely closed source?
> Do we feel so strongly about the heaps of paid IDEs that are completely closed source?
Me, personally? No, because they're honest about it. I use BBEdit and Nova frequently on my Mac. Those are as closed source as it gets. They never pretend otherwise, though. You pay your money and you know what you're getting. VSCode tries really hard to appear to be open source, as long as you're willing to ignore the million places where they aren't. (Python devs: are you using PyLance? I'm talking to you.)
And ironically, those closed editors seem to play more nicely with the ecosystem as a whole. Neither BBEdit nor Nova have ever tried to talk me into installing closed plugins, and the same plugins that work with them work great in Emacs and Zed.
If I go to one bar that charged $5 per beer, and another that gives free beer but makes you rent single-use mugs for $5, even though the end price is identical, the rental bar's going to annoy me horrendously. Just admit what it is and let people judge on their own merits.
Tech bubble remains tech bubble, when common, non-tech people are much more screwed, yet nothing is being done except saying "lol, just install Linux".
I just use the OSS vs code builds at home. (Work uses vscode).
Ever since I got remote mode working, I haven’t noticed any missing functionality I care about. (I also haven’t tried installing extensions for the pile of commercial services work uses, and that I wouldn’t pay for anyway.)
Edit: Since cursor now has near infinite VC money, perhaps they should fund a few open source devs to work on those forks. Why should they get a free ride?
I think the problem with "sounding the alarm" is that it's not a tsunami that will immediately wipe out everything, it's more of a slow flood. The business strategy is boiling the frog.
I think ultimately we're mostly just not as clever as we think we are, which I think unfortunately we must accept.
Where this has become increasingly problematic is rampant materialism and corporatism.
If the only real motivator in town, especially for the powerful, is material gain then there is nothing to constrain wanton greed. This becomes even more pronounced with corporations because their overtly stated purpose is not but greed, so even if the individual actors have some transcend moral compass they will be in conflict to their programmed imperative to "do their job".
Currently many of the powerful are materialistic and materialism can bring worldly power. Other political paradigms may come to the fore but as it takes a form and gravity it will likely come into some dialectic conflict with the prevailing materialistic status quo. That may be a peaceful resolution, but I'd not be certain of that.
Meh. If it does eventually go away, it wouldn't be the first time I've switched editors. Which turns out to not actually be all that hard to do.
> Is it individualism? That they only consider their own narrow short-term interests, and have become blind to collective problems?
What collective problem, that someone might have to unexpectedly burn a weekend writing a new editor? That {emacs|vim} isn't popular enough? That people might have to go install openjdk in order to start using eclipse?
Indeed! "No one saw it coming" is the most ridiculous thing I've been hearing for the last couple of months regarding global politics. They've literally been predicting and warning against the rise of these (political) issues for 20 years.
And in the same sense regarding VSCode, and the VC fueled takeover of the open source ecosystem; the old guard warned against it, that's why they promoted GPL as critically necessary.
I love Cursor deeply but choosing to be a VSCode fork instead of a VSCode extension was a fatal choice. In the long term I think they either have to retool as an extension or they will go out of business. You can only publicly flout Microsoft's licenses for so long while making a competitor to one of their AAA products.
They are reselling an editor they did not make with a small extension that uses AI models they do not make.
I don't think they'll survive very long as it seems that they don't actually have that many things that differentiate them. And there is a lot of competition.
They wouldn’t take off if they weren’t a vscode fork. They may die a heroic death now having kickstarted the proper AI IDE. (Copilot was first and it was… nice? then it sucked so bad everyone jumped ship, remember? MS needed that kick in the balls.)
Eh, I mean it's a fork. They can keep updating their fork forever. Reality is they want complete control over the product, and VS Code doesn't expose everything in the extension API.
Sure, but they depend on a bunch of Microsoft proprietary extensions (that they can't fork) that ban usage in VSCode forks, and they knew this when they made the choice. This was an inevitable outcome from Microsoft's side. I'm sure they want to remain in business more than they want complete control over the product.
> Cursor allegedly has been flouting Microsoft terms-of-service rules for some time now by setting up a reverse proxy to mask its network requests to the endpoints used by the Microsoft Visual Studio Marketplace. This allows Cursor users to install VS Code extensions from Microsoft's market. Other VS Code forks tend to point to Open VSX, an alternative extension marketplace.
There are specific protections allowed when the goal is to maintain / break compatibility. If Microsoft locks competitors out, competitors are quite often permitted to pick the lock.
I can't comment on this situation since I don't know the details, but it's very likely this is fully legal.
See Oracle / Java API lawsuit, garage door opener suit, etc. To see where the lines sit.
There is a direct cost to Microsoft that these companies are pushing on them. Specifically around bandwidth.
Microsoft does not need to provide access for downloading plugins from their servers to anyone else.
I get Microsoft is a Megacorp, but I don't think too highly of all these ai startups either.
Either you don't get caught and can move faster, or you get caught and the penalty is usually small and a long way down the line, by which time your company will have either folded or grown enough to pay without difficulty.
https://en.wikipedia.org/wiki/Microsoft_litigation#Antitrust
I did completely move away from GitHub (which is by now named "ShitHub" in some circles) the moment that Microsoft enforced 2FA on my account.
Yes, perhaps 2FA is a good idea for many scenarios, but if some company forces it upon me, I won't have any tolerance to be willing to be their customer/user anymore.
See [1] for a different perspective on this topic.
---
And yes, I agree with you that is a great idea for a next step to at least strongly reduce (or even cut) your dependence on NPM wherever possible.
---
[1] https://stackoverflow.com/questions/72512276/how-to-disable-...
I also present the CEO and board with other arguments, like moral ones about involvement in atrocities and tyranny, legal ones regarding things like data protection, market related ones such as the likelihood of a future showdown between the EU and US.
But the risk that MICROS~1 fucks us over directly is even easier for them to understand, because they have been using Windows and Office for decades and are quite queasy about 10 going EOL and what the next set of annoyances in document management will be that they'll have to suffer under. It's something they have immediate experience of and didn't like.
A year from now it's probable we'll only have a couple of Windows machines left, because some of our customers use software that doesn't run under Wine and tries to block execution under both debuggers and container environments.
To me the former is tolerable, the latter is not.
If anyone remembers WCF/AppFabric/WWF and Silverlight, that was the last stack I rewrote someone out of the shit on.
I had the fortune to be involved developing the LEGO Mindstorms EV3 programming software. Under the hood, it was a small web browser shell (using Mono on Mac and WPF on Windows) around a Silverlight Out-of-Browser app. Anything beyond the permissions of the Silverlight app (e.g. bluetooth/USB comms) was an RPC from Silverlight to the shell.
After completing the Mac/Windows app, LEGO wanted to deliver a similar experience on iPad. There was no Silverlight there, and it was clear there never would be. But we were able to leverage Xamarin stuff to reuse most of the same codebase, just with an iOS UI on top.
Due to experiences like that I refused to buy volume licenses from them, too. Sometime later I got an audit demand for which I had a reply ready.
"lol, no."
SharePoint Server Subscription Edition still uses those techs today.
Open source project hosted on GitHub, for the network effect.
Use Rust which also rely on GitHub for crates.io
> Use Rust which also rely on GitHub for crates.io
It is a very good idea to get rid of both as far and soon as possible. And, as I wrote at https://news.ycombinator.com/item?id=43793095 in some circles it already became very fashionable to call GitHub "ShitHub" and somewhat look down upon open-source projects that have their central repository on GitHub (i.e. are willing to enslave themselves to Microsoft for some stupid "network effect").
Unless the developers of the IDEs hit by this never actually read the ToS, of course, which would only make them less reliable as an IDE provider.
After all MS is completely okay with their AI darling reading ToS-protected stuff.
Also, if you do open source contributions, never ever agree to assign copyright to the project: doing so means the project owners can relicense the code base, even towards proprietary license.
Microsoft knew they would never get significant market share unless they offered open source alternatives that let you circumvent the telemetry in the early days of VScode. Embrace. The acquisition of github was part of this strategy. They made an ecosystem that sucked a lot of plugin developer talent into their ecosystem. Extend. Now the market share is firmly in their grasp and competitors have become weaker. Extinguish.
VS Code source is under MIT, but the built product is under an EULA - and all Microsoft extensions are under an EULA that requires the use of the EULA build.
As has been already posted multiple times here... https://ghuntley.com/fracture/
Sad to see it go in such a predictable direction.
AOSP used to be the complete Android system, more or less. And when you bought a Nexus device from Google, that's what you got. But they progressively abandoned the stock apps to replace them by their proprietary counterparts, or ones tied to their online services.
Then, they replaced their Nexus line of phones with the Pixel line. Pixels are full of proprietary technology, and their last move was to make Android development private.
The issue with VS Code is that it opened the door to many other editors, which, in a sense, drive people away from the Microsoft ecosystem. The combination of VSCode, GitHub, and TypeScript is ideal for MS: they win by attracting companies to GitHub services (which also offer code spaces based on VSCode); they also win by attracting users to Copilot, which helps them improve their tools. Creating an editor like VS Code is expensive; they are not paying the core developers because they prefer to give away money. They do it because it's part of their business strategy. You don't pay for VS Code; companies that subscribe to GitHub services do. A VS Code fork circumvents that strategy.
Minor annoyance to have to make my c make project generate buildchain files for a compiler I’m not using & copy that file into my project root to commit it- unrelated to the original question, but also annoying that I have to manually generate it every time I make significant codebase changes.
Yes, you're right about that.
Basically, it boils down to "use CMake with Ninja/Makefile" (even if you don't strictly have to, you could write a script that creates the json yourself, for example). When cross-compiling, you may also have to whitelist compiler paths.
Add -DCMAKE_EXPORT_COMPILE_COMMANDS=ON as command-line arg during the config step, or add the equivalent "set" call to your CMakeLists.txt, restart clangd (ctrl+p, restart clangd), and you're good to go.
There are minor annoyances when cross-compiling (it using clang -- some compile options are incompatible and need to be removed in global user config, and it not extracting default compiler defines from compilers) but they are very easily worked around
I more or less use this as config: https://gist.github.com/TuxSH/0220d1235dace77f82738c96718011...
https://github.com/vadimcn/codelldb
Awesome software, but I don't trust the upstream org further than I must.
The worst part is all the VSCode is still promoted to developers as open source, even though official extensions increasingly aren't, with bits and pieces gradually replaced with closed code. It's not that closed source is necessarily bad, but when F/OSS popularity is milked for marketing purposes while stuff like this happens, it just feels very wrong. If you want to be closed source for reasons, fine, but be honest and upfront about it.
IIRC Apple at least has always been fairly clear and consistent with what bits of its software are open and what bits aren't. To my knowledge they haven't been breaking off chunks of Darwin and closing them. (Although if I'm wrong do correct me.)
Weird, ADS is dead and nobody spent any time on it, I wonder why.
I don't mean that in a mean way, but have you considered another editor that is more open?
It’s fast, the interface is distraction free and it already has support for all the languages I use regularly. Even Terraform support, which is notoriously hard to get right, is better than the current “best” in VSCode.
Thanks for the recommendation
https://zed.dev/docs/languages/cpp
Minor grievance, sure, but it it not an encouraging sign for their priorities.
I also think it's a mixed opportunity not to allow for something like Lua or a Lisp to configure Zed in. It's very promising but I'm not willing to switch just yet.
It supports most vscode extensions right out of the box.
https://theia-ide.org/
Deleted Comment
[1] https://vscodium.com/
Debugging isn't in yet, but is actively being worked on and planned for public release before 1.0: https://github.com/zed-industries/zed/issues/5065, there's an active channel in their Discord discussing the development of the feature.
I actually worked a bunch on the language server logic in Zed trying to get a bunch of it to work on Windows. All I have to say about that is: ugh.
I figure e.g. emacs will always be there when that happens.
All I need is a Github Copilot clone and a good code search feature.
Oh and automatic reloads of open but unchanged buffers when switching between git branches.
Oh and the ssh remote extension.
Yep, vscode is more intuitive.
However emacs is mostly the kind of thing you dedicate a couple of months of discomfort and enjoy for the rest of your life. Quite literally.
Spending some money on the “mastering emacs” book (https://www.masteringemacs.org/) is worth imho.
Bonus point: little by little you start enjoying doing more stuff in emacs. It’s a meme, but it’s true.
I'm using https://github.com/copilot-emacs/copilot.el
> good code search feature.
project-find-regexp is a nice start.
> Oh and automatic reloads of open but unchanged buffers when switching between git branches.
(global-auto-revert-mode t)
> Oh and the ssh remote extension.
I haven't compared it to Tramp.
or you could just use copilot through copilot.el
> and a good code search feature.
Like through helm or ivy?
> Oh and automatic reloads of open but unchanged buffers when switching between git branches.
My emacs does that, and I don't think I did anything special to get it.
> Oh and the ssh remote extension.
like tramp?
I feel like I've been doing that for years on a wide range of topics, but every time it's like you're talking to cult members.
How do you break through to people? People say things like "you're overthinking it", "that's never going to happen", "I don't care because I like using VSCode and not alternatives".
Is it individualism? That they only consider their own narrow short-term interests, and have become blind to collective problems?
I remember when basic features that come for free in VS Code cost thousands of dollars per developer, back when "update" meant "buy the new version (again)". I swear, people forgot how good they have it.
The change that made the Microsoft addon incompatible with VS Code forks happened four years ago.
For people who care, to some degree, about using an open source tool, for whom the marketing that VS Code is open source played a role in their choice of using it, it should matter. And it matters that other projects (think Platform IO and more) choose VS Code as a platform to build on top of, and they get away with it because "it's open source".
Also, very often, the feelings don't correspond to the reality or the aftermath of the decision-making at all. For example, X seems to be hugely upsetting, but life generally moves on, and people are not that touched actually, as much as they protest to the opposite. This happens pro and contra issues as well; for example, people might hate Windows' latest X bullshit, but they won't change their OS in the end, or, pro example, people might feel like that stand by local production, but they won't actually buy local, because it costs more.
What we are very blind to are problems that don't have immediate negative feedback. Comfort and security are huge motivators, especially when people have to let go of them. PR and propaganda (same thing really) uses this, among others, very effectively.
Me, personally? No, because they're honest about it. I use BBEdit and Nova frequently on my Mac. Those are as closed source as it gets. They never pretend otherwise, though. You pay your money and you know what you're getting. VSCode tries really hard to appear to be open source, as long as you're willing to ignore the million places where they aren't. (Python devs: are you using PyLance? I'm talking to you.)
And ironically, those closed editors seem to play more nicely with the ecosystem as a whole. Neither BBEdit nor Nova have ever tried to talk me into installing closed plugins, and the same plugins that work with them work great in Emacs and Zed.
If I go to one bar that charged $5 per beer, and another that gives free beer but makes you rent single-use mugs for $5, even though the end price is identical, the rental bar's going to annoy me horrendously. Just admit what it is and let people judge on their own merits.
The opening of Proverbs has:
1:5. Let the wise hear and increase in learning[...]
Deleted Comment
Tech bubble remains tech bubble, when common, non-tech people are much more screwed, yet nothing is being done except saying "lol, just install Linux".
Ever since I got remote mode working, I haven’t noticed any missing functionality I care about. (I also haven’t tried installing extensions for the pile of commercial services work uses, and that I wouldn’t pay for anyway.)
Edit: Since cursor now has near infinite VC money, perhaps they should fund a few open source devs to work on those forks. Why should they get a free ride?
Where this has become increasingly problematic is rampant materialism and corporatism.
If the only real motivator in town, especially for the powerful, is material gain then there is nothing to constrain wanton greed. This becomes even more pronounced with corporations because their overtly stated purpose is not but greed, so even if the individual actors have some transcend moral compass they will be in conflict to their programmed imperative to "do their job".
Currently many of the powerful are materialistic and materialism can bring worldly power. Other political paradigms may come to the fore but as it takes a form and gravity it will likely come into some dialectic conflict with the prevailing materialistic status quo. That may be a peaceful resolution, but I'd not be certain of that.
> Is it individualism? That they only consider their own narrow short-term interests, and have become blind to collective problems?
What collective problem, that someone might have to unexpectedly burn a weekend writing a new editor? That {emacs|vim} isn't popular enough? That people might have to go install openjdk in order to start using eclipse?
You just have to let go of things you have no real influence over.
And in the same sense regarding VSCode, and the VC fueled takeover of the open source ecosystem; the old guard warned against it, that's why they promoted GPL as critically necessary.
I don't think they'll survive very long as it seems that they don't actually have that many things that differentiate them. And there is a lot of competition.
Maybe against the store rules tho, dunno.
It is like when the same folks act surprised, after Google does something to their Chrome and Android forks.
Don't want big tech sponsored products?
Pay open source developers, so that they can actually make a living of their work.