又发现一个好玩的 Pycharm 插件,通过AI自动生成代码块注释

2023-10-27

经常在开发代码块的过程中都需要写大量的注释来完成对代码块的说明。作为一名程序猿可能经常在抱怨别人开发的代码块没有注释或是注释不清楚,但我们自己又不想把大量的时间花费在代码块注释的编写上面。

今天要说的这款插件是Mintlify Doc Writer,不仅支持Python,同时还支持了多种其他语言的文档注释的自动生成。比如,Java、JavaScript等等编程语言都可以通过AI自动生成代码块注释。

由于我们是以Python主题,这里使用Pycharm开发工具来介绍如何在开发python代码块的过程中使用AI生成代码块的注释。

首先,在pycharm中安装Mintlify Doc Writer插件,安装完成之后需要重新启动pycharm开发工具。
图片

这里开发几个比较常用的python代码块看看能否使用AI生成比较合适的python代码块注释,毕竟不用再绞尽脑汁的开发代码块的注释了,何乐而不为呢。

# It imports the logger from the loguru module.
from loguru import logger

# It imports the timeit module.
import timeit

def print_logs(message='日志信息'):
    """
    > This function prints a message to the console

    :param message: The message to be printed, defaults to 日志信息 (optional)
    """
    begin = timeit.default_timer()
    logger.info('日志信息:{}'.format(message))
    end = timeit.default_timer()
    logger.info('消耗时间:{} 秒'.format(str(end - begin)))

上面是我们开发了一个日志打印的函数,并且导入两个模块loguru、timeit到代码块中,我们使用AI生成了函数的功能说明以及导入的模块的注释,看起来效果还可以。

于是,我还想开发一个稍微不太常规的函数,看看能否生成能说明函数作用的注释效果。下面我们开发了一个读取文件内容的函数read_file_data来通过AI自动添加注释。

def read_file_data(n=0):
    """
    This function reads the data from the file and returns the data as a list of lists.

    :param n: The number of lines to read from the file. If n is 0, then the entire file is read, defaults to 0 (optional)
    """

    # It opens the file in read mode.
    with open('数据_{}.txt'.format(n), encoding='utf-8') as file:
        # It reads the data from the file.
        content = file.read()
        # It prints the content of the file.
        print(content.rstrip())

我们给read_file_data函数的每一行都执行了AI添加注释,并且给函数也添加了注释,效果也还是很理想的。准备在以后的公众号文章案例中就是用AI来生成注释了,哈哈~

使用AI生成注释的方法:上面我们已经给Pycharm开发工具安装了Mintlify Doc Writer插件,使用时只需要将鼠标的光标放在需要添加注释的代码所在行上面使用快捷键ctrl+shift+.,或者鼠标右键后选择’Generate Docs’即可直接生成AI注释。

图片

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

