- 主题:自从 vscode出来, sublime等编辑器就再也风光不再了吧
小文件的话我用 bat,大文件还是不行。200k 行的 sql 文件,bat 的话我按一下 G 要10多秒才能出来。vi 的话就几乎感觉不到有延迟。
bat 原理实际上是可以支持语法高亮的 cat(非 tty 默认不高亮),默认 pipe 到 less(非 tty 默认不 less)。它的语法高亮是要从头渲染到尾的,所以对于大文件来说,效率是没法跟 vi 这种正规 editor 比的。
当然它的语法高亮功能本身是不错的,我现在用 git-delta 可以给 git show/diff 做语法高亮,似乎用了 bat
【 在 licknov (licknov) 的大作中提到: 】
: 友提现在出了一个新工具bat,带高亮和行号的less
--
修改:eGust FROM 122.59.183.*
FROM 122.59.183.*
啥叫向前的按钮?看不明白……
【 在 bigsen (大海无量) 的大作中提到: 】
: 话说vscode为什么连个向前向后的按钮都不设计?感觉这两个功能在浏览代码的时候还是非常常用的。用alt+箭头这个样的快捷,需要左手来到右手的区域,很不方便!
: 还有vscode打开后经常自己去检测文件关联格式去检测插件是否更新,也特别占cpu。
: 感觉vscode搞前端之类的可能比较好用吧,搞C++开发,没觉得很顺手。
: ...................
--
FROM 122.59.183.*
lsp 本质上是一个 json-rpc server-client 模型,基于文本和编辑器的行为定义了一堆接口和事件。不知道你是咋跟 clang 扯到一起去的
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 这个功劳应该归功于 clang 我觉得。
: 话说,以 vim/emacs 的广泛使用,之前居然一直没有投入人力折腾一个 c/c++ 语言的语法分析器出来。还要等 clang 搞定。
: 同期的 eclipse 很早就独立地搞出自己一套 java 语法分析器了。
: ...................
--
FROM 122.59.183.*
什么向前?向前搜索?windows 标准键 F3,macos 标准键 cmd + g?
【 在 bigsen (大海无量) 的大作中提到: 】
: 向前、向后 ~~
--
FROM 122.59.183.*
你的逻辑真够奇葩的,protocol 没用光有 clang 有啥用?
我前面把 electron 排贡献第一,是因为已经有大量桌面应用已经开发出来了,使用者不光是码农这一块。
如果光考虑编程的话,lsp 对于整个 editor/ide 的生态的贡献前无古人。以前完全是每个语言,每个 editor/ide 各玩各的。lsp 之前,m 门语言 n 个 editor/ide 就要做 m*n 个实现,而如今只要做 m+n 个支持就够了。微软光凭推动 lsp 这点就对整个编程行业做出了巨大的贡献,节约了大量的资源。
反过来看 clang 又不是什么不可替代的东西,再写个编译器前端来实现 lsp 也没啥不行
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 因为这个接口没什么用。cpp 开发要爽得有个牛X的语法解析器,分析出 cpp 源代码的模型。lsp 就是干这事的。
--
FROM 122.59.183.*
emacs 有 evil,为啥非要转 vim……
【 在 doubleback (doubleback) 的大作中提到: 】
: Vim在快捷编辑上的优势还是很大的。从Emacs投奔过来的更多。
: 我们这种IC行业的,Linux平台上还是用Vim。
--
FROM 122.59.183.*
当浏览器用?
【 在 bigsen (大海无量) 的大作中提到: 】
: 打错了,快捷键时Alt+左箭头/右箭头
: 这个操作还是很有必要放个按钮在界面上的。
--
FROM 122.59.183.*
editor 需要实现的是 client,只要实现一个就够了,只要语言有 lsp server 就能直接拿来用。不需要做额外的开发,就能满足主要需求,而各家实现 editor 上面的体验,完全取决于 lsp server 的实现。
如果你要说的是做商业软件,那么你的核心竞争力除了 editor/ide 本身的额外功能外,还可以是对某个语言的特殊支持。那实际上技术投入就是在 lsp server 层面的,你本来就要做额外的工作,不然别人凭啥买你的东西。
【 在 PGP (---) 的大作中提到: 】
: 但对于做编辑器的那n个团队而言,lsp出现之前他们要做m个东西,lsp出现之后他们还是要做m个东西,完全没区别
: 两头的工作量才是大头,接口真没啥
--
FROM 122.59.183.*
所以你的意思就是,新语言活该给每个主流的 editor/ide 做支持呗?
lsp 让一票新老 editor 都焕发了新春,比如 vim、emacs、sublime,以后想要开发一个新的 editor 的难度,尤其是在推广方面的难度也大大降低了
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 不觉得这种定义一个接口的事情是什么大的贡献。目前使用量最大的几个 C++ IDE: msvc, eclipse cdt, devcpp, qtcreator,也没见大量扔了自研的 cpp 分析引擎改用 lsp 啊。
: cpp 语法解析比定义一个接口难多了,以 cpp 社区的折腾劲,我感觉跟 cpp 语法演变的难度,约等于从头造一个上天的火箭。。一直到 clang 搞出来总算有稳定的 cpp 解析器给 ide 用了。
: 这事其实是对一年变一次的前端领域比较有利。对成熟的语言, c/cpp, java, python 这些,一毛钱好处都没有。
: ...................
--
FROM 122.59.183.*
又开始战风车了,你找个 js 社区说 node 统一后端的源头?
android 这种七拼八凑的东西才没灵魂才对。神器公司在 java 上面的投入是有目共睹的,至少在 jvm 方面的积累还是无人能及的。google 站在巨人的肩膀上给自己的渣渣做支持,要是还做不好的话才是有问题
rust 社区主要就是靠 lsp,主要针对 vscode 和神器两家做,也没听说非要用 clion 不可
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 通用接口弄出来的东东没灵魂。
: 比如我做 android 开发的时候,如果 android studio 不能帮我判断我写的 R.id.xxx 不存在,或者返回的类型不对,那用起来就太糟糕了。
: 吹 LSP 这东东,,跟当年 js 社区吹 node 一样,以为有个 node 这个神器,后端程序员全都得失业。。现在回过头一看,呵呵。。“广告疗效”
: ...................
--
FROM 122.59.183.*