PyCharm 2024.1 版本更新亮点:智能编程,高效协作
目录
- 1. 前言
- 2. 更新内容
- 2.1 智能编码体验
- 2.1.1 Hugging Face 文档预览
- 2.1.2 全行代码补全
- 2.2 提升编辑器体验
- 2.2.1 粘性行功能
- 2.2.2 编辑器内代码审查
- 2.3 全新终端体验(测试版)
- 2.3.1 新终端 Beta
- 2.4 智能助手(特定版本和专业用户)
- 2.4.1 AI Assistant(专业版且部分地区限制)
- 2.4.2 生成架构感知型 SQL 查询
- 2.5 用户体验
- 2.5.1 自定义 IDE 界面
- 2.6 框架和技术 PyCharm Professional
- 2.6.1 在 Django 结构工具窗口中注册模型管理类
- 2.6.2 在Endpoints(端点)工具窗口中对更大的 Flask 和 FastAPI 应用程序的支持
- 2.6.3 VCS 支持
- 2.6.4 HTTP 客户端改进
- 2.6.5 优化的 JSON 架构处理
- 2.6.6 WireMock 服务器支持
- 2.7 前端开发(专业版)
- 2.7.1 Vue、Svelte 和 Astro 的组件用法
- 2.7.2 GraphQL 的改进
- 2.7.3 TypeScript 的快速文档改进
- 2.7.4 React 的快速修复
- 2.8 增强的 Terraform 支持(专业版)
- 2.8.1 增强的 Terraform 支持
- 2.8 版本控制系统
- 2.8.1 Git 工具窗口中 CI 检查的状态
- 2.8.2 从推送通知创建拉取/合并请求
- 2.8.3 Git 工具窗口的【History】选项卡的分支筛选器
- 2.9 数据库工具
- 2.9.1 简化的会议方法
- 2.9.2 数据编辑器中的本地筛选
- 2.9.3 单条记录视图
- 2.9.4 能够移动 CSV 文件中的列

1. 前言
PyCharm 提供开箱即用所需的一切,让您更快、更智能地编写代码。无论您是经验丰富的开发人员,还是刚刚开始学习该语言,PyCharm都可以帮助您完成工作。
最新版本 PyCharm 2024.1 隆重发布,带来了一系列革新功能和增强特性,从界面展示到数据库管理,从模型、数据集到本地ML等,PyCharm 2024.1 都进行了重要的更新,从而进一步提升了用户的编程和和团队协作效率。
2. 更新内容
2.1 智能编码体验
2.1.1 Hugging Face 文档预览
直接在 PyCharm 中预览 Hugging Face 模型和数据集的文档,快速获取相关信息。

2.1.2 全行代码补全
JavaScript、TypeScript 以及前端框架支持全行补全,本地 AI 驱动的专属语言模型,确保数据安全和高效编码。

2.2 提升编辑器体验
2.2.1 粘性行功能
在滚动代码时,关键的结构元素始终固定在编辑器顶部,便于快速定位。

2.2.2 编辑器内代码审查
GitHub 和 GitLab 用户可以在编辑器内无缝集成代码审查,提高审查效率。

2.3 全新终端体验(测试版)
2.3.1 新终端 Beta
全新的终端功能,包括可视化改进和增强的命令行体验,通过键盘快捷键无缝切换提示和输出。
2.4 智能助手(特定版本和专业用户)
2.4.1 AI Assistant(专业版且部分地区限制)
智能的代码建议和生成功能,提升编程效率(注意:该功能需额外付费且可能受地域限制)。

2.4.2 生成架构感知型 SQL 查询
使用 AI Assistant,您不仅可以获得查询响应,您也可以根据上下文快速生成查询,从数据库上下文提供,并在其中执行智能搜索。

2.5 用户体验
2.5.1 自定义 IDE 界面
允许用户自定义 IDE 的界面大小,根据个人偏好调整工作环境。

2.6 框架和技术 PyCharm Professional
2.6.1 在 Django 结构工具窗口中注册模型管理类
在 PyCharm 2024.1 中,可以快速检查未注册的管理类,并在 Django 结构工具窗口中一键注册它们。
如:Admin类。

