提高 Go 开发效率
GoLand 2024.1 最新变化
GoLand 2024.1 带来了多项重要的新功能:
全行代码补全已经实现:本地运行、LLM 驱动的 AI 补全现在可供每个 GoLand 用户免费使用。
索引编制和高亮显示的性能得到显著改进。
我们打磨了 AI Assistant 并实现了升级,包括用于代码补全和文档生成的额外选项。
对 Dev Container 的支持已脱离抢先体验,并在此迭代中带来多项精彩的新功能。
添加了对 Go 1.22 更新的支持。
新版本还具有多项用户体验和内部工具增强。
[attachment=232812]
GoLand 2022.1 提供对[size=; font-size: inherit,inherit]泛型和 [size=; font-size: inherit,inherit]Go 工作区的支持。我们还添加了用于处理[size=; font-size: inherit,inherit]微服务的新功能。现在,您可以在专用工具窗口中查看所有端点,并直接从 Go 文件生成 HTTP 请求。
像往常一样,新版本的GoLand带来了数据库的更新,以及Web开发的改进。
功能介绍
强大的代码洞察
GoLand 使读取、写入和更改 Go 代码变得非常容易
实时错误检测和修复建议、支持一步撤消的快速安全重构、智能代码补全、无用代码检测和文档提示,这些功能可以帮助所有 Go 开发者创建快速、高效、可靠的代码,无论是新手还是经验丰富的专业人士。
导航和搜索
在类型、文件和其他符号之间跳转
探索和理解团队、遗留或外来项目需要花费大量时间和精力。 GoLand 代码导航可以帮助您快速切换至被屏蔽的方法、实现、用法、声明,或通过类型实现的接口。 在类型、文件或任何其他符号之间跳转,或查找其用法,并借助方便的分组按用法类型对它们进行检查。
运行和调试
强大的内置工具帮助运行和调试应用程序
强大的内置工具帮助运行和调试应用程序。 无需任何额外的插件或配置工作即可编写和调试测试,并直接在 IDE 中测试应用程序。 内置的代码覆盖率工具将确保测试不会遗漏任何重要内容。
与 VCS 集成
开箱即支持 Git、GitHub 和 Mercurial
GoLand 开箱即支持 Git、GitHub 和 Mercurial。 通过用户安装的插件支持 Perforce、ClearCase 等。
不只是 Go IDE
如果没有丰富的工具集,GoLand 不会成为真正的 IDE
如果没有丰富的工具集,GoLand 不会成为真正的 IDE,除了核心 Go 开发外,它还支持 java script、TypeScript、NodeJS、SQL、数据库、Docker、Kubernetes 和 Terraform。 这些功能组合起来,使其完美适用于任何任务,无论是现代 Web 应用程序还是开发运维工具。
可扩展性
根据您的喜好定制、扩展和修改一切
GoLand 丰富的生态系统包含 1000 多个插件,您可以根据自己的特定需求定制 IDE。 根据您的喜好定制、扩展和修改一切:从新增对 Angular 和 Vue.js 项目的支持,或者获得 Nyan Cat 进度条,到设置完全不同的 IDE 主题。
智能补全IDE 可以为您自动补全语句,帮助您编写代码。 Ctrl+Shift+Space 可以帮您列出最适用于当前上下文的相关符号。 在选择建议时,它会随时添加相应的包导入语句。
PreviousNext
检查与快速修复在某些情况下,IDE 可以为您生成不重要的代码。 如果发现有问题的代码,这些检查会为您提供快速修复,您只需要按Alt+Enter即可应用这些修复。
PreviousNext
重构可用重构包括 Rename 和 Extract,它们可以让您快速、安全地更改代码。
PreviousNext
快速导航只需点击一下即可切换到超级方法、实现、用法和声明,等等。 点击一下即可跳到任何类、文件或符号,甚至是任何 IDE 操作或工具窗口。
PreviousNext
快速弹出窗口
如果您需要脱字符号所在位置的某个符号的更多信息,您可以使用快速弹出窗口:例如 Quick Documentation、Quick Definition、Show usages 和 Structure,等等。一些弹出窗口甚至会在使用代码补全时显示:它们可以提供关于选定建议的更多信息。
代码生成在某些情况下,IDE 可以为您生成不重要的代码。 例如,如果您点击Ctrl+O,IDE 将生成接口的方法,帮助您实现任何接口。
新功能介绍
泛 型
改进和错误修复
此版本中最重要的任务是修复假阳性和假阴性错误。到目前为止,我们已经修复了 200 多个与泛型相关的问题。
完成
我们还为类型参数添加了几个功能。只要您键入一个左括号,GoLand 就会为您插入一个右括号。
GoLand 在完成建议中显示类型参数,并在您接受其中一个建议时插入括号。
实现缺少的方法快速修复
如果类型参数不具有它所约束的接口中的所有方法,GoLand 将显示错误。您可以通过使用错误消息中的快速修复来实现缺少的方法。或者,单击红色灯泡或按 ,然后选择“实现缺少的方法”。Alt+Enter
转到工作区
您可以打开带有文件的任何目录,并像往常一样继续开发。稍后,我们还将在 中实现语法突出显示和代码完成。go.workgo.work
微服务
查找用法并导航
注意:用于构建微服务的新功能目前仅适用于标准库。现在,Go 文件中的每个终结点旁边都有一个地球图标。当您单击该图标时,GoLand将建议几个选项。第一个选项允许你查找终结点的所有用法并导航到它们。还可以通过按并单击终结点来查看使用情况。Ctrl
生成请求
单击地球图标时,您将看到的第二个选项是在 HTTP 客户端中生成请求。选择相应的选项,IDE 将打开捆绑的 HTTP 客户机。此操作可用于为每个有效 URL 生成请求。我们的 HTTP 客户端现在为终结点提供代码完成功能。完成适用于 Go 文件(目前仅支持标准库)、Swagger 规范、文件和 java script 文件中的端点。.proto
端点工具窗口
第三个选项是“显示模块的所有终结点”。如果选择此选项,GoLand 将打开新的“端点”工具窗口,您可以在其中查看项目的所有端点。可以使用“从此处跳转到源”,也可以单击任何终结点并直接从 HTTP 客户端选项卡运行请求。
方法和标头的完成
代码完成现在适用于 Go 文件中的 HTTP 方法和标头。
链接和终结点带有下划线
Go 文件中的所有链接和终结点现在都带有下划线,因此您可以在代码中轻松看到它们。这些链接是可点击的,可以在浏览器中打开。
gRPC 反射支持
如果您的项目没有文件,但服务器支持 gRPC 反射,您将能够直接从正在运行的服务器运行请求并完成服务和方法名称。.proto
Testing
String formatting for testify/assert
GoLand now reports errors if you use the wrong formatting verbs in functions. testify/assert
调试器
隐藏的选项卡标签
为了最大化“调试”工具窗口中的可用空间,我们默认隐藏了选项卡标签。要使它们再次可见或自定义其位置,请使用“布局设置”中的“显示选项卡标签”选项。
Kubernetes
编辑群集上的资源
注意:Kubernetes 插件可以安装在设置| 插件。从集群加载的资源现在可以从编辑器选项卡进行修改。
kubectl 的自定义路径
现在,您可以手动配置 kubectl 的路径(如果它不在标准位置)。要设置自定义路径,请转到“设置”|构建、执行、部署|Kubernetes |kubectl 可执行文件的路径。
端口转发
我们为 Pod 添加了端口转发功能。要转发端口,您可以使用工具栏上的图标,也可以右键单击容器,然后从上下文菜单中选择转发端口...“。
在“服务”视图中描述“资源”操作
对于“服务”视图中的所有资源,都会显示一个新的“描述资源”操作。您可以从上下文菜单中调用它,也可以使用工具栏按钮。
群集事件的节点
群集事件现在显示在“服务”视图的单独节点中,提供有关系统中最近事件的数据。
Werf 支持
我们引入了对相关 Helm 模板文件的有限编辑器支持。初始支持包括代码完成、检查和快速修复建议、重构和重命名 ,以及验证某些字段(如 和 )。werf.yaml.Values.werf.image.*booleanint
码头工人
新的服务视图 UI
我们在“服务”工具窗口中对 Docker UI 进行了重大修改。改头换面带来了对容器、映像、网络和卷的改进。
Support for Docker Compose targets
We've added support for Docker Compose targets. To add a target, go to Run | Manage targets and click Add new target.
Docker Registry V2 support
GoLand now offers support for Docker Registry HTTP API V2.
Markdown
The Copy code icon
We've added a Copy code icon to Markdown blocks to help you easily copy contents to the clipboard.
运行命令
如果 Markdown 文件包含需要在终端中执行的命令的指令,则可以使用装订线中的“运行”图标直接从 Markdown 文件运行这些命令。
改进的浮动工具栏
为了更轻松地设置 Markdown 文件的格式,我们重新设计了文本选择时显示的浮动工具栏。除了新设计之外,工具栏现在还提供列表创建功能和下拉菜单,允许您选择标题样式。
用户体验
新的通知工具窗口
我们已将事件日志 instanсe 替换为新的“通知”工具窗口,以突出显示来自 IDE 的重要且有用的通知。
更新了“结构搜索和替换”对话框
“结构搜索和替换”对话框经过重新设计,具有所有模板的列表,从而可以更轻松地在它们之间导航。对于结构搜索和替换,GoLand支持XML,HTML,SQL和java script。
均匀拆分的标签
现在,您可以在编辑器中的工作空间在各个选项卡之间均匀分布。若要进行此设置,请转到“设置”|高级设置|编辑器选项卡,然后选择“均衡嵌套分割中的比例”。
将 UML 图导出为其他格式
现在可以将UML图导出为yEd,JGraph,Graphviz,Graphviz与位置,美人鱼,Plantuml和IDEA文件,这使得它们与第三方工具兼容。.graphml.drawio.dot.dot.md.uml
版本控制
更新了 Git 工具窗口中的“提交详细信息”窗格
“提交详细信息”窗格现在包含详细的 GPG 签名信息。
使用 Git Blame 改进注释
我们改进了 Annotate with Git Blame 的功能,使调查更改变得更加容易。当您将鼠标悬停在注释上时,IDE 会在编辑器中突出显示行中的差异,并在单击一个注释时打开 Git 日志工具窗口。
数据库
复制多个对象
现在,您可以选择多个表并将其复制到另一个架构。选择表,然后按以打开导出对话框。与导出单个表一样,您可以映射列,查看新表的 DDL,然后对其进行更改。F5
MongoDB:编辑结果中的字段
现在,您可以编辑 MongoDB 集合中的结果,就像在关系数据库中一样。注意:若要了解 v2022.1 中数据库的所有更新,请转到 DataGrip 新增功能页面。
网站开发
对 Vue 的改进
我们对 Vue 3 进行了一些改进。如果将组件定义为全局组件,IDE 现在将在文件中识别它们。.vueGoLand也应该支持语法。它将正确地将使用创建的应用程序与其相关元素相匹配。此版本还包括对Nuxt 3的支持,Nuxt 3是流行的Vue框架的新版本。createAppcreateApp
下一页.js更新
我们修复了对页面的支持。GoLand 解析组件属性中使用的路径。代码完成、导航和重构(如重命名)也可以工作。hrefLink
对 webpack 配置的 ESM 支持
从现在开始,webpack编码助手将适用于您文件中的ES模块。webpack.config.js
GoLand 最新变化