2020年后,VSCode、CLion争相崛起,为何老旧的Source Insight无人能超越?
2020年之后, CLion纷纷竞相崛起, 为何陈旧老旧的, 却没有任何人能够超越呢?先明确一下, 你这里“2020年后, 、CLion、一个个吹得天花乱坠”表述不太清晰且有多余标点, 我就按正常理解处理了。几年过去也写了不少代码, 期间用过好些编辑器, 2020年之后, 像CLion这类编辑器被推崇得很高可倘若要快速将一个大型项目读明白、弄清楚, 那就得老老实实地把它打开它的界面不美观, 更新速度缓慢, 然而就是没有别的能将它取而代之。先讲讲它的核心本领, 将其打开, 无需安装任何插件, 也不用配置任何编译器路径, 直接新建一个工程, 短短几秒钟之后, 所有的函数、变量、宏便自动完成索引了, 点击一下即可跳转到定义处, 若想查看是谁调用了这个函数, 右键点击进行查询, 结果会按照上下文进行分组, 清晰明了。那其他工具又如何呢? 需要安装C/C扩展, 还得等待语言服务器缓缓启动, 对于大型项目来说常常会出现卡死的情况。信息密度方面, 一个人能抵四个窗口, 左边呈现符号列表, 右边展示文件目录, 下面设有上下文窗口, 此窗口会显示当前光标所在符号的定义, 再点击一下关系窗口, 调用链及继承关系便会全部显现出来, 无需切换标签页, 一眼即可看完所有内容, 然而与CLion相比, 若想看到这些信息则需来回点击, 窗口又小, 观看时颇为费劲。它具备极为轻量的特性, 开启一个拥有百万行级别的Linux内核源码, 仅使用几十兆内存, 进行翻页以及搜索操作能够瞬间返回结果。而将同样的代码放置进去, 内存会直接飙升至两三个G, 并且还会不时地出现转圈情况。至于CLion, 更是不必提及, 启动就需要长达半分钟的时间, 面对稍微规模大一点的项目时, 编写代码都必须等待其完成索引。搜索功能同样厉害, 存在全局搜索,还有正则搜索以及符号搜索, 一旦输入关键字, 立刻会出现结果, 并且查找引用并非仅仅给出一个列表, 它会依据函数、文件、结构体进行分组, 以此帮助你梳理清楚依赖关系, 而其他工具最多只是列出个位置, 你必须自己逐个点开去查看, 效率相差甚远了。自定义这块儿, 虽说它老旧了些, 然而能够改动的地方却是相当之多。像快捷键, 颜色, 字体, 代码样式这一块儿, 甚至还能够自行编写规则去解析全新的语言。我曾目睹有人借助它去查看汇编, 去查看其他内容, 只要将其配置妥当, 统统都能够加以运用。可是, 这一点对于新手而言并非很友好, 是需要花费一些时间去学习的。再讲讲别的工具的特定不足, 它仅仅是个编辑器而已, 代码跳转完全依靠插件, 并且不同的语言得安装不一样的扩展, 项目规模变大时插件之间还会产生冲突。保存时会自动格式化, 有时改动一个空格就致使git diff出现一大片内容, 令人厌烦至极。CLion是针对开发而设计的, 并非用于阅读, 它自身带有一系列重构、调试功能, 启动速度缓慢, 跳转还得依赖CMake, 一些项目根本无法直接打开。Text原生功能欠缺, 跳转需要安装LSP、Ctags, 每次更换项目都得重新进行配置, 插件还容易崩溃。它具备强大功能, 然而价格高昂, 而且学习曲线陡峭, 平常有谁会运用它去查看代码呢, 普遍情况下都是在进行静态分析时才会使用它的。当然了, 并非不存在问题。其界面着实难看, 默认的配色以及字体仿若二十年前的程序, 于高DPI屏幕之下文字模糊, 瞅着眼睛会累。它没有Git集成, 没有终端, 没有调试器, 若想修改代码还得切换至别的工具。对于现代语言的支持亦是欠佳, C/C/Java尚可, 然而Go、Rust需手动配置, 并且ES6、新语法常常解析错误。价格还高昂, 个人版要249美元, 试用版功能不齐全, 致使诸多人士直接去下载盗版。可是话又说回来了, 要是你仅仅只是想要去读代码, 想要迅速地理解一个规模较大的项目, 那它依旧是处于2020年代时最为不错的选择。现代的IDE什么事情都要去管, 然而却反倒把阅读这件事情给弄得复杂起来了。它并不需要你去进行配置, 也不需要你去等待, 只要打开便能够去读, 所包含的信息量很大, 操作起来速度也很快。这样的一种专注以及效率, 是当下任何工具都没有办法完全去复制的。未知的将来, 是否会存在一种工具, 将其核心优势与现代用户界面相结合呢? 我感觉存在这种可能性, 然而目前尚未出现。要是真到了那一天, 我会在第一时间去尝试一下。在这之前, 我的计算机里始终安装着它, 即便它外观不佳, 即便它价格高昂, 也认了。针对新手给出这样的建议, 那就是安装 4.0, 在创建工程之际, 要将源代码目录添加进去, 对于默认的快捷键, 首先得记清楚是 Ctrl以及 Ctrl , 配色方面能够调成 85,90,205那种呈现蓝色背景的样式, 如此一来眼睛会感觉舒服一些。倘若项目存在频繁修改代码、进行调试以及版本控制的需求, 那么就搭配 或者 CLion 一同使用, 二者各自发挥所长。要是有替代方案的话, 其适合用于大项目的分析, 具备跨平台的特性, 添加插件之后适合小项目。然而单纯只是读取代码的话, 还是 稳。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →