vscode 有没有像 sublime text 一样能够自动缩进以及格式化文件内容的功能或插件啊?

2022-07-01 14:14:37 +08:00
 css3

因为公司不让使用 sublime text, 原来一直使用 sublime text 来临时格式化文件非常好用(都不需要保存文件, 直接 new 一个就能格式化), 最近切到 vscode, 没有找到这个功能, 连自动缩进都没有, 请问下大家, 有没有什么设置或者是插件可以实现这个功能的吗?

2569 次点击
所在节点    程序员
24 条回复
molvqingtai
2022-07-01 14:29:04 +08:00
lybcyd
2022-07-01 14:34:10 +08:00
语言不同插件也不同,快捷键是统一的 Shift+Alt+F 。

常见的,前端系列用 prettier ,python 用官方插件+autopep8 或者 black ,php 用 php intelephense ,ruby 用 rubocop ,go 也是官方插件。
qbqbqbqb
2022-07-01 14:41:16 +08:00
VSCode 有格式化功能,名称是 Format document (可以在 F1 命令面板里使用),快捷键 Alt+Shift+F 。

要安装对应语言的插件才能用。

用之前要先保存文件,直接 new 的文件不行。
css3
2022-07-01 14:42:54 +08:00
@molvqingtai 发现已经装了这个, 我格式化 json, 连个自动换行都没有....

@lybcyd 语言不同插件也不同.......这个真的就很麻烦了, 要装多种了
css3
2022-07-01 14:45:11 +08:00
@qbqbqbqb 我看了一下, 直接 new 了后, 告诉他对应的文件类型, 用 Alt+Shift+F,也提示在格式化了, 我现在是装了 python 和 prettier, 至少我格式化 json 和 javascript 是没有用的
MAGA2022
2022-07-01 14:46:29 +08:00
新建的 要先 cmd k + m 设置文件类型,然后就能格式化了,都不知道什么文件类型,vscode 怎么进行格式化。
noe132
2022-07-01 14:49:23 +08:00
新建文件默认是纯文本所以不支持格式化。
vscode 在某一个版本新加了 语言选择提示 workbench.editor.untitled.hint ,因为发现很多人不知道需要选择一个语言,让你手动选择一个语言来使用相应语言的功能。
cxtrinityy
2022-07-01 14:56:09 +08:00
prettier 可以, 不行就是配置问题
css3
2022-07-01 15:06:48 +08:00
@cxtrinityy
@MAGA2022
知道为啥不生效了, 是因为我复制过来的 json 是单引号, 即使给指定了文件类型, 它也不格式化, 我把单引号替换成双引号成可以了, ps, 之前用 sublime text, 一是不用指定类型, 二是它会忽略引号不论单双, 感觉还是 sublime text 格式化方面更强大
catsoul
2022-07-01 15:17:27 +08:00
@css3 但是 JSON 本身的规范就是双引号啊...该说不说我反而觉得 VSCode 这种,语法不对就不给你一股脑格式化的反而更好...
css3
2022-07-01 15:22:12 +08:00
@catsoul 但有时候快速格式化一下就只是为了看一下关键信息, 不需要太“严格”
cxtrinityy
2022-07-01 15:28:09 +08:00
@css3 单引号应该直接波浪线标红啊, 标签栏里文件名也会变红吧, prettier 会直接把单引号格式化成双引号啊, 如果不是成对的单引号 prettier 也会弹窗提示 unterminated string constant, 指出位置
qbqbqbqb
2022-07-01 15:49:40 +08:00
@css3 有的插件的格式化功能直接 new 的文件里是没有效果的(设置了语言也不行,比如 Python ),必须先保存一下才能用。
qianxi0410
2022-07-01 15:50:17 +08:00
只是为了看信息的话,你应该试试: https://stedolan.github.io/jq/
css3
2022-07-01 15:57:02 +08:00
@cxtrinityy 是标红了, 但并没有帮我自动把单引号转成双引号啊, 是要额外配置吗
css3
2022-07-01 15:57:24 +08:00
@qbqbqbqb 那好吧, 如果要保存起来, 成本更高了....
cxtrinityy
2022-07-01 16:13:36 +08:00
@css3 sorry, 我是开箱即用的, 不是专门搞前端的, 没有特别研究过
ifdef
2022-07-01 16:19:19 +08:00
借楼问一下,为什么 vscode 没有大部分 ide 或浏览器的,点击鼠标滚轮 === ctrl/command + click 的功能啊
css3
2022-07-01 16:29:01 +08:00
vscode 是按 f12 吧, 跟 ide 不同, 或者是得装各种插件
css3
2022-07-01 16:29:17 +08:00
@ifdef 见楼上

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/863429

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX