5 ms·
The current best option for a native editor on macOS is still Sublime Text (now 4). It's not purely native as not using all the core Apple frameworks, but it st
by hbbio 5y ago
The current best option for a native editor on macOS is still Sublime Text (now 4). It's not purely native as not using all the core Apple frameworks, but it still does the job and finally has support for LSP which is the major feature you would expect from a code editor today.
Congrats for providing another option: If well done and providing a user experience which is close enough (including visually) to vscode, that could be a compelling option. Don't forget LSP and just provide a native implementation of something that looks like vscode (which was designed after Sublime), not a different UI altogether.
- eek2121 5y agoWhat? It is back from the dead?!? YESSS!!! :D
- hbbio 5y agoIndeed! - M1 support: check - GPU rendering: check - LSP support: check The main problem (for me) is the use of their external app Sublime Merge to manage git sync: This breaks the work flow, and is an inferior experience compared to vscode. Also, there are slight differences in the way tabs are managed which make it cumbersome to switch between Sublime and vscode (which has won muscle memory lately). Edit: for instance the current file is not highlighted by default in sidebar, I resort to a custom keybinding: { "keys": ["ctrl+alt+s"], "command": "reveal_in_side_bar" }
- nicoburns 5y agoThere’s a sidebar enhancements extension which allows you to right click a tab to reveal in sidebar.
- nicoburns 5y agoThey’re just really bad at publicising their beta builds.
- eatonphil 5y agoWhat are the non-native parts?
- madeofpalk 5y agoNow we’ve got to get into what "native" even means, defining it in a way that include Sublime Text but excludes VS Code
- mythz 5y agoUsing a web renderer disqualifies it from being "native".
- madeofpalk 5y agoSublime Text doesn't use native UI frameworks either, it rolls it own UI toolkit. Seems just as native (not at all) as web.
- antifa 5y agoIs there a term for less layers of VMs? It seems to be leagues more native than vscode because it is compiled for OSX instead of a webview.
- speedgoose 5y agoObviously Python is much much more native than JavaScript.
- madeofpalk 5y agoI don't think that's obvious (or true, imho) at all.
- speedgoose 5y agoNo it’s not true, it was sarcasm.
- veidr 5y agoI bought Sublime Text through v3 but didn't really use it anymore, so declined to buy v4 (so far). It's interesting you mention LSP support, because that is basically why I stopped using it — the as-you-type auto-completion, error/warning highlighting, and doc/reminder/hint functionality was sorely lacking (compared to leading non-native editors like VS Code / Jetbrains). I just fired up Sublime Text 4 and opened a vanilla Angular project to try the TypeScript support. const foo = new Hoge(); foo.titleId = 69; Unfortunately, while it did offer to autocomplete the titleId property, that property is from a completely unrelated class to Hoge that isn't imported in the current file (but I can see in the hover popup where it Sublime is getting the definition), and also that property is a string, but Sublime lets me go ahead and assign a number to the property without flagging it as an error. To me, these basic features are table stakes for an editor in 2022, and should hopefully "just work" if you open a TypeScript file. But are you saying these features can now be made to work in Sublime (perhaps with some configuration, or something)? There was a lot I liked about Sublime back in the day, but I felt like it just failed to keep up with the basic-level state of the art for a code editor. I'd be happy to find that I'm wrong about that, though.
- brundolf 5y agoYou need to install a couple extensions and then it works well enough. It could be a slightly smoother process, but I think it's reasonable. Even in VSCode you have to install and configure plugins for all non-TypeScript languages; TS gets special support because Microsoft wants it to. Sublime is unopinionated. (I still use VSCode myself, but I don't think your criticism was being fair to Sublime)
- veidr 5y agoCool. Not really trying to criticize it; just noticing that it doesn't work out of the box, and I personally have never had the time to fiddle with it to see if it can be made to work. However, since we are in the thread I googled it with duckduckgo.com, and then followed the top blog post results, which involved: - install "Package Control" - use that to install Package → LSP-typescript - restarted Sublime Text 4 (just in case) But it still didn't work. (For any reasonable value of "work"... I mean it didn't highlight errors in TypeScript as a typed them, and "go to definition" didn't jump to the correct definition, but rather offered me a list of every place in the project where a symbol with that name was defined (including the correct one, but also several incorrect ones).) So, maybe I'm doing it wrong, or maybe it doesn't work. I'd love to be wrong, though, and see an example (blog post, youtube, whatever) of Sublime working for TypeScript development with all/most of what VS Code offers out of the box (even if it involves some configuration steps).
- chewmieser 5y agoFor purely native options we have TextMate 2 and Nova (more of an IDE). I've personally used TextMate for many years, only switching to Nova more recently. The community for both is not as comprehensive as VS Code or Sublime but they're still both solid options.
- mosselman 5y agoSublime is great, but I switched to VScode for the built in terminal. I know there is terminus in Sublime, but I can't send commands to it like I can in VCode. My use case being: - I open up a spec file and I am on line 123 - I press CMD+Shift+R and it will open a terminal tab, if it isn't there already - It runs: `bin/rspec path_to_file:123` I can't do that with Sublime. What I CAN do with sublime is run the command as a build, which is almost perfect, but it hangs when I add a `binding.pry` because it isn't interactive. Hence making it unusable in this way. Maybe there is something else I can do like running an iTerm tab or something I don't know of?