-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Zed not respecting tab size when saving file #4842
Comments
Any ETA on when this will be fixed? This is a pretty serious issue, my whole project is working on a specific tab size... |
UPDATE: I can confirm that this only seems to happen in C/C++ source and header files. This behavior doesn't seem to happen on Rust/Python/JavaScript. This seems to me like clangd formats the code regardless of the tab size given in Zed's settings. |
Same issue here. I even tried figuring out how to configure clangd but I think that if it's always using the LSP, it'd be good to have a way to configure clangd in the editor itself. There does seem to be that possibility, but I'm unsure on how to configure formatting since the docs only cite initialization options. |
Experiencing the same issue with Lua files here. My editor config: {
"buffer_font_size": 15,
"tab_size": 4,
"hard_tabs": true
} |
Same in TypeScript/tsx files. My config
|
For the time being, consider setting "format_on_save": "off" |
same in .vue files |
Same in .css files. |
for .vue files I put this configuration in .zed/settings.json (local settings), now it is working as expected
|
I really like the format on save but doing the same thing for me "autosave": {
"after_delay": {
"milliseconds": 3000
}
},
"format_on_save": "on",
"hard_tabs": true,
"tab_size": 4,
"language_overrides": {
"TypeScript": {
"tab_size": 4,
"hard_tabs": true
},
"JSON": {
"tab_size": 4,
"hard_tabs": true
}
}, doing the language overrides didn't seem to help |
C++ tab size : 4 and hard_tabs : true doesn't seems to be working |
I'm using this config to fix it:
|
On 0.123.6 using language overrides does not fix the issue with C++:
|
Can confirm that this persists for C++ even if you put language overrides & tab-size related settings. Other languages are fine when you fix your config with override. |
@OmerFlame It seems formatting is handled by the
(see https://clang.llvm.org/docs/ClangFormatStyleOptions.html) This is a workaround however; it would be nice to see support for configuring the language server formatter integrated into Zed itself. |
For Rust, it was definitely tab_spaces = 2 And that fixed it! |
OMG this is super useful, thank you! |
The issue still has not been fixed. I have turned off format on save and am currently using artistic style to format my C files after I'm done coding. Here's a screen recording of the issue on my machine: Screen.Recording.2024-07-10.at.9.46.08.AM.movVSCode's auto formatter looks very similar to artistic style. Would it be possible to somehow integrate astyle into the editor itself? Edit: My environment: Zed: v0.142.6 (Zed) |
I'm getting the exact same behavior with TSX and TypeScript files. Any solution to this? |
I was able to fix this by adding a
|
I tried this with a YAML file but with a |
What does it say the language server logs for prettier? |
@louisnw01 , how do I check the server logs for |
cmd+shift+p, open language server logs, click the |
This is what I got on the logs after saving. It is still using 4 spaces instead of 2. |
I'm working in TypeScript with Zed v0.152.3. |
What the hell are the devs doing that this hasn't been fixed yet? |
I also noticed that Zed fails to respect the tab size when coding and making a new line for example in a function. I've had this situation that I don't know how to reproduce multiple times, where if you enter a new line, the editor doesn't insert the tab at the correct set amount in the settings, for example it only inserts 3 spaces instead of 4, or 2 instead of 4 or whatever the value is in the config, if someone noticed something similar and knows how to reproduce, it would be worth sharing here |
Fixed for me as well. This means that the documentation for JavaScript is incorrect:
I have just installed Zed and did not change any formatting settings. Apparently, Prettier is used for format-on-save instead of the TypeScript server. |
in c++, zed uses clangd to format the source files. so you can add a |
The issue described in the first post is not something I can reproduce, however the one from @motherboardMage I can. {
"ui_font_size": 16,
"buffer_font_size": 16,
"hard_tabs": true, // true or false doesn't change anything
"tab_size": 4,
"indent_size": 4,
"languages": {
"C": {
"format_on_save": "on", // <== culprit
"indent_size": 4
}
}
} int bruh() {
int test;
int test2;
return 0;
}
I'm not sure but it seems like we don't pass any of the options provided for C or C++ (same code). |
Check for existing issues
Describe the bug / provide steps to reproduce it
When saving, Zed just doesn't respect the tab size that was set in the settings. (Settings and demo of the issue provided in the attached screen recording)
Environment
Zed: v0.79.1 (stable)
OS: macOS 13.3.0
Memory: 16 GiB
Architecture: aarch64
If applicable, add mockups / screenshots to help explain present your vision of the feature
Screen.Recording.2023-04-03.at.19.48.33.mov
If applicable, attach your
~/Library/Logs/Zed/Zed.log
file to this issue.If you only need the most recent lines, you can run the
zed: open log
command palette action to see the last 1000.log.txt
The text was updated successfully, but these errors were encountered: