VSCode、Pylance 如何获得正确的帮助弹出窗口?

问题描述 投票:0回答:1

我通过添加另一个类中的一些方法来增强一个类(Jira 的类来自 atlassian-python 包) 我的班级叫

JiraExtended

该类的原始方法显示如下: enter image description here enter image description here

我创建的显示方式是这样的,但函数参数的信息较少,例如: enter image description here enter image description here

我定义文档字符串的方式几乎相同。

def grant_user_permission(self, username : str = None, permissionschemeid : str|int = None, permission : str = "BROWSE_PROJECTS") -> None:
        """
        Grants a permission to a user (username) on a specified Permission Scheme.
        :username: the user's username to grant the permission to, current username if not specified.
        :permissionschemeid: The id of the permission scheme.
        :permission: The permission key to grant, "BROWSE_PROJECTS" if not specified.
        """
        if not permissionschemeid:
            raise Exception("Provide a username and permissionschemeid")
        if not username:
            username : str = self.myself()['name']

        url = self.resource_url(resource = f"permissionscheme/{permissionschemeid}/permission")
        self.post(url, data=json.dumps({"holder": {"type": "user", "parameter": username}, "permission": permission}))

Pylance 正确引导我的秘诀是什么?

python visual-studio-code pylance
1个回答
0
投票

确保您的类型注释清晰一致,并且正确包含类型注释的所有必要导入。

def grant_user_permission(self, username: str = None, permissionschemeid: str | int = None, permission: str = "BROWSE_PROJECTS") -> None:
    """
    Grants a permission to a user (username) on a specified Permission Scheme.

    :param username: the user's username to grant the permission to, current username if not specified.
    :type username: str, optional
    :param permissionschemeid: The id of the permission scheme.
    :type permissionschemeid: str or int, optional
    :param permission: The permission key to grant, "BROWSE_PROJECTS" if not specified.
    :type permission: str, optional
    :raises Exception: If permissionschemeid is not provided.
    """
    if not permissionschemeid:
        raise Exception("Provide a username and permissionschemeid")
    if not username:
        username: str = self.myself()['name']

    url = self.resource_url(resource=f"permissionscheme/{permissionschemeid}/permission")
    self.post(url, data=json.dumps({"holder": {"type": "user", "parameter": username}, "permission": permission}))
© www.soinside.com 2019 - 2024. All rights reserved.