V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
css3
V2EX  ›  程序员

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

  •  
  •   css3 · 2022-07-01 14:14:37 +08:00 · 2678 次点击
    这是一个创建于 878 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    24 条回复    2022-07-03 00:43:07 +08:00
    molvqingtai
        1
    molvqingtai  
       2022-07-01 14:29:04 +08:00
    lybcyd
        2
    lybcyd  
       2022-07-01 14:34:10 +08:00
    语言不同插件也不同,快捷键是统一的 Shift+Alt+F 。

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

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

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

    @lybcyd 语言不同插件也不同.......这个真的就很麻烦了, 要装多种了
    css3
        5
    css3  
    OP
       2022-07-01 14:45:11 +08:00
    @qbqbqbqb 我看了一下, 直接 new 了后, 告诉他对应的文件类型, 用 Alt+Shift+F,也提示在格式化了, 我现在是装了 python 和 prettier, 至少我格式化 json 和 javascript 是没有用的
    MAGA2022
        6
    MAGA2022  
       2022-07-01 14:46:29 +08:00
    新建的 要先 cmd k + m 设置文件类型,然后就能格式化了,都不知道什么文件类型,vscode 怎么进行格式化。
    noe132
        7
    noe132  
       2022-07-01 14:49:23 +08:00
    新建文件默认是纯文本所以不支持格式化。
    vscode 在某一个版本新加了 语言选择提示 workbench.editor.untitled.hint ,因为发现很多人不知道需要选择一个语言,让你手动选择一个语言来使用相应语言的功能。
    cxtrinityy
        8
    cxtrinityy  
       2022-07-01 14:56:09 +08:00
    prettier 可以, 不行就是配置问题
    css3
        9
    css3  
    OP
       2022-07-01 15:06:48 +08:00
    @cxtrinityy
    @MAGA2022
    知道为啥不生效了, 是因为我复制过来的 json 是单引号, 即使给指定了文件类型, 它也不格式化, 我把单引号替换成双引号成可以了, ps, 之前用 sublime text, 一是不用指定类型, 二是它会忽略引号不论单双, 感觉还是 sublime text 格式化方面更强大
    catsoul
        10
    catsoul  
       2022-07-01 15:17:27 +08:00
    @css3 但是 JSON 本身的规范就是双引号啊...该说不说我反而觉得 VSCode 这种,语法不对就不给你一股脑格式化的反而更好...
    css3
        11
    css3  
    OP
       2022-07-01 15:22:12 +08:00
    @catsoul 但有时候快速格式化一下就只是为了看一下关键信息, 不需要太“严格”
    cxtrinityy
        12
    cxtrinityy  
       2022-07-01 15:28:09 +08:00
    @css3 单引号应该直接波浪线标红啊, 标签栏里文件名也会变红吧, prettier 会直接把单引号格式化成双引号啊, 如果不是成对的单引号 prettier 也会弹窗提示 unterminated string constant, 指出位置
    qbqbqbqb
        13
    qbqbqbqb  
       2022-07-01 15:49:40 +08:00
    @css3 有的插件的格式化功能直接 new 的文件里是没有效果的(设置了语言也不行,比如 Python ),必须先保存一下才能用。
    qianxi0410
        14
    qianxi0410  
       2022-07-01 15:50:17 +08:00
    只是为了看信息的话,你应该试试: https://stedolan.github.io/jq/
    css3
        15
    css3  
    OP
       2022-07-01 15:57:02 +08:00
    @cxtrinityy 是标红了, 但并没有帮我自动把单引号转成双引号啊, 是要额外配置吗
    css3
        16
    css3  
    OP
       2022-07-01 15:57:24 +08:00
    @qbqbqbqb 那好吧, 如果要保存起来, 成本更高了....
    cxtrinityy
        17
    cxtrinityy  
       2022-07-01 16:13:36 +08:00
    @css3 sorry, 我是开箱即用的, 不是专门搞前端的, 没有特别研究过
    ifdef
        18
    ifdef  
       2022-07-01 16:19:19 +08:00
    借楼问一下,为什么 vscode 没有大部分 ide 或浏览器的,点击鼠标滚轮 === ctrl/command + click 的功能啊
    css3
        19
    css3  
    OP
       2022-07-01 16:29:01 +08:00
    vscode 是按 f12 吧, 跟 ide 不同, 或者是得装各种插件
    css3
        20
    css3  
    OP
       2022-07-01 16:29:17 +08:00   ❤️ 1
    @ifdef 见楼上
    catsoul
        21
    catsoul  
       2022-07-01 16:36:39 +08:00
    @css3 这种时候我一般是直接在浏览器的开发者工具终端里面直接粘一下...
    brucmao
        22
    brucmao  
       2022-07-01 18:02:40 +08:00 via iPhone
    JSON 格式化用 utool 插件吧,挺方便的
    v23x
        23
    v23x  
       2022-07-01 19:14:25 +08:00
    像这种不对的应该指出来 像那种错了也帮你搞的 反而不好啊 很不规范
    tianzi123
        24
    tianzi123  
       2022-07-03 00:43:07 +08:00
    eslint,prettier ,前端常用的,另外可以设置自动保存,和保存时自动格式化
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4917 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 10:01 · PVG 18:01 · LAX 02:01 · JFK 05:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.