6 ms·
I really want to like Zed because they've clearly put so much work into it, but so far I've been sticking with Sublime. I have several large PHP projects that w
by Meekro 5mo ago
I really want to like Zed because they've clearly put so much work into it, but so far I've been sticking with Sublime. I have several large PHP projects that were started in the 2010-2020 era, and Zed will highlight and complain about all sorts of minor things that were standard PHP fare at the time: functions without return types, for example. My code (which works fine) looks like an ocean of red when I view it with Zed, and turning all those warnings off is not trivial.
For each kind of warning, I wish there was a button that said "don't warn me again about issues like this one in this project." Then I could keep the interesting warnings (like undeclared variable) and ditch the ridiculous ones.
- WD-42 5mo agoYou should be able to just turn off the language server. Go to the lightning bolt icon in the bottom bar, "Stop all servers" or just the PHP one lighting up your source code.
- kitsune1 5mo ago[dead]
- thinkingtoilet 5mo agoIf you're using zed, couldn't you use AI to fix something like that? Those copy and paste type changes over a code base is something AI assistants are really good at.
- Meekro 5mo agoI could! I'd probably have to take it piece by piece, rather than telling an AI to edit hundreds of files in one epic session and hoping for the best. Even just reviewing a commit that large feels like it would be a bad use of time. Also, giving every variable a type (or using "mixed" everywhere), and giving every function a return type (more "mixed" or "void") would just make the code more verbose without any justification that I can see. With Zed, I feel like I'm being dragged into a modern style guide that I never agreed to. It would be nicer if I could make it my own by turning off those parts that I disagree with and keeping the rest. I know this is technically possible, but they've certainly not made it easy.
- kyleee 5mo agoHave you investigated if the lsp and linter is configurable
- LukaD 5mo agoFrom what I can gather from a cursory glance at the docs, zed uses intelephense and its diagnostics can be disabled. The whole lsp can be disabled. At the risk of sounding like I'm saying "you're holding it wrong", I have to say that this is an OP problem and not a Zed problem. These are sensible defaults that work for almost everyone, in my opinion.
- bmandale 5mo agoThere are no "defaults that work for everyone". Well designed tooling acknowledges that and makes it easy to tune the software to your preference.
- giancarlostoro 5mo agoI love Sublime, but I don't want to pay to upgrade from 3 to whatever version it is now, Zed is everything I wanted Sublime to be. Honestly, I wanted VS Code but fully native, and I feel like that's what I'm getting from Zed. I feel like some people will be put off by all the "AI" mentioned by Zed, but you're sleeping on a top tier editor where you can just ignore the AI stuff if you don't want it. It's very high quality, and probably the reason I wont be renewing next year for JetBrains, unless JetBrains does something impressive, I thought by now they'd have a more native feeling IDE that handles most / any language instead of so many separate ones. VS Code has gotten so bloated over the years. The gold standard of ST has spoiled me with simpler editors. Zed is the first time I felt like someone finally built an editor that is modern and has a rich set of features.
- frizlab 5mo agoGiven the price and the fact it’s a WinRAR-style model, I really don’t mind ST being paid.
- nicoburns 5mo ago> I love Sublime, but I don't want to pay to upgrade from 3 to whatever version it is now I don't know what your financial situation is, but given that the upgrade is an $80 one off payment (a new license is $99), that it's a per-user license (not per-machine), and that there were 8 years between Sublime Text 3 (2013) and Sublime Text 4 (2021) (only major versions require a new license), I personally think it's very reasonably priced.
- Meekro 5mo agoAgreed-- Sublime is asking $99 right now, which is quite reasonable for something that you're going to use for hours a day in your professional work. Somebody gave many years of their life to make that tool the best it could be, and as a well-paid professional, I feel it's more than fair. In other high-end professions (like the legal field), I've heard of law firms paying a lot more than $99 for certain software licenses. That said, there are a lot of reasons why someone might be struggling with money. If I was the creator, I wouldn't object to someone using an unlicensed copy forever in that case.
- hakunin 5mo agoI'm also sticking with Sublime for many years, and at this point it feels like it is some kind of old man stubbornness (like George R.R. Martin using WordStar 4.0 type thing). I don't know why its ergonomics for me have been just unbeatable. I gave others (VSCode and Zed) good weeks and months of configuring them to my liking and using them exlusively, and always returned to Sublime. All the AI stuff just runs on the side in the terminal (iTerm2 for me, but checking in on Ghostty sometimes too, waiting on them to figure out their minimal text brightness feature).
- maratc 5mo agoAs you mentioned iTerm, you should also check out TextMate, the thing that Sublime Text was inspired by.
- hakunin 5mo agoI used TextMate prior to Sublime, but then I became into vim mode, which TM never got I believe.
- maratc 5mo agoI used vim before TextMate but TM has multiple cursors where vim has none, and I use that every day. The closest thing to that in vim is "repeat edit" but your edits need to be somewhat trivial to be repeat-able. Next is vim macros but that is too complicated already.
- hakunin 5mo agoYeah, and Sublime has both: vim mode and multiple cursors.
- frizlab 5mo agoInteresting! I tried Zed too, and not knowing Sublime, I switched to it instead after a while… I’m not sure why though. I do not have the issue you do, but Sublime feels better.
- masklinn 5mo ago> My code (which works fine) looks like an ocean of red when I view it with Zed, and turning all those warnings off is not trivial. Isn't it just the default configuration of whatever LSP zed defaults to for PHP? So you should be able to either configure the LSP to avoid that or disable the LSP server entirely.
- Meekro 5mo agoComing from Sublime, I'd never even heard of a Language Server when I first tried Zed. As I recall, disabling particular kinds of warnings required copy-pasting some pretty exotic incantations into my project config. All of it was poorly documented, and it felt like I was doing something nobody expected me to do. Instead, I should have been able to mouse over a particular warning and say "don't warn me again about things like this", at which point Zed should edit the project config for me.
- iknowstuff 5mo agoYou should learn about LSPs
- mtoner23 5mo agoLSP is how all editors work today and its simplified everything so so much. you should figure them out
- parampampam 5mo agoDefinitely not all.
- _verandaguy 5mo agoWhile this comment is overly general (some major editors ship without LSP support built in; many more do not have a sane configuration out-of-the-box), it is useful to learn about them and how your editor of choice integrates with them. The landscape isn't generally intuitive, unfortunately, and while it's getting better, understanding the differences and interop places between LSP, Treesitter, DAP, your editor, and the underlying language-specific tooling can be a big, confusing time hog. That said, and to be clear: LSP's been a huge boon for me. I used a minimal, kinda-broken configuration for a while with Python, then rebuilt the whole thing when I switched to Rust for work, and holy hell, this thing's awesome.
- levkk 5mo agoThis is just a language server problem. I'm sure you can configure whatever language server PHP is using to disable specific warnings, etc.
- swiftcoder 5mo ago> I'm sure you can configure whatever language server PHP is using to disable specific warnings, etc You may be able to do this by editing a language server-specific config file in whatever arcane syntax they decided to offer. But there isn't any editor support for configuring languages servers, so it's a bit of a lift for a newcomer who just wants to turn off some warnings
- charcircuit 5mo agoEditors should take full responsibility of the user experience. The user should not have to care about the existence of language servers.
- Meekro 5mo agoI think the application should own its dependencies and its default config. In this case, it felt to me like no one had really looked at them.
- Perz1val 5mo agoWe use intelphense with vscode and it's only mildly red (zf1 mutant project). It also understands stubs from phpstorm. Default lsp for Zed is phpactor and it was just an inferior experience compared to intelephense (free) in vs code last time I tried. Now there's even a guide for adding intelephense to zed, but I'm yet to try it out.
- sixtyj 5mo agoSidenote: Sublime remembers all tabs even those unsaved. (Software update deletes this memory.)
- ben-schaaf 5mo ago> Software update deletes this memory. While there was a bug where the session was lost when updating, this was fixed years ago.
- sixtyj 5mo agoGreat, good to know. Thanks. I wasn’t brave enough to test, so I hope you are a human not a dog that tries to prank me :))
- askedrelic 5mo agoI use Sublime as a scratchpad and never save anything, so this is an important feature for me. It's worked flawlessly for years. I've tried Zed several times like this and it continues to lose data.
- nh2 5mo ago> Software update deletes this memory. Are you sure? I believe Sublime preserves all your unsaved tabs even on update.
- sixtyj 5mo agoLast time I have updated (half a year ago) it deleted tabs. And since that time I haven’t been brave enough to update it again as I have too many tabs unsaved :)
- 8note 5mo agoi lost all the open tabs last time i upgraded sublime. burned once, twice shy; i wouldnt update without spending an hour making up names for random junk files
- 5mo ago
- lthi747 5mo agoIt just doesn’t play bice with PHP, I always wanted to uniform my stack before with vscode, now with zed. But PHPStorm always win. It really there is no realy good ide or tools for php
- dmix 5mo agoHad the same experience with a rails project, it injected an LSP+linter we don't use in our project and it has really annoying to figure out how to disable it in a settings. Having to debug an editor's settings JSON the first time you use it is not a good UX, it should be optional to enable it instead of assuming we want aggressive on-save linting/autoformatting (that the repo doesn't even have configuration files).
- deleted 5mo ago[deleted]
- sieve 5mo agoI was using JetBrains for more than a decade. Then I got into Python as well and so was juggling between WebStorm, PyCharm, CLion and Intellij Idea. Zed has replaced the first three completely. Put the appropriate config file in project root for whichever LSP/linter/tool is running, and most of these warnings disappear. Writing C in Zed is a wonderful experience. The LSPs surface errors in an manner that is very easy to view and edit. My main issues with Zed are: - Word-wrap: I prefer on-demand, and I haven't been able to figure out which setting triggers that. Of if it is even possible. - Support for Devanagari and other scripts: I use it as a markdown editor to proofread old texts and it is inadequate for that purpose. Kate/Featherpad offers a superior experience for this, including the ability to zoom to see those visually difficult to parse conjunct consonants.
- mosdl 5mo agoA bit confused - Idea supports pythong and ts/js, why the need for three?
- sieve 5mo agoThe UI is a bit different for each and I got used to the differences I guess. I have a lot of projects and I pick one IDE for each and then do not deviate from it.
- Sohcahtoa82 5mo ago> pythong Glad I'm not the only one that frequently makes this typo.
- kstrauser 5mo agoYou are not, I assure you.
- renticulous 5mo agoGoing forward there will be one version of Jetbrains IDE and clion, webstorm, etc will be all just plugins.
- ibejoeb 5mo agoI love Zed, but I hear you. It's a very fast and capable editor with lots of IDE features, but it's lacking comfortable ways of tuning it for specific projects. (This is a problem with every general purpose, everything-to-everyone kind of IDE versus stack "native" IDEs that are geared toward the one true way of developing for particular target.) The configuration file structure is arcane, and it certainly not clear what the boundaries are between language feature configuration, LSPs, built-in and third-party code quality tools, etc. I eat the cost of configuring it manually when I start up something new because it's just not that big of deal, even when you're like me, working across myriad languages and frameworks and organization with varying standards. It's not ideal, but it's not deal-breaker. I do wish that there was a better way to definitively set it up a particular way and know that it is doing what you want it to do. I want something like presets/profiles. If I'm working with typescript, I want to be able to set it up to use a specific version of tsc, eslint, prettier; I also want to be able to create a different one with biome; I want it to work correctly whether I have my source in the project root or in a sub directory or in a monorepo tree. Fairness to Zed: it is difficult to support all of these permutations, but I do think that they ought to be able to do something better to abstract these things and make the reusable.
- pverheggen 5mo agoThe standard approach these days is to have all of those declared in a config file somewhere in your project. That way, other contributors (and the CI) can lint/format consistently. Even if it's for solo projects, it's nice that you don't have to update them in lockstep. As in, you revisit an older repo, you don't get bombarded with squiggly lines from your latest user profile, instead you can upgrade it at your leisure.
- ibejoeb 5mo agoTrue, and not disputing that. Two points: 1. I want to be able to readily duplicate that configuration for another similar project. 2. It's not always appropriate to co-locate those specific files within the project source itself, especially within a source repository. Notable cases are if we're working on different platforms with different binary paths, or if we're not standardized on a particular editor. I should be able to configure my editor without polluting the common source.
- Nesco 5mo agoSame, I really want to like Zed but LazyVim covers my every need
- deleted 5mo ago[deleted]
- throwatdem12311 5mo agoI still stick with Sublime because when I give them money they haven’t given me reason to believe they’re going to waste that money putting in AI slop features I don’t want.
- progmetaldev 5mo agoI've worked with mostly PHP from this era, or at least developers that are from this era. The code still runs fine, and not having things like return types don't make the code less able to run (just not as easy to catch bugs). I haven't used Zed, but can you choose the PHP version, or point to a PHP executable for warnings/errors? I know in VS Code, you point to the PHP executable for the version you are using, to catch errors. I haven't created a new PHP project in quite some time, but I did work on many older PHP projects, and never had this issue with VS Code. I suspect even if you don't go about it this way, there has to be configuration to specify what is and isn't an error vs. warning.
- bigstrat2003 5mo agoZed felt it had the right to download, install, and run node.js without any permission just to run some LSP (which I don't even use). When I mentioned it here, the devs said that they felt that was fine because their priority was to make things seamless for users such that they don't have to install the LSP manually. Sublime Text, on the other hand, has never installed anything I haven't explicitly asked it to. I'm sticking with Sublime Text, as its developers actually respect boundaries on my computer.
- hackermanai 5mo ago> Zed felt it had the right to download, install, and run node.js without any permission just to run some LSP (which I don't even use). Yes. This is bad. Zed keeps installing and running all sorts of random background stuff. This should be an opt-in.