VS Code中按下Ctrl+s时光标跳至.js文件末尾问题求助
解决VS Code保存JS文件时光标跳转到末尾的问题
检查格式化插件的自动格式化设置
很多格式化工具(比如Prettier、ESLint)会在保存时自动修改文件,要是开启了强制调整文件末尾换行的选项,很可能导致光标跳去最后一行。先在设置里搜format on save,暂时关掉editor.formatOnSave选项试试,如果问题消失,再针对性调插件配置:- Prettier:找
prettier.endOfLine设置,设为auto或者和当前文件一致的换行格式;关掉prettier.requirePragma这类可能强制修改文件的选项。 - ESLint:检查
editor.codeActionsOnSave里的source.fixAll.eslint,如果开着,看看ESLint规则里有没有eol-last这类强制文件末尾留空行的规则,临时禁用该规则测试。
- Prettier:找
检查文件编码和换行符设置
右下角状态栏能看到当前文件的换行符格式(比如CRLF、LF),要是文件本身的换行符和VS Code默认设置不匹配,保存时可能触发文件重写,导致光标跳转。点击状态栏的换行符选项,切换成和文件匹配的格式,或者在设置里把files.eol设为auto,让VS Code自动适配文件原有换行符。禁用可疑的第三方扩展
除了格式化插件,有些其他扩展(比如代码检查、语法高亮类)也可能在保存时修改文件。可以进入扩展 > 已安装,批量禁用所有第三方扩展,然后逐个启用测试,找到搞事的扩展后更新或者卸载它。重置VS Code设置
要是上面的方法都没用,试试重置用户设置:- 打开命令面板(Ctrl+Shift+P)
- 输入
Preferences: Open Settings (JSON) - 全选删除JSON里的所有自定义设置,保存后重启VS Code再测试。
内容的提问来源于stack exchange,提问作者Varun Jain
相关产品推荐
相关产品推荐

