最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 用vs安装环境变量 【】,VSCode

    在编程方面,5 年来 VS Code 一直是我的主要 IDE。在这个时间点我决定更换它,这可能是不可理解的。在本文中,我将与您分享我做出这个决定的原因。

    背景

    如果你愿意,你可以叫我疯子。你可能会认为,使用 VS Code 5 年的人此时一定是疯了,想换掉它。确实,在我进入 JetBrains 生态系统之前,我也是这么认为的。我什至会用我的生命来证明 VS Code 是目前市场上最好的 IDE,就像苹果在 PC 行业的 M1 芯片计算机一样。但请允许我先介绍一下事情的背景。

    我目前在主要提供对冲基金云服务的 Blankly 工作。在我们的云服务上,人们可以在几分钟内创建自己的交易算法。我的一位同事 Emerson 是 JetBrains 生态系统的忠实粉丝。在一天的站立会议上,他甚至延长了会议时间,以说服我们尝试 JetBrains 生态系统。我很不情愿地同意了,以便早日结束对此事的讨论(以便站会可以更早结束)。但是谁能想到,现在我实际上正在在这里写一篇关于最终说服我放弃一直陪伴我的 IDE 的文章。因此,如果您正在为选择哪个 IDE 而苦恼,并且根本不考虑 JetBrains,或者您对我放弃 VS Code 的原因感兴趣,那么本文非常适合您继续阅读。

    本文基于个人使用 VS Code 和 JetBrains 的一些经验,将从 5 个方面进行对比分析。并解释了JetBrains在一些使用场景中优势明显的原因。

    代码检查和重构

    VS Code:快速、简单、多语言支持

    首先,任何编程语言都可以在 VS Code 中轻松快速地启动和运行,因此人们也称其为“编辑器”。所以 VS Code 是我这种全栈工程师的最佳选择。无论是需要频繁在 Python 和 JavaScript 之间切换,还是需要添加基于 NextJS 开发的 React App,还是需要在 Ralis 系统上配置 Ruby 环境,VS Code 都很好地支持这些能力并为这些开发提供语言。提供一系列开箱即用的功能,包括 lingting。即使某个功能不存在,也只需要在其插件市场中搜索一个,找到具有该功能的插件即可安装。

    其次,VS Code 拥有强大的 linting 能力,这得益于 Github Copilot、基于 AI 的 linting、自动导入等一系列插件的支持。在 VS Code 中,您可以随时随地轻松配置所需的任何功能。很多时候,你只需要输入一个终止符,VS Code 就会提示你想要什么。但有时,人们也会因为这种 linting 能力的失败而崩溃。事实上,我经常被困在试图弄清楚为什么标准 linting 不起作用。不管是因为我用Anaconda安装的多python环境,还是缺少安装包,很多时候都无法直接得到答案。另外,VS Code 对 JavaScript 语言的 linting 能力也很强大,但是它并没有对 JavaScript 进行深入的类型检查。幸运的是,

    如图,由于忘记在VS Code中切换Python环境,即使已经通过pip在本地安装了相关的依赖包,VS Code的linting功能依然提示找不到包。

    最后,作为一个编辑器,VS Code 在重构代码方面做得很好。它在变量重命名、文件移动和自动参考修改等基本重构方面做得很好。但是对于函数移动、参数重命名、代码提取等高级重构功能来说,它的功能有点不足。幸运的是,仅仅一些基本的重构功能就足以满足我们日常的大部分重构需求。在我使用 VS Code 的五年中,它满足了我遇到的大多数重构场景。

    JetBrains:标准、专业、强大的支持

    首先,JetBrains 是一个功能强大的 IDE,有很多不合理的初始设置。当我第一次接触到它时,我不得不竭尽全力进行设置以使代码看起来优雅。但是,在为不同使用场景设计的两个 IDE 之间切换,不可避免地会花费你一些时间来学习。如果我的一个 POST 请求有问题,我必须打开 PyCharm 来查看我的后端 API 服务是否有问题;如果在一个推荐项目中,突然对最佳推荐算法有了新的优化思路,我只需要打开 CLion。不过,多亏了智能识别,我只需要花一些时间练习切换代码。到其他脚本,例如 webstorm 。和pycharm。打开不同的IDE时。

    其次,JetBrains 的引擎功能强大。当我用 JetBrains 替换 IDE 时,它强大的引擎性能给我留下了深刻的印象。当我在编辑器中看到一些红线警告时,只需要使用快捷命令command+p重新加载当前窗口一次,这些红线警告就会消失,或者给出一些有用的提示。这种简单且响应迅速的代码审查让我在编程时心情愉快。

    如上图所示,只需要一个快捷键就可以看到所有的引用。

    最后,JetBrains 在重构功能方面非常强大,这也是它真正吸引我的地方。就在上周,在公司平台的最终封闭测试版构建期间,我重构并添加了一些组件,以使它们在未来更具可扩展性。在那段时间里,我移动了大约 200 个组件,并且在编译项目时没有一个编译异常是由引用错误、非法或未定义的组件引起的。然后,在 VS Code 中,我通过在数据结构类项目中重新组织两个文件来破坏整个 cpp 代码。为此,我必须手动修复一些组件导入和函数引用以使项目正常工作。此外,JetBrains 提供了多种外部工具,例如安全删除、全局重命名等,以确保我们有足够的重构工具。

    通过JetBrains,你可以清楚地看到将要重构或重命名的变量的所有调用和上下文图

    JetBrains生态IDE提供的阅读帮助功能

    能力对比

    总的来说,我认为 VS Code 和 JetBrains 在代码检查和代码重构方面很接近。两者都可以通过自动代码检查、代码格式化、主题定制等功能帮助人们更好地调试和显示他们的代码。但是,JetBrains 具有出色的 linting 引擎和无副作用的重构功能,因此如果代码分解和重构对您和您的工作流程很重要,那么我推荐 JetBrains。

    调试

    VS Code:调试几乎所有东西

    VS Code 强大的调试能力得益于其强大的插件支持。每次点击 VS Code 左侧的运行按钮,VS Code 都会生成一个 .vscode 文件夹,里面存放了一个 settings.json 文件,里面包含了所有调试相关的配置。对于 Python、JavaScript 等大多数语言,使用 VS Code 作为其调试工具非常方便。甚至,如果你的环境配置正确,直接点击调试按钮调试起来也容易得多。此外,即使通过修改 settings.json 文件中的配置来更改当前调试内容也非常简单。但是如果使用特定的构建方式或者特定的平台语言(如C/C++语言),由于需要设置gcc和clang,会大大增加VS Code中调试的难度和复杂度。文件的调试配置也是费时费力的。为了减少这次时间投入,我尝试将其他项目的setting.json文件复制到当前项目中,但效果并不理想。我花了很多天的时间调整才能使当前的项目正常工作。在我的大学(密歇根大学安娜堡分校),为了减少调试配置的工作量,他们维护了一个通用的 settings.json 文件供大家使用。但即便如此,也不得不花时间调整 settings.json 文件。我花了很多天的时间调整才能使当前的项目正常工作。在我的大学(密歇根大学安娜堡分校),为了减少调试配置的工作量,他们维护了一个通用的 settings.json 文件供大家使用。但即便如此,也不得不花时间调整 settings.json 文件。我花了很多天的时间调整才能使当前的项目正常工作。在我的大学(密歇根大学安娜堡分校),为了减少调试配置的工作量,他们维护了一个通用的 settings.json 文件供大家使用。但即便如此用vs安装环境变量,也不得不花时间调整 settings.json 文件。

    上图显示了在 MacOS 上调试 C/C++ 程序所需的最低配置

    在实际调试过程中,VS Code可以在调试控制台中很好的设置调试断点、识别变量、添加变量观察器。不过,如果这些功能可以直接在代码面板而不是侧面板中设置会更好。

    幸运的是,插件和多语言支持是 VS Code 的最大优势,允许人们在几分钟甚至几秒钟内设置代码调试。对于一些简单的调试场景,VS Code 的调试能力非常好。但是,当需要调试特殊语言时,VS Code 的调试能力往往是无能为力的。同时我也发现当程序需要使用更大的堆内存时,VS Code调试器会一直卡死,直到崩溃。

    JetBrains:一个调试怪物

    与 VS Code 相比,JetBrains 在调试方面更强大。由于所有 JetBrains IDE 都基于配置运行,因此您可以通过单击“调试”按钮启动任何程序调试。如果要设置全局调试断点,只需要在编辑器的行号处按空格键即可。该功能大大提升了程序调试的体验。此外,JetBrains 系列的 IDE 在整个调试过程中还有很多其他的功能亮点,例如:进入调试过程时,作用域内所有变量的定义对定义者都是可见的。这使我们能够以多种方式观察当前变量值的变化。前几天用 Pycharm 调试程序的过程给我留下了深刻的印象。当我在 Pycharm 中运行调试并尝试查看数据框的值时,

    上图显示了运行调试和监控变量值变化

    如上面的截图所示,底部窗口显示了范围内的所有值。history_and_returns的下拉菜单显示了字典对象的所有属性值以及字典对象中嵌套的数据框。右侧面板(如 SciView)显示已嵌套在字典中的数据框。对于开发人员来说,无需设置任何打印语句或堆栈跟踪就能够深入了解代码非常有用。试想一下,当所有的变量赋值都被旁边的编辑器展示出来的时候,我们可以很容易的发现循环中的逻辑错误,修复索引引起的bug,甚至可以做一些更深入的逻辑推理。

    与其他 IDE 的调试器一样,JetBrains 的调试器也提供了单步执行、进入函数等调试功能。另外,JetBrains 的 Run to Cursor 是一个非常有用的功能,可以让人们像设置断点一样调试通过放置鼠标进行断点。这种随时随地设置断点并立即生效的能力完全加快了我调试代码的方式。

    能力对比

    程序调试是开发人员每天最常做的事情之一。所以我觉得开发者在选择IDE的时候,IDE是否有好的调试器是必须的。VS Code 和 JetBrains 都提供了非常可靠的调试器,但我必须说 JetBrains 在这方面比 VS Code 略胜一筹。因为,JetBrains 可以直接在变量声明的一侧显示变量值,这样在跟踪大量变量时更容易管理。此外,JetBrains 的调试器更加强大和稳定,它不需要像 VS Code 调试器那样复杂的设置。因此,结合这些因素,JetBrains 调试可以帮助我们节省更多的调试时间,这也让 JetBrains 更具吸引力。

    集成 Git

    VS Code:内置强大的源代码控制管理

    任何需要团队合作或关心代码安全的人都知道 Git 在他们的工作流程中的重要性。基于 Git 的版本控制是任何现代编辑器不可或缺的功能。VS Code 与 Git 集成得非常好,当你打开一个工作目录时,它会自动检测它是否是一个 Git 存储库。如果是,那么它会立即提供许多原生 Git 命令,例如 push、pull、commit 等。

    vs调试时查看变量_用vs安装环境变量_用sprintf()函数将浮点型变量转换为字符串

    在 VS Code 的 Git 面板中,人们可以清楚地看到哪些文件被修改了,并且可以轻松完成同步。同时,在面板中,您还可以创建分支和克隆仓库。VS Code 总能准确地告诉你该做什么,这也是我喜欢它的原因之一。当它检测到文件更改时,它会提示您立即提交,提交时会提示您包含提交说明。此外,它还在提交时检测并同步本地和远程分支。同时也提供了非常稳定的rebase功能。

    内联你可以清楚地看到需要在哪里进行冲突合并

    正确处理冲突合并的能力是 VS Code 的一大优势。使用 VS Code 自动提供的冲突解决方案,我可以通过单击按钮选择使用当前更改或传入更改。这种解决合并冲突的方法为我节省了很多时间。

    JetBrains:不再需要使用命令行进行源代码控制

    在完全切换到 JetBrains 之后,我几乎没有碰过我的终端命令行。JetBrains 提供了包括提交、冲突解决、分支切换和分支比较在内的源代码管理等整体功能。根据我的经验,JetBrains 在源代码控制方面比 VS Code 好得多。下面我列出一些体验截图:

    比较两个分支之间的文件

    内置分支详情显示

    详细的 git 日志

    能力对比

    在 Git 集成上,JetBrains 和 VS Code 都提供了完整且相同的功能。无论选择哪种IDE,在源代码管理上都有足够的功能支持。因此,这方面不能作为选择IDE的考虑因素,只是个人喜好问题。例如,在解决合并冲突时,我更喜欢 JetBrains 单独显示冲突文件的方式,而不是 VS Code 显示堆叠在一个文件中的冲突文件的方式。

    可扩展性

    VS Code:丰富的可扩展性

    VS Code 是最具扩展性的编辑器之一,集成和可扩展性是其核心特性。在众多的扩展能力中,Python 扩展、远程开发扩展以及一些 IntelliSense 驱动的扩展是目前最受欢迎的。另外,VS Code 有一些很酷的功能,比如通过 Prettier 格式化代码,通过图标和代码编辑器主题自定义主题等。VS Code 提供的每个项目或功能都是完全可扩展的,扩展本身也可能是增强能力的过程的扩展。

    对远程 docker 容器的支持是我最喜欢的 VS Code 扩展之一。借助此功能,用户可以在 VS Code 中的 docker 容器内远程编程。如果您在本地或远程安装了 docker,那么在 VS Code 中,您可以轻松地运行您的代码并完成以前在 docker 中可以做的所有事情。想要更有趣的东西吗?通过 SSH 进行远程开发怎么样?微软开发的扩展允许人们在 VS Code 中通过远程 SSH 进入服务器端开发环境,像在本地一样进行远程开发。如果想在VS Code中集成这些功能,只需要点击安装,即可运行成功。所有这些功能使 VS Code 变得很棒。

    JetBrains:综合生态系统

    对于 JetBrains 来说,可扩展性并不是它需要突出的一点,因为你会发现你需要的大部分功能都会随着 IDE 版本的发布而发布。为某种语言安装一个强大的IDE的好处是,当我们需要一些新功能的时候,我们可能只需要升级IDE版本就可以了,而不必去拓展市场去寻找它。

    例如,JetBrains 为 docker 提供了强大的内置支持。所有 JetBrains IDE 通过一个易于使用的 GUI 提供对所有参数、名称、标签、端口和环境变量的完全控制,只需指定一个配置类型文件(例如 Dockerfile)。在运行时,IDE 集成了 docker,为您提供了 docker 构建日志、运行日志、环境变量以及可视化的集成配置信息:

    在集成 FastAPI、Flask、shell 等第三方能力时,JetBrains 提供了与集成 docker 相同的能力。

    此外,JetBrains IDE 还拥有丰富的插件生态系统。例如,我可以安装特定的插件来支持 Verilog 和 Matlab。有趣的是,这些轻量级插件实际上提供了比本地安装的 Matlab 和 Quartus(Verilog 开发环境)环境更好的编程体验。

    能力对比

    毫无疑问,两者都为扩展或插件提供广泛的社区和市场支持。这两个 IDE 在功能上有所不同。两个编辑器之间缺乏您可能希望彼此丰富的功能。但是,VS Code 的社区稍大一些,因此具有更多的扩展和一些功能,例如远程容器扩展,这使我们能够更快地迭代。因此,如果你在日常工作中对 Docker 等自定义扩展有更多需求,那么 VS Code 可以说是你的专属 IDE。

    合作

    VS Code:基于插件的实时分享

    虽然 VS Code 本身没有内置的实时共享功能,但微软已经为其开发了一个插件。除此之外,现在人们甚至可以通过使用浏览器访问 vscode.dev 直接进行实时分享。这种满足各种需求的需求是 VS Code 如此受欢迎的原因。只要你有良好的网络环境,实时分享体验就可以了。在实时共享的过程中,人们可以像面对面一样一起工作。同时用vs安装环境变量,在源代码控制方面,VS Code 会一直跟踪那些帮助作者提交代码的人。这些让我们看到在 VS Code 中启用实时共享是多么容易。因此,在我看来,VS Code 在实时分享能力方面优于市面上任何其他 IDE 和编辑器。

    不过,在使用 VS Code 的实时分享功能时,还是有一些需要注意的地方。下面我给出一个在 Vue.js 项目中使用实时共享功能的示例。实时分享Vue代码时,包括Vetur(Vetur是Vue可视化的重要插件)在内的部分插件将不会被分享。这种缺陷常常使人们陷入麻烦和易怒。幸运的是,这样的缺陷只会影响一些特定的用户(在这种情况下,只有 Vue 用户)。另外,我最讨厌的是在直播分享中,undo函数绑定的是机器而不是当前用户,这导致我的undo函数在本地和远程之间混淆了。

    JetBrains:安全、分布式

    所有 JetBrains 生态 IDE 都为代码共享和在线协作的功能提供了大量的设置。这些设置项根据不同的安全级别而有所不同。我最近发现的一个令人印象深刻的能力是能够通过投影技术在 docker 容器中运行任何 JetBrains IDE,这使我能够在浏览时连接到在基于云的服务上运行的 JetBrains IDE 完整的 JetBrains IDE 功能用于编码在浏览器中。所以现在,我可以使用只需一个密码的无头服务随时随地安全地编码。这只是 JetBrains 的众多共享配置之一。

    在所有 JetBrains IDE 中,通过 Code With Me 进行实时共享是主流方式。这样您就可以直接在本地 IDE 中查看其他人的项目。同时,您也可以像使用本地开发环境一样使用其他人的开发环境来运行项目。一个印象深刻的场景是,我的一个团队成员,遇到了一个python的问题,他通过Code With Me发起了一个code live share给我,并且通过这个share,在我自己的IDE中,就像在本地使用他的配置一样,之后调试代码,我很轻松的帮他解决了这个问题。

    令人惊讶的是,共享 IDE 的各种不同的好想法都在努力提高安全性、协作或分布式团队如何协同工作。

    能力对比

    如果是两年前,我可能会认为实时分享功能无关紧要。事实上,两年前我什至不知道 IDE 中有代码协调。因为两年前,当我们需要一起工作时,我们根本不会通过 IDE 发起远程协作,而是直接坐在同一台机器前。但现在随着新冠疫情的影响,这种面对面的合作变成了奢侈,难度极大。正因为如此,两个 IDE 都对实时代码共享做出了强有力的支持。但是,由于 VS Code 中的撤消功能存在问题,我强烈推荐 JetBrains。此外,对视频和音频通话的支持与 Git 在用户之间的跟踪功能同样重要。

    总结

    除了上面列出的 5 个方面的对比之外,我也知道 JetBrains 相对于完全免费的 VS Code 对非学生用户的需求收取一定的费用,这可能是很多人不考虑的原因之一捷脑。然而,对我来说,几个月来使用 JetBrains 生态系统给了我非常好的体验。而且,我迫不及待地想在工作中更多地使用它们。所以我希望即使 JetBrains 花了一些钱,你也可以考虑一下。

    原文链接:

    关于作者:

    Jeremy Liu 是一名全栈工程师,目前在 Blankly 担任首席工程师。

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 用vs安装环境变量 【】,VSCode

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论