又发现一个好玩的 Pycharm 插件,通过AI自动生成代码块注释 的相关文章

  • 使用 python requests 模块时出现 HTTP 503 错误

    我正在尝试发出 HTTP 请求 但当前可以从 Firefox 浏览器访问的网站响应 503 错误 代码本身非常简单 在网上搜索一番后我添加了user Agent请求参数 但也没有帮助 有人能解释一下如何消除这个 503 错误吗 顺便说一句
  • 元组有什么用?

    我现在正在学习 Python 课程 我们刚刚介绍了元组作为数据类型之一 我阅读了它的维基百科页面 但是 我无法弄清楚这种数据类型在实践中会有什么用处 我可以提供一些需要一组不可变数字的示例吗 也许是在 Python 中 这与列表有何不同 每
  • 如何用python脚本控制TP LINK路由器

    我想知道是否有一个工具可以让我连接到路由器并关闭它 然后从 python 脚本重新启动它 我知道如果我写 import os os system ssh l root 192 168 2 1 我可以通过 python 连接到我的路由器 但是
  • 将html数据解析成python列表进行操作

    我正在尝试读取 html 网站并提取其数据 例如 我想查看公司过去 5 年的 EPS 每股收益 基本上 我可以读入它 并且可以使用 BeautifulSoup 或 html2text 创建一个巨大的文本块 然后我想搜索该文件 我一直在使用
  • Pandas/Google BigQuery:架构不匹配导致上传失败

    我的谷歌表中的架构如下所示 price datetime DATETIME symbol STRING bid open FLOAT bid high FLOAT bid low FLOAT bid close FLOAT ask open
  • 将 python2.7 与 Emacs 24.3 和 python-mode.el 一起使用

    我是 Emacs 新手 我正在尝试设置我的 python 环境 到目前为止 我已经了解到在 python 缓冲区中使用 python mode el C c C c将当前缓冲区的内容加载到交互式 python shell 中 显然使用了什么
  • 独立滚动矩阵的行

    我有一个矩阵 准确地说 是 2d numpy ndarray A np array 4 0 0 1 2 3 0 0 5 我想滚动每一行A根据另一个数组中的滚动值独立地 r np array 2 0 1 也就是说 我想这样做 print np
  • 在Python中连接反斜杠

    我是 python 新手 所以如果这听起来很简单 请原谅我 我想加入一些变量来生成一条路径 像这样 AAAABBBBCCCC 2 2014 04 2014 04 01 csv Id TypeOfMachine year month year
  • datetime.datetime.now() 返回旧值

    我正在通过匹配日期查找 python 中的数据存储条目 我想要的是每天选择 今天 的条目 但由于某种原因 当我将代码上传到 gae 服务器时 它只能工作一天 第二天它仍然返回相同的值 例如当我上传代码并在 07 01 2014 执行它时 它
  • 如何在 Python 中解析和比较 ISO 8601 持续时间? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 Python v2 库 它允许我解析和比较 ISO 8601 持续时间may处于不同单
  • 为什么 PyYAML 花费这么多时间来解析 YAML 文件?

    我正在解析一个大约 6500 行的 YAML 文件 格式如下 foo1 bar1 blah name john age 123 metadata whatever1 whatever whatever2 whatever stuff thi
  • 如何使用 Mysql Python 连接器检索二进制数据?

    如果我在 MySQL 中创建一个包含二进制数据的简单表 CREATE TABLE foo bar binary 4 INSERT INTO foo bar VALUES UNHEX de12 然后尝试使用 MySQL Connector P
  • pip 列出活动 virtualenv 中的全局包

    将 pip 从 1 4 x 升级到 1 5 后pip freeze输出我的全局安装 系统 软件包的列表 而不是我的 virtualenv 中安装的软件包的列表 我尝试再次降级到 1 4 但这并不能解决我的问题 这有点类似于这个问题 http
  • 从 NumPy ndarray 中选择行

    我只想从 a 中选择某些行NumPy http en wikipedia org wiki NumPy基于第二列中的值的数组 例如 此测试数组的第二列包含从 1 到 10 的整数 gt gt gt test numpy array nump
  • 如何使用原始 SQL 查询实现搜索功能

    我正在创建一个由 CS50 的网络系列指导的应用程序 这要求我仅使用原始 SQL 查询而不是 ORM 我正在尝试创建一个搜索功能 用户可以在其中查找存储在数据库中的书籍列表 我希望他们能够查询 书籍 表中的 ISBN 标题 作者列 目前 它
  • Python:XML 内所有标签名称中的字符串替换(将连字符替换为下划线)

    我有一个格式不太好的 XML 标签名称内有连字符 我想用下划线替换它 以便能够与 lxml objectify 一起使用 我想替换所有标签名称 包括嵌套的子标签 示例 XML
  • Python ImportError:无法导入名称 __init__.py

    我收到此错误 ImportError cannot import name life table from cdc life tables C Users tony OneDrive Documents Retirement retirem
  • 如何应用一个函数 n 次? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 假设我有一个函数 它接受一个参数并返回相同类型的结果 def increment x return x 1 如何制作高阶函数repeat可以
  • 安装 Python 3.5 包“socket”pycharm 时出错

    仅使用 PyCharm 或命令提示符无法安装此软件包 Collecting socket Using cached socket 0 5 tar gz Complete output from command python setup py
  • cv2.VideoWriter:请求一个元组作为 Size 参数,然后拒绝它

    我正在使用 OpenCV 4 0 和 Python 3 7 创建延时视频 构造 VideoWriter 对象时 文档表示 Size 参数应该是一个元组 当我给它一个元组时 它拒绝它 当我尝试用其他东西替换它时 它不会接受它 因为它说参数不是

随机推荐