vscode 写 typescript 有些包反应特别慢应该怎么办

2022-02-10 17:41:03 +08:00
 0o0O0o0O0o

如图 https://imgur.com/sBcRTKb

之前很正常,但只要我用 visit 对应的包,就会变得特别卡。

直接 clone jsynowiec/node-typescript-boilerplate 这个模板,就加了这两个依赖

    "unist-util-visit": "^4.1.0",
    "remark": "^14.0.2"

然后新建个图中的 parse.ts 文件。

vscode 的 settings.json 也非常简单:

{
    "editor.renderControlCharacters": true,
    "editor.wordWrap": "on",
    "files.autoSave": "onFocusChange",
    "terminal.integrated.copyOnSelection": true,
    "workbench.startupEditor": "none",
    "breadcrumbs.enabled": true,
    "git.autorefresh": false,
    "git.autofetch": false,
    "files.eol": "\n",
    "terminal.integrated.tabs.enabled": true,
    "workbench.colorTheme": "Visual Studio Dark",
    "editor.formatOnSave": false,
    "editor.formatOnType": false,
    "editor.formatOnPaste": false,
    "editor.defaultFormatter": "esbenp.prettier-vscode",
    "[javascript]": {
        "editor.formatOnSave": true
    },
    "[typescript]": {
        "editor.formatOnSave": true
    }

}

插件也被我试图排查时卸载得差不多了。

code --list-extensions

Dart-Code.dart-code
Dart-Code.flutter
dbaeumer.vscode-eslint
esbenp.prettier-vscode
golang.go
MS-CEINTL.vscode-language-pack-zh-hans
ms-vscode.cmake-tools
ms-vscode.cpptools
ms-vscode.cpptools-extension-pack
ms-vscode.cpptools-themes
pnp.polacode
quicktype.quicktype

node 版本从 12 到 16 都尝试了。

请问大概是什么原因?应该怎么解决?

2717 次点击
所在节点    Visual Studio Code
12 条回复
makelove
2022-02-10 18:07:10 +08:00
也可能不是你环境的原因而是包的 TypeScript 定义的原因

之前我用的 MaterialUI,每弹出个提示卡住 vscode 3 秒,几乎到达不能用的地步
https://github.com/mui/material-ui/issues/19113
用户怨声载道,然而这么久了也修不好
0o0O0o0O0o
2022-02-10 18:11:01 +08:00
@makelove 那这可太难受了,之前是用 js 乱糊,就因为这(一系列)库没代码提示所以决定切到 typescript 试试,这下又懵住了
vance123
2022-02-10 18:12:38 +08:00
到 node_modules 里把 index.d.ts 删掉,缺点是会失去类型提示
shunia
2022-02-10 18:35:25 +08:00
如果没有什么特别的理由,建议重新安装 vscode 试试,确认一下问题出在哪里。
另外也可以试试安装完包之后重启 vscode 。

我用 ts 超过 4 年,vscode 从刚发行就开始,没遇到过这个问题。
0o0O0o0O0o
2022-02-10 18:40:22 +08:00
shunia
2022-02-10 18:46:56 +08:00
@0o0O0o0O0o #5
https://github.com/microsoft/TypeScript/issues/46900#issuecomment-999287632

那就回退 typescript 版本即可,看起来是个简单的解决方案。typescript 还是比较少出现这种严重的 bug ,我都只遇到过 ts 语法和 d.ts 解析上的问题。
0o0O0o0O0o
2022-02-10 18:50:37 +08:00
@shunia 已经按照这个人的做法回退 typescript 版本了,也重启 vscode 了,但没什么效果(我没有关注 CPU 占用,但代码提示还是那么慢),正在尝试对照他回复的时间回退各项依赖的版本。
0o0O0o0O0o
2022-02-10 19:04:43 +08:00
issue 中的方案实测对我没效果,但暂时解决了,给 visit 的参数类型改了一下。

https://imgur.com/I1VHNqT

不卡了。
0o0O0o0O0o
2022-02-10 19:17:50 +08:00
题外话:以前有一段时间自己没办法写代码,只能看别人直播写代码,特别羡慕那种自己只需要写很少一部分,IDE 提示和补全可以帮忙写很多的行云流水的感觉,没想到轮到我就这么坎坷...
dcsuibian
2022-02-10 19:43:17 +08:00
要不,先用 WebStorm 试试看?
0o0O0o0O0o
2022-02-10 19:49:55 +08:00
@dcsuibian 暂时解决了,不然差点就去试试了
ob
2022-02-10 20:02:19 +08:00
@shunia #4 有用啥 ORM 框架吗?还是直接撸 sql ?

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

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

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

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

© 2021 V2EX