V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kkkiio
V2EX  ›  Visual Studio Code

VSCode 有仿 JB IntelliJ 的(界面)快捷键插件吗?

  •  
  •   kkkiio ·
    KKKIIO · 2022-06-29 22:35:33 +08:00 · 5306 次点击
    这是一个创建于 876 天前的主题,其中的信息可能已经有所发展或是发生改变。

    喜欢 JetBrain Intellij 系的 IDE 界面和快捷键:

    • 统一:dock panel 会显示 number ,可以用 alt+$no toggle panel ,和按下alt就显示 menu shortcut key 的体验统一。
    • 以代码为主:ctrl+shift+f12突出 Editor ,收起其他面板,Esc会将 Focus 从其他面板收回到 Editor 。

    VSCode 有个IntelliJ IDEA Key Bindings插件,但功能很弱,不完整,例如ctrl+shift+f12应该是 Toggle maximizing editor,在 VSCode 里却只有 workbench.action.maximizeEditor

    想知道有没有更好的快捷键(模拟)插件,或者有没有人有兴趣写一个这样的插件。

    32 条回复    2023-01-16 10:13:14 +08:00
    fzdwx
        1
    fzdwx  
       2022-06-29 23:21:17 +08:00
    有 `IntelliJ IDEA Keybindings`
    fzdwx
        2
    fzdwx  
       2022-06-29 23:22:32 +08:00
    .. 不好意思没看完你的贴子就回了
    wellwellwell
        3
    wellwellwell  
       2022-06-30 02:11:18 +08:00
    还是自己单独设置更好,插件写起来是个辛苦活,需要一对一独立建立映射,多而且繁琐,维护成本高,除非有社区一直保持维护更新

    还有个麻烦事,对于在 intellj 中大量改建的人,到了新的环境要修改起来反而更加困难
    realpg
        4
    realpg  
       2022-06-30 04:04:14 +08:00   ❤️ 1
    有这时间还不如买个 jb 全家桶多创造点价值
    gouflv
        5
    gouflv  
       2022-06-30 07:44:10 +08:00 via iPhone
    不管是 keybinding 或者 vim mode ,在 vscode 上都非常别扭
    kkkiio
        6
    kkkiio  
    OP
       2022-06-30 09:02:33 +08:00 via iPhone
    @wellwellwell 我是想写新的 command ,因为现在 vscode 的 command 很难组合,when 里要花式判断 visibility 来实现 toggle 。如果有新 command 改键也没问题。
    kkkiio
        7
    kkkiio  
    OP
       2022-06-30 09:05:23 +08:00 via iPhone
    @realpg 我买了两年的 IDEA ,发现没创造什么价值。。只有用爱发电给工作写了个插件。

    正经讲,我喜欢改进自己用的工具,为开源项目贡献也挺好的。
    ColinZeb
        8
    ColinZeb  
       2022-06-30 09:56:38 +08:00
    抱歉说点离题的哈,我有点不太能理解 idea 的界面什么优势,好看还是好用。看你的描述是快捷键好用。
    我一直觉得 jb 家界面很丑,字体渲染也很差( windows 不开缩放的时候),ui 操作延迟也很高(全平台)。
    唯一的优势是用户需求分析做得好,很会抓开发者的痛点。但 ui 流畅性和稳定性都不满意,bug 还挺多(可能我一直用最新版)。
    补充一下:我是低频用户,平常主要用 VS 和 VS code ,vs 不用说了,vs code 延迟都感觉比 jb 低(不知道是不是错觉)。
    ColinZeb
        9
    ColinZeb  
       2022-06-30 09:57:54 +08:00
    最后补充:java 开发的 ui 都给人这种感觉,用完 final shell 再用 xshell 或者 windterm 感觉飞快,对比使用非常明显,同理 datagrip 对比 navicat, idea 对比 vs 等
    catsoul
        10
    catsoul  
       2022-06-30 10:02:46 +08:00
    @ColinZeb 我一直以为只有我有这种感觉...平时都不敢暴露出来,生怕被人喷:你电脑太烂别怪工具很卡 (逃
    fo0o7hU2tr6v6TCe
        11
    fo0o7hU2tr6v6TCe  
       2022-06-30 10:08:33 +08:00
    我一直想从 IDEA 的 UI 逃到 vscode 或者 vim 上, 你却想在 vscode 上用 IDEA 的 UI....
    对于我来说 IDEA 能吐槽的只有 UI 了
    wolfie
        12
    wolfie  
       2022-06-30 10:13:33 +08:00
    @ColinZeb
    1. 速度肯定有差异,vscode 是文本编辑器,IDEA (为例) 是 IDE 。vscode 装了语言支持插件以后,一样占内存 一样卡。
    2. IDEA 默认界面一堆面板都是默认开着的,显得乱,需要手动关掉。
    平时都是开着 full screen mode ,感觉比 vscode 好看。

    IDEA 优势是 功能全面,开箱即用。搞 Java 开发尝试转 vscode 的几乎都会被劝退。
    ColinZeb
        13
    ColinZeb  
       2022-06-30 10:19:42 +08:00
    @catsoul jb 公司一直给人很矛盾的感觉,一方面功能做的太好感觉像是救世主一样,能从很多繁琐低效的操作中解脱出来,一方面又像是恶魔,用 java 做的 ui ,由于市场占用率足够高,有很多 ide ,如 idea,pycharm,webstorm ,rider 等等,感觉给很多人添了堵。
    只希望 jb 这么有钱了,不说把 idea 重做吧,至少像 vscode 学习一下,把关键组件用 c++/rust 重构了。比如 vs code 的搜索及替换功能就是用 ripgrep 实现的( rust ),又快又好用。
    ColinZeb
        14
    ColinZeb  
       2022-06-30 10:25:25 +08:00
    @wolfie 我知道和 vscode 对比肯定有人这么说,但我还提了 vs 怎么能避开呢,总不能说 vs 功能比 idea 少吧。
    而且现在说的是 ui 问题,jb 的 ide 并不卡,只是 ui 操作延迟问题,比如输入和右键菜单弹出这种常用操作差异都很大。
    qianxi0410
        15
    qianxi0410  
       2022-06-30 10:31:04 +08:00
    VS Code 什么都好,就是补全给人一种软绵绵的感觉。
    kkkiio
        16
    kkkiio  
    OP
       2022-06-30 10:45:40 +08:00
    @ColinZeb 奇怪,我倒觉得 VSCode 的 UI 不好
    - 显式区分 sidebar 、panel ,最近甚至还增加了个 Secondary Side Bar
    - sidebar 和 panel 也没有 shortcut number ,个人(用 VIM 插件)不太喜欢来回切换键盘鼠标点界面
    - 可能是因为 Electron 的关系,VSCode 到处都有 Web 软绵绵,延迟高的特点,VIM 插件也做得很差
    kkkiio
        17
    kkkiio  
    OP
       2022-06-30 10:51:29 +08:00
    @ColinZeb VSCode 的搜索功能很弱啊,先不说不能区分 Reference 的类型(读、写、定义)(主要是 LSP 功能还不强),就连要不要搜索.gitignore 排除的文件,都要特地去 Settings 改一下,IDEA 多按个键或者在搜索窗口选一下就行了。谁学谁呀。
    libook
        18
    libook  
       2022-06-30 11:14:56 +08:00
    那个 Binding 插件是我所了解的最接近的了,如果这还满足不了的话,估计只能直接去用 JB 的产品了……或者动手能力强的话自己写插件甚至魔改 VS 源码。

    要么尝试接受 VS 的使用习惯?再怎么改,毕竟不是 IDEA 。
    Envov
        19
    Envov  
       2022-06-30 11:50:11 +08:00
    经典 vscode 仿 idea ,idea 仿 vscode
    cweijan
        20
    cweijan  
       2022-06-30 12:30:59 +08:00
    @ColinZeb idea 新版本 UI 已经改动得很不错了
    ColinZeb
        21
    ColinZeb  
       2022-06-30 12:42:35 +08:00
    @cweijan 设计上现代化了一些,老版也可以安装 material theme 插件改善视觉效果。不过延迟问题没法解决
    kujio
        22
    kujio  
       2022-06-30 12:49:55 +08:00
    @ColinZeb 个人审美不一样吧,我倒觉得,vscode 左边栏别扭还占地,底部状态栏还整个妖艳突兀的背景色,
    hsfzxjy
        23
    hsfzxjy  
       2022-06-30 13:03:49 +08:00 via Android
    @kujio 左边栏可以隐藏
    ColinZeb
        24
    ColinZeb  
       2022-06-30 13:37:06 +08:00
    @kujio 没有说 vscode 好不好看的问题,说的是 idea 丑,延迟 vscode 还大
    Vegetable
        25
    Vegetable  
       2022-06-30 13:39:52 +08:00
    快捷键控制 pannel 本身是有的,可能快捷键不一样吧。
    你说的以代码为主,可以试试 zen mode
    cenbiq
        26
    cenbiq  
       2022-06-30 13:54:11 +08:00 via iPhone
    idea 新 ui 都开始仿 vscode 了呀
    cenbiq
        27
    cenbiq  
       2022-06-30 13:55:08 +08:00 via iPhone
    @cenbiq 看错了,以为说的 ui…[汗]
    kkkiio
        28
    kkkiio  
    OP
       2022-06-30 16:47:47 +08:00
    @Vegetable 主要是都不显示 number ( sidebar 显示个贼大的 ICON ,panel 只显示 Name ),只能记快捷键。
    至于 Zen Mode ,以代码为主也不是简单地把代码显示在中间就可以了吧。。
    Ayanokouji
        29
    Ayanokouji  
       2022-06-30 19:31:19 +08:00
    @ColinZeb jb 的 fleet 应该就是对标 vscode 的,简单试了下还行
    Ayanokouji
        30
    Ayanokouji  
       2022-06-30 19:35:02 +08:00
    可以试下 jb 的 fleet
    kkkiio
        31
    kkkiio  
    OP
       2022-07-01 22:58:51 +08:00
    #6 用 https://github.com/ryuta46/vscode-multi-command 凑新 command 勉强用了,when 条件还是有点繁琐,下面是例子:
    ```json5
    // settings.json
    {
    "multiCommand.commands": [
    {
    "command": "intellijMap.hideAllPanels",
    "sequence": [
    "workbench.action.closeSidebar",
    "workbench.action.closePanel",
    "workbench.action.focusActiveEditorGroup"
    ]
    },
    {
    "command": "intellijMap.showAllPanels",
    "sequence": [
    "workbench.action.togglePanel",
    "workbench.action.toggleSidebarVisibility",
    "workbench.action.focusSideBar"
    ]
    }
    ]
    }
    ```
    ```json5
    // keybindings.json
    {
    {
    "key": "ctrl+shift+f12",
    "command": "-editor.action.peekImplementation",
    "when": "editorHasImplementationProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditor"
    },
    {
    "key": "ctrl+shift+f12",
    "command": "intellijMap.hideAllPanels",
    "when": "sideBarVisible || panelVisible"
    },
    {
    "key": "ctrl+shift+f12",
    "command": "intellijMap.showAllPanels",
    "when": "!sideBarVisible && !panelVisible"
    },
    }
    ```
    qf19910623
        32
    qf19910623  
       2023-01-16 10:13:14 +08:00
    @ColinZeb 没什么优势不优势的,纯粹就是不想再去费时费力重新习惯一套快捷键,这也是我一直觉得 vim 难用的原因。在我看来全世界的 ide 就应该形成一套快捷键规范,所有的都按照规范来
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2944 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 14:38 · PVG 22:38 · LAX 06:38 · JFK 09:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.