2.6.2 在Endpoints(端点)工具窗口中对更大的 Flask 和 FastAPI 应用程序的支持
在 PyCharm 2024.1 中处理更大的 Flask 或 FastAPI 应用程序时,可以查看Endpoints工具窗口,以清楚地了解现有的EndPoint及其层次结构,以及从 endpoint 到其在项目中的声明。构建更大的应用程序,使用 Flask,尤其是那些使用 FastAPI 构建的 Flask,通常具有复杂的,围绕较小的粒度模块(蓝图)构建的分层结构 在 Flask 和 FastAPI 中的路由器中)。
为了让您清楚地了解这些情况结构并帮助您更快地理解它们的继承,PyCharm 现在按应用对EndPoint进行分组。 此外,PyCharm 现在能够检测在库中声明的EndPoint,以及每个路径的EndPoints以及不同 HTTP 方法的EndPoints。

2.6.3 VCS 支持
版本控制系统(VCS)支持得到加强,包括 Git、GitHub、GitLab 等的更好集成。

2.6.4 HTTP 客户端改进
HTTP 客户端提供了更多的身份验证选项,包括 PKCE(密钥代码交换证明)授权代码和 OAuth 2.0 设备授权授权流。它现在除了支持自动处理令牌检索code_challenge的生成和code_verifier传递,在KCE请求期间,还支持额外的令牌和身份验证请求的参数。HTTP 客户端升级到 Netty 作为其低级网络库支持 SSL、代理和 HTTP/2 支持, 促进 HTTP/2 的实施。

2.6.5 优化的 JSON 架构处理
优化了 JSON 架构验证和完成背后的代码。 因此,PyCharm 现在处理 JSON 模式的速度更快,并且减少了 内存消耗。在使用 Azure Pipelines 的实际文件中,架构 现在,检测速度提高了 10 倍。

2.6.6 WireMock 服务器支持
通过插件实现了 WireMock 支持,可以从 IDE 内部或从 JetBrains Marketplace 获取。这 集成包括 JSON 配置的架构、 能够从Endpoints工具生成 WireMock 存根文件,并且允许您从编辑器内直接启动内置运行配置。此添加功能可让您快速创建测试数据服务器或存根,简化 Web 开发 UI 和微服务。

2.7 前端开发(专业版)
2.7.1 Vue、Svelte 和 Astro 的组件用法
PyCharm 现在在 Vue、Svelte 和 Astro 文件的编辑器内提示中列出组件用法, 这将帮助您快速找到项目中任意位置的特定组件的用法。

2.7.2 GraphQL 的改进
在我们的 GraphQL 插件中,我们优化了索引性能并扩展了处理node_modules的支持库中的架构和外部库。
2.7.3 TypeScript 的快速文档改进
快速文档弹出窗口现在显示接口成员、枚举常量,并键入别名 bodies。点击【Show more】链接,以查看完整列表并导航到引用的类型。您可以使用对话框顶部的分页控件导航接口、类型别名、枚举、函数、和其他实体。

2.7.4 React 的快速修复
PyCharm 2024.1 为 React 引入了几个新的快速修复程序,让您可以即时创建道具和状态。
您可以应用这些快速修复的快捷键(适用于 Windows/Linux):⌥Enter Alt+Enter

2.8 增强的 Terraform 支持(专业版)
2.8.1 增强的 Terraform 支持
PyCharm 2024.1 带来了改进的 Terraform 支持,从而简化了创建、管理和扩展基础架构的过程。 IDE 现在通过运行 terraform init 初始化运行,并为第三方 Terraform 提供的超过 3,900 个的功能提供了扩展代码补全功能。此外,IDE 还引入了对 Terraform 模板语言 (TFTPL)的支持 ,实现动态模板,将其与您喜欢的编程语言无缝集成 。您可以在JetBrains博客文章中找到更多详细信息。

2.8 版本控制系统
2.8.1 Git 工具窗口中 CI 检查的状态
在 Git 工具的【Log】选项卡中引入了一个新列,允许由您的 CI 系统执行,轻松查看 GitHub 提交检查的结果

2.8.2 从推送通知创建拉取/合并请求
成功将更改推送到版本控制系统后, PyCharm 现在将通过通知提醒您成功推送并建议创建拉取/合并请求的操作。

2.8.3 Git 工具窗口的【History】选项卡的分支筛选器
改进了 Git 工具窗口中文件历史记录的用户体验。首先,替换了“显示所有分支”按钮,使用分支过滤器,允许您指定分支机构,查看对其中的文件所做的更改。我们还调整了工具栏的方向, 通过水平放置以提高可用性。

