提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|行业资讯|编辑:龚雪|2023-04-17 11:22:35.027|阅读 73 次
概述:本文将教大家如何手动尝试改善 IntelliJ IDEA 和 Scala 插件体验,欢迎下载最新版IDE体验~
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。
在普通笔记本电脑上,成熟IDE是最复杂的一种应用程序。JetBrains官方团队收到有关 Scala 插件在某些情况下出现延迟或者总体上运行缓慢的反馈,有时技术团队可以提供一些帮助,但另一些时候,比如您的代码库庞大复杂,或者机器较为陈旧时,同样也无能为力。今天我们将为大家介绍如何手动尝试改善IntelliJ IDEA 和 Scala 插件体验,例如实现配置调整和保持良好的编码习惯。
首先,来看 IntelliJ IDEA 中性能至关重要的两个主要领域:
在这两种情况下,我们都可以通过相似的方式提升性能,可以:
从资源开始,这里基本上意味着提供更多内存。但是首先建议是启用内存指示器,您可以右键点击 IntelliJ IDEA 的底部面板,然后在弹出菜单中点击内存指示器。 它会告诉您IntelliJ IDEA实际使用了多少内存,让您按需设置内存大小。
如今,普通笔记本电脑有 8 GB 或更多 RAM,通常足以让 IntelliJ IDEA、其他应用程序和操作系统正常运行。
检查 IntelliJ IDEA内存消耗后,通过打开 Help(帮助)菜单并选择 Edit Custom VM Options(编辑自定义 VM 选项)来打开 idea.vmoptions 文件,将 -Xmx 设置更改为略大于内存指示器显示的值。 请注意,超过一定值后,增加 -Xmx 将无法提升性能。 在这里,增加到 4 GB 有一些效果,之后额外的提升几乎可以忽略不计。
对于 Scala 插件,如果您决定从 IntelliJ IDEA 中编译应用,增加可用内存也可能加快编译速度。 为此请转到 Settings | Build, Execution and Deployment | Scala Compiler Server(设置 | 构建、执行和部署 | Scala 编译器服务器),并修改 VM 选项。
CPU 方面,Scala 插件最重要的功能之一(也会使用大量 CPU)是它的一组检查。 检查是一种逻辑,可以检查代码,寻找特定类型的问题。 有些问题非常简单,比如永远不会被修改而可被替换为不可变值的 private 变量。 其他问题,如未使用的 public 字段,可能需要很长时间调查。
如果您感觉部分检查没有用处,将其禁用可能会提高高亮显示速度。可以转到 Settings | Editor | Inspections(设置 | 编辑器 | 检查),查看可用检查列表,禁用不需要的检查。 另外,浏览设置也是全面了解 Scala 插件功能的好方法。
接下来,我们将深入探究 Scala 插件众多检查中的 3 个。 每个检查都只是插件逻辑的一小部分,对于不同用户可能会产生不同的影响。
1. Type check can be replaced by pattern matching(类型检查可被替换为模式匹配)
这个检查会在一系列 if-else 语句中查找类型检查和类型转换,并建议将其替换为模式匹配。 请注意,即使是最复杂的检查也有快速路径来检查是否不适用于给定代码段(例如,当其中没有 isInstanceOf 时)。 但是在某些情况下,您可能想要使用像这样的代码,如果您希望它保持这种状态,可以考虑禁用检查。
2. Scala 2 syntax can be replaced with Scala 3(Scala 2 语法可被替换为 Scala 3)
只有启用编译器选项 -Xsource:3 时,这个检查才有效。 它会报告可被替换为 Scala 3 的 Scala 2 语法。 如果为兼容性使用 -Xsource:3,但不需要重写代码,则可以将其安全禁用。
3. Declaration access can be weaker(声明访问可以更弱)和 Unused declaration(未使用的声明)检查
对于代码中的每个声明,这两个检查都将尝试检查声明的使用方式。 如果声明为 public 或 protected,第一个将起作用,它将检查声明是否确实在自己的类、特征或对象的作用域之外使用。如果不是,检查将提示可以将声明设为 private,第二个适用于每个声明 – 它会遍历声明的作用域并检查它是否被使用。
Scala 让我们能够以简洁的方式编写复杂代码,但这是有代价的:我们留给 IDE 的越多,它的性能就越差。 如上所示,在许多情况下,如果您执行严格的编码做法,Scala 插件中的一些检查可能是不必要的。 事实上,如果是要弄清楚声明是否未被使用或者变量是否可以为值,Scala 插件检查所做的与我们所做的并没有太大不同。 我们会在作用域内检查,尝试找到疑似与此相关的其他元素,会查找子类、隐式转换等。
如果审查者因您代码的复杂性而苦恼,这可能表明代码还有改进空间,使其更易分析。 同样,如果您发现 IntelliJ IDEA 因为检查代码花费了太长时间而变慢,请考虑调整编码做法:
您还可以转到 Settings | Languages & Frameworks | Scala(设置 | 语言和框架 | Scala)中的 Performance(性能)选项卡,查看其中的控件,并考虑项目的性能是否会受到这些控件所处理问题的影响。 例如使用很多隐式形参时,弄清楚它们可能需要很长时间, 或者如果使用大文件,对于每个类和方法,在使用代码示例的注释中都有一个文档条目,Scala 插件将尝试正确高亮显示它,您可以尝试禁用这些功能以及其他一些功能。
到目前为止,我们谈到的所有提示都可能在某些特殊情况下对您有所帮助。 通常如果机器足够好,IntelliJ IDEA的性能应该还不错。 只有当项目要求特别高时,这些提示才会有用。
但可能出于某种原因,您必须在旧的、性能较差的电脑上使用IntelliJ IDEA,这是还可以尝试其他操作来改善体验。转到 Settings | Appearance & Behavior | Appearance(设置 | 外观与行为 | 外观),禁用抗锯齿和平滑滚动。 字体将显得不太光滑,滚动浏览文件内容时,也会感觉不太流畅,但这两种功能都会对性能产生一些影响。 如果这还不够,您可以打开 File(文件)菜单并启用 Power Save Mode(省电模式)。 这将关闭 IntelliJ IDEA的许多功能,所以我建议只在没有其他帮助的情况下才这样做。
如果这对您来说过于极端,您可以从 JetBrains Marketplace 安装 。 它可以让您控制 Power Save Mode(省电模式)何时自动打开和关闭,让您仍然可以在需要时使用 IntelliJ IDEA 的复杂功能。
另一种选择是禁用类型感知注解器, 您可以点击 IntelliJ IDEA 主窗口右下角的小 “[T]” 符号完成此操作。
它会阻止 Scala 插件检查代码中的类型。 注意,它不会禁用所有错误检查,只禁用那些由于类型不多而导致错误的检查,例如当您尝试将 String 作为实参传递给接受 Int 的方法时。
Jetbrains技术交流群(QQ):786598704 欢迎一起进群讨论
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:慧都网CEETRON Envision是一款功能强大的CAE数据分析与可视化工具包,凭借其卓越的数据提取、分析、渲染能力,能够帮助工程师和开发人员提升分析效率、改善工作流程,并通过高效的数据共享报告和生成功能,进一步优化团队协作与决策过程。
Burp Suite是一款专业的Web应用安全测试工具,集成了Proxy、Scanner、Intruder等功能,帮助渗透测试人员识别和修复Web应用中的安全漏洞,是提升Web应用安全性和防护能力的必备利器。
2024年对于FastReport来说是充满挑战和收获的一年。FastReport在多个领域取得了重要突破和创新成果,不仅不断优化现有产品,
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
IntelliJ在业界被公认为优秀的Java开发平台之一,在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面表现突出,并支持基于Android平台的程序开发。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