vscode控制字符引起的问题以及解决思路

1. 环境 macOS Sierra 10.12.5 vscode 1.20.0 最新版 2. 如何重现这个问题 在使用中文输入法输入中文的时候,一直按后退键,例如输入sfsf,当你按了4下后退键时,你会发现,搜狗输入法弹出框虽然消失了,但是页面上还会剩下一个s, 这是你如何再次按一下后退的话,s就会变成bs, 变成隐藏字符。这个一般是右边有markdown渲染插件时才会出现。 从更确切的角度说,是你的编辑器一旦开了webview,就会出现这个问题,即使是vscode的欢迎页,也是webview,也会导致这个问题。所以最好在写代码时尽量关闭webview。 3. 如何让隐藏字符现身 Mac版的vscode控制字符一般是不会显示出来的,可以用一下的方法让其显示出来 "editor.renderControlCharacters": true 在编辑器中显示的像很小的BS, 表示backspace的意思。一般是在输入时,按了后退或者删除会偶尔出现这个字符。 4. 隐藏的控制字符会出现什么问题? 4.1. 控制字符在github上会出现问号 例如下图的的和同字之间就是出现一个隐藏字符,在github上就会出现一个带有背景的问号。 4.2. 控制字符在Hexo NexT Local Search 会导致search.xml渲染失败,搜索框一直在转圈 如果你使用浏览器打开search.xml,会发现解析报错 5. 如何解决 5.1. 手动删除隐藏字符 可以使用替换,先复制一个隐藏字符,然后把隐藏字符替换成空 5.2. 使用插件 Remove backspace control character Remove backspace control character 在本家chromium已被合并,因此,在8月上旬发行的vscode 1.15将会重新确定(vscode 1.15, electron 1.7.4)。事实上,到现在这个问题还是没解决的 特点 格式化程序,用于删除打开的文档中包含的控制字符。要被删除的控制字符默认如下。 /[\u0000]|[\u0001]|[\u0002]|[\u0003]|[\u0004]|[\u0005]|[\u0006]|[\u0007]|[\u0008]|[\u000b]|[\u000c]|[\u000d]|[\u000e]|[\u000f]|[\u0010]|[\u0011]|[\u0012]|[\u0013]|[\u0014]|[\u0015]|[\u0016]|[\u0017]|[\u0018]|[\u0019]|[\u001a]|[\u001b]|[\u001c]|[\u001d]|[\u001e]|[\u001f]|[\u001c]|[\u007f]/gm 用法 “editor.formatOnSave”: true 如果被设定,保存时启动 “editor.formatOnType”: true 在被设定的情况下,进行变换时;输入时启动 5.3. 坐等官方给出更好的解决方案 官方这个bug依然还是open状态。Using IME with markdown preview enabled, press ESC/BACKSPACE leads in control characters #37114...

2018-02-11 · 1 min · 王端端

如何在vscode中用standard style 风格去验证 vue文件

1 JavaScript Standard Style简介 本工具通过以下三种方式为你(及你的团队)节省大量时间: 无须配置。 史上最便捷的统一代码风格的方式,轻松拥有。 自动代码格式化。 只需运行 standard –fix 从此和脏乱差的代码说再见。 提前发现风格及程序问题。 减少代码审查过程中反反复复的修改过程,节约时间。 无须犹豫。再也不用维护 .eslintrc, .jshintrc, or .jscsrc 。开箱即用。 安装: npm i standard -g 关于JavaScript 代码规范, 你可以点击链接看一下。 2 如何在vscode中用JavaScript Standard Style风格去验证 vue文件 实际上JavaScript Standard Style有一个FAQ, 说明了如何使用。 但是有一点非常重要的作者没有提到,就是eslint-plugin-html这个插件必须要安装3.x.x版本的, 现在eslint-plugin-html, 已经升级到4.x版本,默认不写版本号安装的就是4.x版本的,所以会出现问题。参考 ESLint v4 is only supported by eslint-plugin-html v3, so you can’t use eslint-plugin-html v1.5.2 with it (I should add a warning about this when trying to use the plugin with an incompatible version on ESLint)....

2018-02-11 · 2 min · 王端端

mac vscode 更新失败 Permission denied解决办法

0. 现象 Could not create temporary directory: Permission denied 1. 问题起因 在 /Users/username/Library/Caches/目录下,有以下两个文件, 可以看到,他们两个的用户是不一样的,一个是root一个username, 一般来说,我是以username来使用我的mac的。就是因为这两个文件的用户不一样,导致了更新失败。 drwxr-xr-x 6 username staff 204B Jan 17 20:33 com.microsoft.VSCode drwxr--r-- 2 root staff 68B Dec 17 13:51 com.microsoft.VSCode.ShipIt 2. 解决方法 注意: 先把vscode 完全关闭 // 1. 这一步是需要输入密码的 sudo chown $USER ~/Library/Caches/com.microsoft.VSCode.ShipIt/ // 2. 这一步是不需要输入密码的, 如果不进行第一步,第二步会报错 sudo chown $USER ~/Library/Caches/com.microsoft.VSCode.ShipIt/* // 3. 更新xattr xattr -dr com.apple.quarantine /Applications/Visual\ Studio\ Code.app 3. 打开vscode Code > Check for Updates, 点击之后,你会发现Check for Updates已经变成灰色了,那么你需要稍等片刻,马上就可以更新,之后会跳出提示,让你重启vscode, 然后重启一下vscode, 就ok了。...

2018-02-11 · 1 min · 王端端