进一步改进
- 对于 GitHub 和 GitLab,您现在可以在 Git 工具窗口中的单独“日志”选项卡中,选择查看给定分支的 更改。
- 现在,您可以从一组表情符号中进行选择,添加代码评审注释的回应。
- 为了帮助您避免因文件过大而导致拒绝进行版本控制, IDE 现在包含一个提交前检查,以防止您提交此类文件,并通知您限制。
- “Merge into”对话框现在有一个“允许不相关的历史记录”选项,可以合并两个分支,即使它们没有共同的历史记录。
- 现在,您可以在”Commit"工具窗口中,专用的“Stash”选项卡中查看隐藏的更改。如果您同时使用Stashes和Shelves,则可以启用组合的“Stashes ”和“Shelves”选项卡。
- 为了帮助您只聚焦于相关更改,差异查看器现在可以从比较中排除文件夹和文件。只需右键单击,然后选择“从结果中排除”即可。
- 在“Branches”弹出窗口中,您现在可以按操作和仓库过滤搜索结果。
- “Rebase”对话框现在具有以下选项:update-refs, 这确保了 Git 存储的历史记录反映了在变基期间的修改。
- 默认情况下,“Search Everywhere”不再显示 Git 选项卡。 您可以在“设置/首选项|高级设置 |版本控制.Git|“中添加它 。
2.9 数据库工具
2.9.1 简化的会议方法
我们重新构想了会议的工作方式,以简化您管理数据源连接和执行查询的体验 。现在,对于任务,就像附加文件或运行函数一样,您只需选择必要的数据源或执行上下文,无需选择正确的会话。此外,“服务”工具中的专属操作,可以轻松地在同一数据源中切换会话。 这些更改旨在使您的工作流程更顺畅、更直观。
2.9.2 数据编辑器中的本地筛选
现在,您可以直接在当前页面上,按列值快速筛选行,而无需等待查询运行。这种本地方法适用于可见页面,但您如果需要扩展作用域,可以通过更改页面大小或获取所有数据。如果要禁用所有本地过滤器,只需切换启用本地过滤器图标

2.9.3 单条记录视图
现在,您可以在数据编辑器中专注于单个记录。要打开一个记录视图,请使用 for macOS (适用于 Windows/Linux)快捷方式⌘⇧Enter/Ctrl+Shift+Enter, 或工具栏上的“Show Record View(显示记录视图)”按钮。记录视图将在侧面板中打开,位于值编辑器和聚合视图中。如果记录视图中的单元格是可编辑的,它们在主网格中则是可编辑的。

2.9.4 能够移动 CSV 文件中的列
从 2024.1 开始,您可以在数据编辑器中移动列 CSV 文件,这些更改将应用于文件本身。

