当前位置: 首页 > news >正文

Pycharm实用技巧

一、Pycharm 参数注释

在 PyCharm 中,在方法下输入三引号(""")就能自动生成参数注释:
    def input_combo_detail(self, scale, ptype_data, ptype_info, sku_info, unit_info, price, qty):
        """
        
        :param scale: 
        :param ptype_data: 
        :param ptype_info: 
        :param sku_info: 
        :param unit_info: 
        :param price: 
        :param qty: 
        :return: 
        """

二、异常排查

如果的功能失效,通常是由于文档字符串格式设置或插件冲突导致。以下是逐步排查和解决方法:

1. ‌检查文档字符串格式设置‌

PyCharm 支持多种文档字符串格式(如 reStructuredText、Google、NumPy 等),需确保你选择的格式与你预期的风格匹配:

‌操作步骤‌:

  • 打开设置:‌File → Settings‌ (Windows) 或 ‌PyCharm → Preferences‌ (macOS)。
  • 进入 ‌Tools → Python Integrated Tools → Docstrings‌。
  • 检查 ‌Docstring format‌ 是否设置为需要的格式(如 ‌reStructuredText‌ 或 ‌Google‌)。
  • 点击 ‌Apply‌ → ‌OK‌,重启 PyCharm 测试。

2. ‌验证代码语法和参数结构‌

确保函数定义正确且能被 PyCharm 正确解析:

‌示例‌:

def my_function(param1: int, param2: str) -> bool:
    """  # 在此处回车,应自动生成参数注释
    pass

‌检查点‌:
参数是否包含类型注解(如 param: int)。
函数是否有语法错误(如缺少冒号、缩进错误)。

3. ‌尝试手动触发代码补全‌

如果自动生成失效,可以手动触发代码补全:
输入 “”" 后按回车,然后按 ‌⌃␣‌ (Ctrl+Space) 或 ‌⌥⏎‌ (Alt+Enter) 调用补全建议。

4. ‌禁用插件冲突‌

某些第三方插件可能干扰 PyCharm 的默认行为:

‌操作步骤‌:

  • ‌File → Settings → Plugins‌。
  • 临时禁用近期安装的插件(尤其是代码生成类插件)。
  • 重启 PyCharm 后测试功能是否恢复。

5. ‌清除缓存并重启‌

缓存损坏可能导致解析异常:

‌操作‌:‌File → Invalidate Caches → Invalidate and Restart‌。

6. ‌检查 PyCharm 版本‌

  • 旧版本可能存在 Bug,新版本可能更改默认行为:
  • 升级到最新版:‌Help → Check for Updates‌。
  • 或回退到旧版本(如问题出现在升级后)。

7. ‌重置 PyCharm 设置(终极方案)‌

若以上无效,可尝试重置配置:

备份设置:‌File → Manage IDE Settings → Export Settings‌。
重置设置:‌File → Manage IDE Settings → Restore Default Settings‌。
重启 PyCharm。

三、不同文档字符串格式示例

  • ‌reStructuredText‌:
def foo(a, b):
    """
    :param a: Description of a
    :param b: Description of b
    :return: Description of return
    """
  • Google‌:
def foo(a, b):
    """
    Args:
        a: Description of a
        b: Description of b
    Returns:
        Description of return
    """

相关文章:

  • 8664蛋糕的美味值
  • 跨境电商新手入门:开启亚马逊之旅的实用指南
  • 远程控制中的云电脑是什么意思?1分钟学会用
  • 京东 h5st 5.1 分析
  • Centos 7 安装达梦数据库
  • @Autowired和@Resource的区别是?
  • Kubernetes 单节点集群搭建
  • 项目日记 -云备份 -项目认识与环境搭建
  • Android多线程通信机制
  • PyTorch PINN实战:用深度学习求解微分方程
  • 使用 Doris 和 Paimon
  • Vue.js 项目部署全解析:从开发到上线的关键旅程题
  • 【NLP】10. 机器学习模型性能评估指标(含多类别情况), ROC,PRC
  • Day 2
  • DC-6靶机详解
  • pfsense部署(特详细,小白零基础)
  • 钉钉(excel)能让表格中不是‘北京’的字符串自动加亮显示(方便查看)以及隔行填充严颜色是斑马色(方便查看)嘛
  • leetcode hot100普通动态规划/基础DP
  • C++之list类(超详细)
  • 审批工作流系统xFlow
  • 全国林业院校校长论坛举行,聚焦林业教育的创新与突破
  • 就规范涉企行政执法专项行动有关问题,司法部发布解答
  • 淄博一酒店房间内被曝发现摄像头,当地警方已立案调查
  • 商务部召开全国离境退税工作推进会:提高退税商店覆盖面,扩大入境消费
  • 讲座预告|以危机为视角解读全球治理
  • 现场丨在胡适施蛰存等手札与文献间,再读百年光华