VSCode python 的自动完成字符串参数
VSCode auto complete string params for python
我一直在四处寻找,看看是否可以为 VSCode 中的 Python 创建相同的行为来显示字符串参数输入,就像您可以在 JavaScript 中使用 jsdoc 一样。
JavaScript JSDoc 示例:
/**
* @method someMethod
* @description A special method.
* @param { "option1" | "option2" } param1 Choose an option.
*/
function someMethod(param1) {
console.log(param1);
}
因此在调用该方法时,VSCode 将为 param1 提供自动完成选项。
所以我正在寻找 Python 等效项,最好使用 google 文档字符串格式:
def some_method(param1: str) -> None:
"""A special method.
Args:
param1 (str): Choose an option. # HOW CAN WE ADD INTELLISENSE OPTIONS HERE??
"""
print(param1)
在VSCode中,由使用的语言服务器决定自动完成。当前'gold standard'为Python完成是Microsoft Pylance extension, which builds on Microsoft Pyright分析你的源代码。
Pyright 又依赖于类型推断和类型提示规范中的 type hints to understand what autocompletion options you have available. While this does include support for comments, there is no support for type hints in docstrings (this was explicitly rejected。
如果您习惯了 Typescript,Python 类型提示和 Pylance 的工作方式应该几乎相同。您自己的示例已经包含类型提示,并且您的示例的 文字 翻译将使用 literal types:
from typing import Literal
def some_method(param1: Literal["option1", "option2"]) -> None:
"""A special method."""
print(param1)```
然后您可以自动完成这些值:
.
(我注意到 appears to be a bug in the current VSCode or Pylance release 那里我只能通过将光标 放在 结束引号之后来自动完成字符串;我相信这会得到解决在未来的版本中)。
一个警告:Pylance 仍被标记为 预览 项目。但是,它改进得非常快,我在所有 Python 工作中都使用它。
我一直在四处寻找,看看是否可以为 VSCode 中的 Python 创建相同的行为来显示字符串参数输入,就像您可以在 JavaScript 中使用 jsdoc 一样。
JavaScript JSDoc 示例:
/**
* @method someMethod
* @description A special method.
* @param { "option1" | "option2" } param1 Choose an option.
*/
function someMethod(param1) {
console.log(param1);
}
因此在调用该方法时,VSCode 将为 param1 提供自动完成选项。
所以我正在寻找 Python 等效项,最好使用 google 文档字符串格式:
def some_method(param1: str) -> None:
"""A special method.
Args:
param1 (str): Choose an option. # HOW CAN WE ADD INTELLISENSE OPTIONS HERE??
"""
print(param1)
在VSCode中,由使用的语言服务器决定自动完成。当前'gold standard'为Python完成是Microsoft Pylance extension, which builds on Microsoft Pyright分析你的源代码。
Pyright 又依赖于类型推断和类型提示规范中的 type hints to understand what autocompletion options you have available. While this does include support for comments, there is no support for type hints in docstrings (this was explicitly rejected。
如果您习惯了 Typescript,Python 类型提示和 Pylance 的工作方式应该几乎相同。您自己的示例已经包含类型提示,并且您的示例的 文字 翻译将使用 literal types:
from typing import Literal
def some_method(param1: Literal["option1", "option2"]) -> None:
"""A special method."""
print(param1)```
然后您可以自动完成这些值:
(我注意到 appears to be a bug in the current VSCode or Pylance release 那里我只能通过将光标 放在 结束引号之后来自动完成字符串;我相信这会得到解决在未来的版本中)。
一个警告:Pylance 仍被标记为 预览 项目。但是,它改进得非常快,我在所有 Python 工作中都使用它。