- 主题:自从 vscode出来, sublime等编辑器就再也风光不再了吧
这个功劳应该归功于 clang 我觉得。
话说,以 vim/emacs 的广泛使用,之前居然一直没有投入人力折腾一个 c/c++ 语言的语法分析器出来。还要等 clang 搞定。
同期的 eclipse 很早就独立地搞出自己一套 java 语法分析器了。
【 在 ilovecpp (cpp) 的大作中提到: 】
: vscode嵌入式有platform io,还挺好的。
: 至于c++,vscode搞lsp至少是大大提升了vim/emacs的c++支持水平。
--
修改:hgoldfish FROM 140.224.35.*
FROM 140.224.35.*
我记得 kdevelop/qtcreator 很早就搞出了自己的 c++ parser.. 虽然不像 clang 那么强,至少也是可用的。
巨硬有 msvc 团队,居然要花钱买才能搞定。真是弱爆了。
貌似 msvc 是 2015 版本以后才有实时语法检查功能的吧?以前都得编译的时候才报错。
【 在 PGP (---) 的大作中提到: 】
: 不怪编辑软件,这个确实难。微软也是下狠心买了一套edg c++的前端才搞定这个问题的,结果这套前端和vc的前端并不完全兼容所以结果也不能全信。
--
FROM 140.224.35.*
因为这个接口没什么用。cpp 开发要爽得有个牛X的语法解析器,分析出 cpp 源代码的模型。lsp 就是干这事的。
【 在 eGust (十年) 的大作中提到: 】
: lsp 本质上是一个 json-rpc server-client 模型,基于文本和编辑器的行为定义了一堆接口和事件。不知道你是咋跟 clang 扯到一起去的
--
修改:hgoldfish FROM 140.224.35.*
FROM 140.224.35.*
ic 专业使用 linux 的时候有什么特别的吗?
我也是 linux 桌面,,天天用 GUI 软件也不错嘛。
【 在 doubleback (doubleback) 的大作中提到: 】
: Vim在快捷编辑上的优势还是很大的。从Emacs投奔过来的更多。
: 我们这种IC行业的,Linux平台上还是用Vim。
--
FROM 140.224.35.*
就是有跟没有的区别。。以前 msvc 太弱了。
【 在 PGP (---) 的大作中提到: 】
: qtcreator那个半吊子产品微软估计看不上,我印象中一两层模版还行再嵌套就放弃了,他们自己都叛变了投靠了clang
--
FROM 140.224.35.*
不觉得这种定义一个接口的事情是什么大的贡献。目前使用量最大的几个 C++ IDE: msvc, eclipse cdt, devcpp, qtcreator,也没见大家扔了自研的 cpp 分析引擎改用 lsp 啊。
cpp 语法解析比定义一个接口难多了,以 cpp 社区的折腾劲,跟上 cpp 语法演变的难度,约等于从头造一个上天的火箭。。一直到 clang 搞出来总算有稳定的 cpp 解析器给 ide 用了。
这事其实是对一年变一次的前端领域比较有利。对成熟的语言, c/cpp, java, python 这些,一毛钱好处都没有。
【 在 eGust (十年) 的大作中提到: 】
: 你的逻辑真够奇葩的,protocol 没用光有 clang 有啥用?
: 我前面把 electron 排贡献第一,是因为已经有大量桌面应用已经开发出来了,使用者不光是码农这一块。
: 如果光考虑编程的话,lsp 对于整个 editor/ide 的生态的贡献前无古人。以前完全是每个语言,每个 editor/ide 各玩各的。lsp 之前,m 门语言 n 个 editor/ide 就要做 m*n 个实现,而如今只要做 m+n 个支持就够了。微软光凭推动 lsp 这点就对整个编程行业做出了巨大的贡献
: ...................
--
修改:hgoldfish FROM 59.60.56.*
FROM 140.224.35.*
通用接口弄出来的东东没灵魂。
比如我做 android 开发的时候,如果 android studio 不能帮我判断我写的 R.id.xxx 不存在,或者返回的类型不对,那用起来就太糟糕了。
吹 LSP 这东东,,跟当年 js 社区吹 node 一样,以为有了 node 这个神器,后端程序员全都得失业。。现在回过头一看,呵呵。。“广告疗效”
【 在 eGust (十年) 的大作中提到: 】
: editor 需要实现的是 client,只要实现一个就够了,只要语言有 lsp server 就能直接拿来用。不需要做额外的开发,就能满足主要需求,而各家实现 editor 上面的体验,完全取决于 lsp server 的实现。
: 如果你要说的是做商业软件,那么你的核心竞争力除了 editor/ide 本身的额外功能外,还可以是对某个语言的特殊支持。那实际上技术投入就是在 lsp server 层面的,你本来就要做额外的工作,不然别人凭啥买你的东西。
--
修改:hgoldfish FROM 59.60.56.*
FROM 140.224.35.*
新语言?哪来的新语言。。
【 在 eGust (十年) 的大作中提到: 】
: 所以你的意思就是,新语言活该给每个主流的 editor/ide 做支持呗?
: lsp 让一票新老 editor 都焕发了新春,比如 vim、emacs、sublime,以后想要开发一个新的 editor 的难度,尤其是在推广方面的难度也大大降低了
--
FROM 140.224.35.*
你这是明褒暗贬 vim/emacs 社区啊。。居然说这俩社区没有活力。
【 在 ilovecpp (cpp) 的大作中提到: 】
: 不止定义一个接口,也有了现成的,经过实践检验的server,使得vi/emacs只需要对接一下就可以用了。叫生态也可以。
: 是的,这些没什么技术含量,相对于写一个clang来说也没多少工作量。但是对于vi/emacs这些早已失去活力的社区来说,对接clang这么一点点工作量也没法独立完成。clang出来这么久,emacs为什么没能自己完成对接呢?
: 就这么一点工作量,对于缺少活力或者不够大的编辑器社区来说就是有无的差别。
: ...................
--
FROM 140.224.35.*
这个时候更要支持一下小公司的项目了。不然以后从出生到死亡,一切都在几家大公司的数据库中,他们知道我们的一切。想想就太可怕了。
编辑器对程序员其实并没有那么重要。就算有提升一丁点儿效率,我也宁愿放弃这点效率,追求杮油与开放。
ps: 我觉得 vscode 也不见得好用。我知道的很多人是因为是巨硬这种万年开源软件大敌,突然间“良心大发”开始拥抱开源社区,所以才被鼓动去尝试它。程序员群体经常笑话那些流量明星的粉丝被收智商税,我看很多程序员追星也没差多少。
【 在 ilovecpp (cpp) 的大作中提到: 】
: 现在的很多开源项目,就比如vscode吧,根本就是大公司全职雇员做的商业项目,只是发行模式为免费且开源。
: 一个小公司的商业项目何德何能去与软件开发巨头的明星项目竞争,还想“映衬出”后者的“无能”?也就是某些小点上有特色而已。
--
FROM 59.60.56.*