inb*_*33n 5 visual-studio-code
我正在编辑别人的代码,我只想更改 9000 行文件的 1 行。但是每次我保存时,VS Code 都会格式化整个文件并删除任何尾随空格。这是一个禁忌,因为当我提出这个问题时,审阅者将不知道该看哪一行。
我已经试过禁用漂亮,添加的所有文件.prettierignore
,进入VS代码设置和禁用格式化或白色空间中的任何建议修剪,关闭formatOnSave
。
这是我的 .vscode/settings.json
{
"prettier.disableLanguages": [
"js",
"json",
"javascript"
],
"javascript.format.enable": false,
"typescript.format.enable": false,
"json.format.enable": false,
"html.format.enable": false,
"emmet.showAbbreviationSuggestions": false,
"css.validate": false,
"editor.defaultFormatter": null,
"editor.formatOnSave": false,
"[javascript]": {
"editor.formatOnSave": false,
"editor.defaultFormatter": null
},
"editor.trimAutoWhitespace": false,
"diffEditor.ignoreTrimWhitespace": false,
"files.trimTrailingWhitespace": false,
"files.trimFinalNewlines": false,
"eslint.format.enable": false,
"files.autoSave": "off",
}
Run Code Online (Sandbox Code Playgroud)
唯一似乎有效的是,如果我这样做了CTRL + SHIFT + P
,那么SAVE WITHOUT FORMATTING
。但是我可以有什么设置,所以我可以通过正常保存来做到这一点?
小智 97
遇到同样的问题,只需将“cmd + s”绑定到保存而不格式化。按 cmd+shift+p 然后搜索保存而不格式化,然后单击配置图标,然后用 'cmd + s' 绑定它,问题消失了:)
Rom*_*rez 27
如果是 ESLint,而不是 Prettier,解决方案是:
打开Preferences: Open Settings (JSON)
并配置:
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll": false,
"source.fixAll.eslint": false
}
Run Code Online (Sandbox Code Playgroud)
我没有 Prettier,但解决方案可能类似。
Ary*_*ola 17
就我而言,我卸载了 prettier 并使用 html-css-js 代码格式化程序。我已经在保存时取消选中格式,并尝试了许多其他方法。我最终更改了 formatter.json 中的设置(html-css-js 格式化程序的设置),然后它起作用了。
脚步:
这对我有用。之后我也可以使用自动保存。
csg*_*eek 11
我不久前遇到了这个问题。我formatOnSave
在设置中禁用了该选项。
转到File > Preferences > Settings
或Ctrl + ,
。在“用户”选项卡中选择Text editor
并导航
至Formatting
,禁用该formatOnSave
选项。
是啊!
就我而言,我有两个默认的代码格式化程序,它们的设置相互冲突,“prettier”设置为不在保存时格式化,但JS-CSS-HTML 格式化程序仍然设置为某些文件类型的默认格式化程序。我建议仅使用一种格式化程序,并从扩展列表中删除任何未使用/冲突的格式化程序。
我使用的方法是:
打开一种文件类型(在保存问题上为您提供格式设置的文件类型。)
删除设置默认格式化程序的行: ex) "editor.defaultFormatter": "lonefy.vscode-JS-CSS-HTML-formatter"
然后返回到您的文件并尝试正常格式化(我的热键是:alt + shift+ f),它应该提示您选择默认格式化程序。
这应该有助于最大限度地减少格式化程序冲突问题。
理想的解决方案是使用“保存而不格式化”命令。
\n这可以通过以下任一方式执行:
\nCTRL
+ SHIFT
+P
CTRL
+ K
,S
这使您可以保存文件,绕过任何可能自动运行的格式化程序。
\n您可能想完全禁用自动格式化。files.autoSave
您可能只是不喜欢它,或者因为它与自动保存(因此也会自动格式化)配对时会很烦人。
首先检查您的全局设置并查看是否已editor.formatOnSave
启用。如果是这样,则禁用它。
您可以通过以下任一方式导航到您的设置:
\nFile
\xe2\x86\x92 Preferences
\xe2\x86\x92Settings
CTRL
+,
然后搜索editor.formatOnSave
并禁用它。
如果它仍然是自动格式化,则可能在工作区设置中启用它。检查工作空间的根目录是否有文件.vscode/settings.json
,如果有,是否有editor.formatOnSave
. 如果是这样,则要么在那里禁用它,要么删除该文件以阻止它覆盖您的全局设置。
检查是否有任何其他扩展在保存时执行代码操作。这里的其他答案稍微涵盖了这个主题,但一般来说,您可以浏览您的设置和搜索术语,例如“保存”或“格式”。
\n所有 UI 导航和键盘快捷键均取自 Linux 安装,它们在其他平台上可能有所不同。
\n您可以通过更改用户设置文件来做到这一点:
ctrl + shift + p
preferences: Open User Settings(JSON)
您可以通过添加以下代码来禁用所有文件的保存格式代码:
{
"editor.formatOnSave": false,
}
Run Code Online (Sandbox Code Playgroud)
如果您只想禁用特定文件的格式,您可以使用以下代码:
{
"editor.formatOnSave": true,
"[markdown]":
{
"editor.formatOnSave": false
},
"[yaml]": {
"editor.formatOnSave": false
},
}
Run Code Online (Sandbox Code Playgroud)
通过使用此代码,可以禁用yaml
和markdown
文件的格式设置,但可以启用其余文件格式的格式设置。
希望这可以帮助。
也许tombonnike的这个名为 Formatting Toggle 的插件可以帮助您。
\n它通过切换禁用自动保存。
\n从它的描述来看:
\n\n\nVS Code 扩展,允许您只需单击一下即可打开和关闭格式化程序(Prettier、Beautify、\xe2\x80\xa6)。
\n
您是否尝试添加
"editor.formatOnSave": false
Run Code Online (Sandbox Code Playgroud)
在您的用户设置中而不是在您的项目设置中?
归档时间: |
|
查看次数: |
8281 次 |
最近记录: |