PyCharm 2024.1 版本为 Python 开发者提供了更加智能、高效和协作的编程体验。
无论您是机器学习专家、Web 开发者还是数据库管理员,都能从这次更新中获得实质性的帮助和便利。
相关文章:
PyCharm 2024.1 版本更新亮点:智能编程,高效协作
目录 1. 前言2. 更新内容2.1 智能编码体验2.1.1 Hugging Face 文档预览2.1.2 全行代码补全 2.2 提升编辑器体验2.2.1 粘性行功能2.2.2 编辑器内代码审查 2.3 全新终端体验(测试版)2.3.1 新终端 Beta 2.4 智能助手(特定版本和专业用户…...
网络安全设备——蜜罐
网络安全设备蜜罐(Honeypot)是一种主动防御技术,它通过模拟真实网络环境中的易受攻击的目标,以吸引和监测攻击者的活动。具体来说,蜜罐是一种虚拟或实体的计算机系统,它模拟了一个真实的网络系统或应用程序…...
Java与Selenium配置及常见报错解决方法
Java与Selenium配置及常见报错解决方法 1. 简介 Java与Selenium是自动化测试中常用的工具和技术。正确配置开发环境并处理可能出现的问题,对于顺利开展测试工作至关重要。本文将为您详细介绍Java与Selenium的配置过程,并提供常见报错的解决方法。 2. …...
最新扣子(Coze)实战案例:使用图像流做超分,模糊图片秒变清晰,完全免费教程
🧙♂️ 大家好,我是斜杠君,手把手教你搭建扣子AI应用。 📜 本教程是《AI应用开发系列教程之扣子(Coze)实战教程》,完全免费学习。 👀 关注斜杠君,可获取完整版教程。👍Ἷ…...
数组相关内容
一、数组 就是一个集合,里面存放了相同类型的数据元素 特点: 1.数组中的每个数据元素都是相同的数据类型 2.数组是由连续内存位置组成的 二、一维数组 定义方式 1.数据类型 数组名[数组长度]; 2.数据类型 数组名[数组长度]{值1࿰…...
【Python机器学习】模型评估与改进——打乱划分交叉验证
打乱划分交叉验证是一种非常灵活的交叉验证策略。 在打乱划分交叉验证中,每次划分为训练集取样train_size个点,为测试集取样test_size个不相交的点。将这一划分方法重复n_iter次。 举例: import matplotlib.pyplot as plt import mglearnm…...
nodejs操作excel文件实例,读取sheets, 设置cell颜色
本代码是我帮客户做的兼职的实例,涉及用node读取excel文件,遍历sheets,给单元格设置颜色等操作,希望对大家接活有所帮助。 gen.js let dir"Z:\\武汉烟厂\\山东区域\\备档资料\\销区零售终端APP维护清单\\走访档案\\2024年6月…...
用GPT做足球预测案例分享
自从GPT出来后,一直想利用GPT的能力做点什么,想了很多项目,比如用GPT写小说,用GPT做股票分析,用GPT写营销文章,最终我选了一个比较有意思的方向:GPT足球预测。因为每天都有足球比赛,…...
代码随想录| 编辑距离
判断子序列[https://leetcode.cn/problems/is-subsequence/description/] 题意:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 思路:从动态规划, dp[i][j] 表示s的前i-1个元素和t的前j-1个元素相同的子序列元素的个数。 还要对d…...
MOJO编程语言的编译与执行:深入编译器与解释器的工作原理
引言 MOJO编程语言以其面向对象的特性和简洁的语法而受到开发者的欢迎。在MOJO的世界中,编译器和解释器是两个核心组件,它们负责将MOJO代码转换为机器可执行的指令。本文将探讨MOJO编译器和解释器的工作原理,以及它们如何在MOJO编程过程中发…...
nginx-限制客户端并发数
文章目录 前言一、ngx_http_limit_conn_module二、指令介绍1. limit_conn_zone2.limit_conn3. limit_conn_log_level4. limit_conn_status 案例未限制限制 总结 前言 瞬时大量用户访问服务器,导致服务器超载而宕机。 恶意请求攻击服务器,导致服务器超载…...
Vatee万腾平台:智能生活的新选择
在科技飞速发展的今天,智能生活已经不再是遥不可及的梦想,而是逐渐渗透到我们日常生活的方方面面。Vatee万腾平台,作为智能科技领域的佼佼者,正以其创新的技术、丰富的应用场景和卓越的用户体验,成为智能生活的新选择&…...
白嫖A100-interLM大模型部署试用活动,亲测有效-2.Git
申明 以下部分内容来源于活动教学文档: Docs git 安装 是一个开源的分布式版本控制系统,被广泛用于软件协同开发。程序员的必备基础工具。 常用的 Git 操作 git init 初始化一个新的 Git 仓库,在当前目录创建一个 .git 隐藏文件夹来跟踪…...
LeetCode 60.排序排列(dfs暴力)
给出集合 [1,2,3,...,n],其所有元素共有 n! 种排列。 按大小顺序列出所有排列情况,并一一标记,当 n 3 时, 所有排列如下: "123""132""213""231""312""321" 给定…...
矩阵分析与应用1-矩阵代数基础
矩阵分析与应用1-矩阵代数基础 1 矩阵的基本运算2 矩阵的初等变换3 向量空间、线性映射与Hilbert空间4 内积与范数5 随机向量6 矩阵的性能指标7 逆矩阵与伪逆矩阵8 Moore-Penrose逆矩阵9 矩阵的直和与Hadamard积10 Kronecker积与Khatri-Rao积11 向量化与矩阵化12 稀疏表示与压缩…...
Vue的学习之生命周期
一、生命周期 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>Vue的学习</title><script src"vue.js" type"text/javascript" charset"utf-8"></script></head>&l…...
【MySQL】表的操作{创建/查看/修改/删除}
文章目录 1.创建表1.1comment:注释信息1.2存储引擎 2.查看表3.修改表3.1add添加列,对原数据无影响3.2drop删除列3.3modify修改列类型3.4change修改列名3.5rename [to]修改表名 4.删除表5.总结 1.创建表 CREATE TABLE table_name (field1 datatype,field…...
基于Python爬虫的城市二手房数据分析可视化
基于Python爬虫的城市二手房数据分析可视化 一、前言二、数据采集(爬虫,附完整代码)三、数据可视化(附完整代码)3.1 房源面积-总价散点图3.2 各行政区均价3.3 均价最高的10个小区3.4 均价最高的10个地段3.5 户型分布3.6 词云图四、如何更换城市一、前言 二手房具有价格普…...
这款新的 AI 语音助手击败了 OpenAI,成为 ChatGPT 最受期待的功能之一
OpenAI 推迟了 ChatGPT 令人印象深刻的语音模式,这让许多 AI 聊天机器人的粉丝感到不安,但他们现在可能已经被挖走了。法国人工智能开发商 Kyutai 推出了一款名为 Moshi 的实时语音 AI 助手。 Moshi 旨在通过语音(如 Alexa 或 Google Assista…...
CTS单测某个模块和测试项
1 ,测试单个模块命令 run cts -m <模块名> 比如:run cts -m CtsUsbTests模块名可以从测试报告中看,如下: 2, 测试单个测试项 run cts -m <模块名> -t <test_name> 比如:run cts -m ru…...
Anything V5服务优化指南:如何调整参数获得最佳生成效果
Anything V5服务优化指南:如何调整参数获得最佳生成效果 1. 理解Anything V5的核心参数 1.1 分辨率设置对生成效果的影响 Anything V5支持多种分辨率设置,但不同分辨率会直接影响生成速度和质量: 512x512:默认设置,…...
高效保存微信聊天记录:3步实现永久备份与深度分析完整指南
高效保存微信聊天记录:3步实现永久备份与深度分析完整指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/W…...
LFM2.5-1.2B-Thinking-GGUF快速问答效果展示:对比云端大模型的响应速度与成本
LFM2.5-1.2B-Thinking-GGUF快速问答效果展示:对比云端大模型的响应速度与成本 1. 本地轻量模型的惊艳表现 最近在测试LFM2.5-1.2B-Thinking-GGUF这个轻量级模型时,它的表现着实让我惊喜。这个只有12亿参数的模型,在本地CPU环境下运行&#…...
Tauri开发手记——1.从零到一:环境搭建与首次构建实战
1. 环境准备:从零搭建Tauri开发环境 第一次接触Tauri开发时,环境搭建往往是最让人头疼的环节。作为一个跨平台桌面应用框架,Tauri需要同时处理前端和后端(Rust)的依赖关系。我在Windows系统上踩过不少坑,现…...
Vite 8 架构革新:从双引擎到 Rolldown 统一打包的演进之路
1. Vite 8 架构革新的背景与痛点 如果你用过 Vite 7 或更早版本,一定对它的闪电般开发体验印象深刻。这主要得益于 Vite 独特的双引擎架构:开发时用 esbuild 实现毫秒级启动,生产环境则用 Rollup 保证打包质量。但我在实际项目中发现…...
AnalogPin库:Arduino模拟信号抗噪与平滑处理实战指南
1. AnalogPin 库概述:面向嵌入式系统的模拟信号抗噪与平滑处理框架AnalogPin 是一个专为 Arduino 平台设计的轻量级 C 类库,其核心目标并非简单封装analogRead(),而是构建一套可配置、可扩展、硬件感知的模拟输入信号调理机制。在工业传感、电…...
TXS0104EPWR双向电平转换器实战指南:从4通道设计到50mA高效应用
1. TXS0104EPWR双向电平转换器入门指南 第一次接触TXS0104EPWR时,我也被这个复杂的型号名称吓到了。但实际用起来才发现,这个4通道双向电平转换器简直是嵌入式开发的"翻译官"——专门解决不同电压器件之间的"语言不通"问题。想象一下…...
FPGA驱动EMMC:从Verilog模块到低成本大容量存储方案
1. 为什么选择FPGA驱动EMMC作为大容量存储方案 在数据采集项目中,存储方案的选择往往让人头疼。我做过不少类似项目,发现很多工程师第一反应就是上SATA或者PCIe NVMe固态硬盘。确实,这些方案存储容量大、带宽高,但实际用起来你会发…...
PLSduino:嵌入式平台轻量级偏最小二乘建模库
1. PLSduino:面向嵌入式平台的偏最小二乘建模与预测库1.1 技术定位与工程价值PLSduino 是一个专为资源受限嵌入式平台(Arduino Uno/Nano/Leonardo、ESP32 等)设计的轻量化偏最小二乘(Partial Least Squares, PLS)算法实…...
uniapp安卓应用实现开机自启动的完整配置指南
1. 为什么需要开机自启动功能? 很多智能设备(如工业平板、广告机、自助终端)都需要在通电后立即运行指定应用。比如商场的导购系统、工厂的生产看板、医院的叫号终端,都需要保证设备重启后业务系统能自动恢复。传统方案需要人工点…...

