-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
We generally prefer running formatters and linters via pre-commit, etc. for which there is CI tooling, rather than using editor/IDE plugins or features to do formatting and linting. If any integrate with pre-commit, use those.
A first decision is between a source-code editor or an integrated development environment (IDE).
- An IDE contains a source-code editor, in addition to tighter integration and UI elements for tools related to version control (e.g. bespoke panes for git log and diff), test, build, debug (breakpoints, inspection), diagnostics (squiggly lines), autocomplete, refactor, etc. If using a source-code editor, these other activities are often done in a separate shell.
- A source-code editor has minimal distractions. There are no popups with definitions, diagnostics, type hints, available methods, autocomplete suggestions, commit history, etc. Some feel that this adds more information for them to process and distracts from their task (e.g. causing them to think about other tasks, like formatting).
Sublime Text
Plugins
Essential
- Package Control
Syntax
- ApacheConf
- Babel (still relevant in June 2025)
- Django Syntax
- INI
- fish
- Jinja2
- nginx
- rainbow_csv (better highlighting than Advanced CSV)
- Saltstack-related syntax highlighting and snippets
- Sass
- TOML
- Vue
Note: Most of these do not have an LSP available.
Editing
- Advanced CSV
- Pretty JSON (faster than JSON Reindent)
- NeoVintageous (unused)
- Revert All Files
Tools
- Git
- Terminus
To change the default shell to fish, Settings… > Package Settings > Terminus > Settings:
{
"default_config": {
"osx": "fish"
},
"shell_configs": [
{
"name": "fish",
"cmd": ["/opt/homebrew/bin/fish", "-l"],
"env": {},
"enable": true,
"platforms": ["osx"]
}
]
}AI (unused)
UI
- Dracula Color Scheme
- A File Icon (unused, distracting)
IDE-like (unused)
- SublimeLinter
- LSP
- SublimeCodeIntel
Language-specific:
- Anaconda
- Jedi - Python autocompletion
- Rust Enhanced
- SQLTools
Tips
- Sublime Text has an integrated diff feature: https://stackoverflow.com/a/30012550/244258 If you prefer side-by-side diffs or need to diff other sources, try the plugins, Compare Side-By-Side, FileDiffs or DiffTabs.
Zed
Interesting features:
- https://zed.dev/blog/out-of-your-face-ai
- https://zed.dev/blog/fastest-ai-code-editor
- https://zed.dev/blog/repl
- https://zed.dev/blog/git
- https://zed.dev/blog/debugger
- https://zed.dev/docs/multibuffers
Configuration
~/.config/zed/settings.json
"buffer_font_size": 12,
"buffer_font_family": "Menlo",
"git": {
"inline_blame": {
"enabled": false
}
}More ways to disable features at https://gerotakke.de/public/my-zed-settings.json:
"enable_copilot_integration": false,
"show_completions_on_input": false,
"features": {
"inline_completion_provider": "none",
"copilot": false
},
"hover_popover_enabled": false,
"use_autoclose": false,
"format_on_save": "off",
"remove_trailing_whitespace_on_save": false,Issues
- Global search doesn't automatically ignore large files Global/project search should respect a global .gitignore zed-industries/zed#29037 (comment)
- Search is slower than Sublime Text
Testing
- Check if it reloads unsaved files after close/force quit, like Sublime Text
- Test its performance with a heavy search/replace request, e.g.
{in a large JSON file
Cursor (likely applies to VS Code)
Plugins
Languages
- Even Better TOML
- markdownlint
- Pylance
- Python
- Python Debugger
- Rainbow CSV
- reStructuredText, which requires:
- Esbonio
- reStructuredText Syntax highlighting
- Ruff
- rust-analyzer
Editing
- change-case
- Sublime Text Keymap and Settings Importer
- https://marketplace.visualstudio.com/items?itemName=eriklynd.json-tools mentioned by @allakulov in Slack
- https://devblogs.microsoft.com/python/data-wrangler-release/ mentioned by @allakulov in Slack
- https://marketplace.visualstudio.com/items?itemName=zuban.zubanls
Tools
- GitLens, e.g. for
git blame
UI
- Dracula Theme Official
Configuration
- To edit keybindings.json go to Cursor > Settings... > Keyboard Shortcuts. Can also click the "Open Keyboard Shortcuts (JSON)" icon) to edit the JSON directly.
- Settings > Extensions > GitLens > Inline Blame > Uncheck "GitLens > Current Line"
settings.json:
"editor.inlayHints.enabled": "off",Preferences: Open Keyboard Shortcuts (JSON)
{
"key": "shift+cmd+f",
"command": "search.action.openEditor"
}Tips
- When opening the symbols listing, type
:to immediately filter to only function, methods, classes, etc.
Reactions are currently unavailable