今天要说的是一个困扰我好几个月的问题,Visual Studio Code(下文简称VSCode)在使用中忽然增高,风扇开始狂转,温度骤增,影响心情的故障缘由。node
其实,不管是Windows仍是OSX,不少人可能或多或少都遇到过VSCode忽然就很差使了,我就遇到过好屡次疑难杂症,折腾好久才弄出来,好比下面三点:git
我使用的是黑苹果,固然这个与CPU占用率增高并没有关系,经过code --status
查看一些基本信息以下:github
P750TM:~ whidy$ code --status Version: Code 1.30.2 (61122f88f0bf01e2ac16bdb9e1bc4571755f5bd8, 2019-01-07T22:48:31.260Z) OS Version: Darwin x64 17.7.0 CPUs: Intel(R) Core(TM) i5-8600K CPU @ 3.60GHz (6 x 3600) Memory (System): 16.00GB (5.22GB free) Load (avg): 2, 2, 2 VM: 0% Screen Reader: no Process Argv: --inspect-extensions=9993 GPU Status: 2d_canvas: enabled checker_imaging: disabled_off flash_3d: enabled flash_stage3d: enabled flash_stage3d_baseline: enabled gpu_compositing: enabled multiple_raster_threads: enabled_on native_gpu_memory_buffers: enabled rasterization: unavailable_software video_decode: enabled video_encode: enabled webgl: enabled webgl2: enabled CPU % Mem MB PID Process 0 98 1775 code main 0 49 1776 gpu-process 0 229 1777 window (settings.json — mpa-stat-sdk) 0 0 1780 /bin/bash -l 0 115 1783 extensionHost 0 82 1787 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper.app/Contents/MacOS/Code Helper --nolazy --inspect=10785 /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/json-language-features/server/dist/jsonServerMain --node-ipc --clientProcessId=1783 0 49 1784 watcherService 0 49 1789 searchService 0 33 1785 utility 0 82 1817 shared-process 0 311 1830 window (ald-stat.js — one-plus-sport) 0 49 1831 watcherService 0 98 1832 extensionHost 4 66 1870 electron_node eslintServer.js 0 131 1871 electron_node tsserver.js 0 66 1879 electron_node typingsInstaller.js typesMap.js 0 49 1835 searchService Workspace Stats: | Window (ald-stat.js — one-plus-sport) | Window (settings.json — mpa-stat-sdk) | Folder (one-plus-sport): 273 files | File types: js(75) json(58) wxss(57) wxml(56) png(21) md(2) | gitignore(1) xlsx(1) jpg(1) zip(1) | Conf files: | Folder (mpa-stat-sdk): 21 files | File types: js(13) md(3) json(2) zip(2) gitignore(1) | Conf files: gulp.js(1) package.json(1)
先来看看正常状况下和非正常状况的运行状况对比图:web
上图为正常状况下的截图json
上图为异常状况下的截图gulp
这个问题真的令我很苦恼,我这两张截图期间绝对没有作任何可能会产生高计算需求的工做,可是正常的操做怎么会出现这种状况呢。canvas
因而进行了大量的搜索,百度就不用看了,屎同样的结果:windows
前5篇内容彻底一致,结论:"search.followSymlinks":true
,在我这一点用也没用。顺便吐槽,我彻底不理解,在中国尤为是CSDN,为何一个简单的小问题,一大堆人转载,彻底同样的内容,若是真的是神通常的技巧,敢不敢多写一点,为何这样能解决问题,出现故障的缘由呢,无脑抄袭就算了,作笔记请使用本身的笔记本,好比有道云笔记,印象笔记很差吗,难道没人知道你是抄的?简直浪费搜索时间!垃圾!bash
吐槽完毕,该用google了,实际上,我一开始就没用百度,只是写这篇文章,担忧有人遇到过这样的问题,写过相同的解决方案,说我是抄来的。就索性百度搜一下。用谷歌天然用英文,虽然我英语很渣,可是谷歌懂我。只须要几个关键词:app
不管是微软官方的issue查,仍是stackoverflow查,总能有很大的收获,可是,我这个问题比较特殊,我尝试过最基本的两种处理办法:
settings.json
文件然而都很差使。可怜我英文也不是特别好,有可能有些有用的信息被我忽略掉了。
这里补充一下,其实大部分缘由,能够经过官方提供的自排除方案来检查 Performance Issues,我很推荐遇到CPU占用率太高的状况下先看看这篇文章。
不过也不是全无收获,至少开头提到的三个问题,前两个查出来了。
第一个问题是插件Auto Rename Tag
形成的,这个至少在一年前是很是流行的,我本身也以为很好用,就一直装了,彻底想不到这个简单的功能竟然会形成VSCode某些功能异常,去插件主页看看,做者也不更新维护了,插件评价页面全是一星,可见目前已是垃圾插件了查看评论,不过过年不少无脑转载的还在推荐这个插件,因此为了不你们入坑,建议不要使用Auto Rename Tag。
第二个问题也是插件问题,就是Markdown All in One
这个插件致使缩进功能很差使,缘由我也不知道,其实这个问题并不严重,有强烈依赖改插件的朋友仍是能够继续使用,我也很推荐这个插件写markdow,有些仍是挺便捷的,不过我是删了哈哈哈,看我的意愿了~
好了第三个问题才是最重要的,我反复观察了好久,作了大量测试和查阅文档,终于得出结论:
我发现切换窗口后出现异常就搜索关键词two/multi vscode switch cause a high cpu useage
终于找到了一丝丝线索,仔细阅读了下面几篇:
我终于,发现了一个问题,我切换VSCode的窗口的方式有问题!!!我是用了罗技鼠标的快捷键功能致使,如图:
啊,个人天啊!我反复尝试,在多个窗口,直接用键盘的Cmd + `
来切换内部应用窗口,妥妥的一点毛病都没有。
不少状况下VSCode功能异常都是插件引发的,尝试关闭全部插件来检查,建议阅读Performance Issues。
其次是第三方Switcher应用切换VSCode窗口会形成异常!好比经常使用的鼠标功能键!
啊,坑了我好多个月,反复重装VSCode和系统都无法解决的毛病终于解决了。。。之后只能用Cmd + `
来切换了~