microsoft/pylance-release
GitHub: microsoft/pylance-release
微软开发的 VS Code Python 语言服务器扩展,为 Python 开发提供高性能的 IntelliSense、类型检查和代码诊断功能。
Stars: 2099 | Forks: 1086
# Pylance
# 快速开始
1. 从应用市场安装 [Python 扩展](https://marketplace.visualstudio.com/items?itemName=ms-python.python)。Pylance 将作为可选扩展安装。
2. 打开一个 Python (.py) 文件,Pylance 扩展将被激活。
注意:如果你之前设置过 language server 并想尝试 Pylance,请确保在 `settings.json` 文件中使用文本编辑器,或在 Settings Editor UI 中将 `"python.languageServer"` 设置为 `"Default"` 或 `"Pylance"`。
# 功能特性

Pylance 为 Python 3 提供了一些出色的功能特性,包括:
* Docstrings
* 包含类型信息的签名帮助
* 参数建议
* 代码补全
* 自动导入(以及添加和移除导入的 code action)
* 边输入边报告代码错误和警告(诊断)
* 代码大纲
* 代码导航
* 类型检查模式
* 原生 multi-root workspace 支持
* Jupyter Notebooks 兼容性
* Semantic highlighting
* 用于基于事实的 Python 帮助、Pylance 文档和重构工作流的 Copilot chat 技能
有关最新发布的说明,请参阅[更新日志](CHANGELOG.md)。
# 设置与自定义
- [`python.analysis.languageServerMode`](docs/settings/python_analysis_languageServerMode.md)
- 提供预定义的配置,帮助用户根据其开发需求优化 Pylance 的性能。它控制 Pylance 提供的 IntelliSense 功能数量,允许你选择完整的 language service 功能,还是针对性能优化的轻量级体验。
- 默认值:`default`
- 可选值:
- `light`
- `default` (默认)
- `full`
- 描述:
- `default`:提供一种平衡的体验,默认启用了许多有用的功能。它确保 language server 为大多数用户提供足够的功能,而不会使系统过载。可以根据需要启用高级功能,从而允许以牺牲性能为代价进行进一步的自定义。
- `light`:专为寻求轻量级、内存高效设置的用户而设计。此模式会禁用各种功能,使 Pylance 的功能更像一个精简的文本编辑器。非常适合那些不需要完整的 IntelliSense 功能,并希望 Pylance 尽可能少消耗资源的用户。
- `full`:专为寻求最丰富功能集的用户而设计。此模式启用了 Pylance 的大部分功能,提供了最丰富的 IntelliSense 体验。非常适合那些想要访问所有可用功能的用户。
- 可以配置单独的设置以覆盖由 `languageServerMode` 设置的默认值。
- 基于模式的默认设置如下:
| 模式 | light | default | full |
| :----------------------------- | :--------- | :--------- | :--------- |
| python.analysis.exclude | ["**"] | [] | [] |
| python.analysis.useLibraryCodeForTypes | false | true | true |
| python.analysis.enablePytestSupport | false | true | true |
| python.analysis.indexing | false | true | true |
| python.analysis.userFileIndexFollowSymlinkedFolders | true | true | true |
| python.analysis.autoImportCompletions | false | false | true |
| python.analysis.showOnlyDirectDependenciesInAutoImport | false | false | true |
| python.analysis.packageIndexDepths | 见 | 下文 | 设置 |
| python.analysis.regenerateStdLibIndices | false | false | true |
| python.analysis.userFileIndexingLimit | 2000 | 2000 | -1 |
| python.analysis.includeAliasesFromUserFiles | false | false | true |
| python.analysis.functionReturnTypes | false | false | true |
| python.analysis.pytestParameters | false | false | true |
| python.analysis.supportRestructuredText | false | true | true |
| python.analysis.supportDocstringTemplate | false | false | true |
| python.analysis.nodeExecutable | "" | "" | "auto" |
- `python.analysis.typeCheckingMode`
- 用于指定执行类型检查分析的级别。
- 默认值:`off`。
- 可选值:
- `off`:不执行类型检查分析;生成未解析的 imports/variables 诊断。
- `basic`:包含 `off` 的所有规则 + `basic` 类型检查规则。
- `standard`:包含 `basic` 的所有规则 + `standard` 类型检查规则。
- `strict`:包含 `standard` 的所有规则 + `strict` 类型检查规则。
- 性能考量:
- 将 `python.analysis.typeCheckingMode` 设置为 `off` 可以通过禁用类型检查分析来提高性能,这在大型 codebase 中尤为明显,因为类型检查可能会消耗大量资源。
- `python.analysis.diagnosticMode`
- 用于允许用户指定希望 language server 分析哪些文件,以标记其代码中的问题。
- 可选值:
- `workspace`
- `openFilesOnly` (默认)
- 性能考量:
- 将 `python.analysis.diagnosticMode` 设置为 `openFilesOnly` 会将分析限制在打开的文件中,从而减少 Pylance 在大型 workspace 中需要处理的代码量,进而提高性能。
- [`python.analysis.include`](docs/settings/python_analysis_include.md)
- 应包含的目录或文件路径。如果未指定路径,Pylance 默认为包含 workspace 根目录的目录。路径可以包含通配符 `**`(一个目录或多级目录)、`*`(零个或多个字符的序列)或 `?`(单个字符)。
- 默认值:空数组
- [`python.analysis.exclude`](docs/settings/python_analysis_exclude.md)
- 不应包含的目录或文件路径。它们会覆盖 include 目录,允许排除特定的子目录。请注意,如果 exclude 路径中的文件被未排除的源文件引用(导入),它们可能仍然会被包含在分析中。路径可以包含通配符 `**`(一个目录或多级目录)、`*`(零个或多个字符的序列)或 `?`(单个字符)。如果未指定 exclude 路径,Pylance 会自动排除以下内容:`**/node_modules`、`**/__pycache__`、`.git` 以及任何虚拟环境目录。
- 默认值:空数组(或在 `light` 模式下为 `["**"]`)
- 性能考量:
- 排除不必要的文件或目录可以通过缩小分析范围来显著提高性能。例如,将 `python.analysis.exclude` 设置为 `["**"]` 将排除所有文件(当前打开的文件除外),从而最大程度地减少资源消耗。
- `python.analysis.useNearestConfiguration` (**实验性功能**)
- 启用时,Pylance 将在子目录中搜索并使用 `pyrightconfig.json` 或 `pyproject.toml` 文件,为每个配置创建虚拟 workspace。这允许为 codebase 的不同部分设置不同的类型检查设置。
- 默认值:`false`
- 可选值:
- `true`
- `false` (默认)
- 注意:
- 此功能为实验性功能,在大型 workspace 中可能会对性能产生影响。
- 虚拟 workspace 遵循 `python.analysis.exclude` 模式。
- 仅识别包含 `[tool.pyright]` 部分的 `pyproject.toml` 文件。
- **重要提示**:不同虚拟 workspace 中的文件彼此隔离。如果你需要一个 workspace 中的文件导入另一个 workspace 中的文件,必须在 `pyrightconfig.json` 或 `pyproject.toml` 中配置 `extraPaths` 以引用其他 workspace 目录。例如:
{
"extraPaths": ["../other-workspace"]
}
- `python.analysis.addFoldersForPythonProjects`
- 启用时,Pylance 将为通过 `python-envs.pythonProjects` 声明的每个项目添加一个虚拟 workspace 文件夹。这确保了每个子项目使用各自的解释器进行类型检查。
- 默认值:`false`
- 可选值:
- `true`
- `false` (默认)
- 注意:
- 每个子项目可能还需要其各自的 `extraPaths` 配置,以便跨项目导入能够正确解析。若要让 Pylance 自动配置这些内容,请启用 `python.analysis.addExtraPathsForPythonProjects`。
- `python.analysis.addExtraPathsForPythonProjects`
- **实验性功能。** 启用时,Pylance 会自动将通过 `python-envs.pythonProjects` 声明的每个项目的源代码根目录添加到 `extraPaths` 中,这样 monorepo 中各子项目之间的跨项目导入无需手动配置 `extraPaths` 即可解析。
- 源代码根目录按项目检测:如果存在 `src` 目录则为其路径;如果项目文件夹本身是一个 package(包含 `__init__.py`),则为其上一级目录;否则为项目文件夹本身。
- 每个项目的 `pyproject.toml` 中声明的可编辑/本地跨包引用会被递归跟随,因此,如果某个已注册的项目将同级 package 作为可编辑安装导入,它也会提取这些 package 的源代码根目录。这正是让像 dagster 这样的 monorepo 无需单独注册每个 package 即可解析的原因。支持识别以下依赖管理器格式:
- **uv** — 具有本地 `path` 的 `[tool.uv.sources]` 条目。
- **Poetry** — `[tool.poetry.dependencies]`、`[tool.poetry.dev-dependencies]` 和 `[tool.poetry.group..dependencies]` 中的 `path`/`develop` 条目。
- **PDM / Rye / PEP 508 / PEP 735** — `[project].dependencies`、`[project.optional-dependencies]`、`[dependency-groups]`、`[tool.pdm.dev-dependencies]` 和 `[tool.rye.dev-dependencies]` 中的 `file:` 直接引用(包括 `${PROJECT_ROOT}` 和 `{root:uri}` 根 token,以及 `-e`/`--editable` 条目)。
- 命名的、VCS 和远程 URL 需求将被忽略,而指向已构建归档文件(wheels/sdists)的引用将被跳过。
- 你配置的任何 `extraPaths` 都将被保留;检测到的源代码根目录将追加到其后。
- 默认值:`false`
- 可选值:
- `true`
- `false` (默认)
- [`python.analysis.ignore`](docs/settings/python_analysis_ignore.md)
- 应抑制其诊断输出(错误和警告)的目录或文件路径,即使它们是包含的文件或位于包含文件的传递闭包内。路径可以包含通配符 `**`(一个目录或多级目录)、`*`(零个或多个字符的序列)或 `?`(单个字符)。
- 默认值:空数组
- `python.analysis.excludeLibraryDiagnostics`
- 启用时,抑制来自库文件(site-packages、typeshed、捆绑的 stubs 等)的所有诊断,同时保留对用户编写的 workspace 文件和孤立文件的诊断。这在打开库源文件进行参考而不希望堆满“问题”面板时非常有用。
- 默认值:`false`
- `python.analysis.stubPath`
- 用于允许用户指定包含自定义 type stubs 的目录路径。每个 package 的 type stub 文件应位于其各自的子目录中。
- 默认值:`./typings`
- `python.analysis.autoSearchPaths`
- 用于根据一些预定义的名称(如 `src`)自动添加搜索路径。
- 可选值:
- `true` (默认)
- `false`
- [`python.analysis.extraPaths`](docs/settings/python_analysis_extraPaths.md)
- 用于指定用于 import 解析的额外搜索路径。这取代了旧的 `python.autoComplete.extraPaths` 设置。
- 默认值:空数组
- `python.analysis.includeExtraPathSymbolsInSymbolSearch`
- 在 Workspace Symbol 搜索中包含来自 `python.analysis.extraPaths` 的符号。
- 默认值:`false`
- 性能考量:
- 启用此设置可能会减慢 Workspace Symbol 搜索速度。
- 注意:
- 对于非 `py.typed` 库,仅包含通过 package `__init__.py` 中的 `__all__` 导出的符号。
- `python.analysis.includeVenvInWorkspaceSymbols`
- 在 Workspace Symbol 搜索中包含来自已安装第三方包(venv `site-packages`)的符号。
- 默认值:`false`
- 性能考量:
- 对于大型虚拟环境,启用此设置可能会显著减慢 Workspace Symbol 搜索速度。
- 仅在启用了 `python.analysis.indexing` 时生效。
- 注意:
- 仅包含安装在 `site-packages`(或在 Debian/Ubuntu 上的 `dist-packages`)中的 package 符号。标准库符号被排除在外。
- 对于非 `py.typed` 库,仅包含通过 package `__init__.py` 中的 `__all__` 导出的符号。
- 当搜索查询为空时,不返回 venv/库符号(结果集会太大)。无论查询如何,始终返回用户代码符号。
- 搜索的子 package 深度取决于 `python.analysis.packageIndexDepths`。默认情况下,仅索引顶级模块(深度为 1)。要包含更深子模块(例如 `django.views`)中的符号,请在 `packageIndexDepths` 中增加相应 package `depth`。
- `python.analysis.diagnosticSeverityOverrides`
- 用于允许用户根据需要覆盖单个诊断的严重级别。
- 接受的严重级别值:
- `error`(红色波浪线)
- `warning`(黄色波浪线)
- `information`(蓝色波浪线)
- `none`(禁用该规则)
- 可用作键的可用规则可以在[此处](DIAGNOSTIC_SEVERITY_RULES.md)找到
- 示例:
{
"python.analysis.diagnosticSeverityOverrides": {
"reportUnboundVariable": "information",
"reportImplicitStringConcatenation": "warning"
}
}
- `python.analysis.typeEvaluation`
- 用于允许用户根据需要覆盖类型评估器的行为。
- 可用作子键的可用规则可以在[此处](https://github.com/microsoft/pyright/blob/main/docs/configuration.md#type-evaluation-settings)找到
- 示例:
{
"python.analysis.typeEvaluation.enableReachabilityAnalysis": true,
"python.analysis.typeEvaluation.strictDictionaryInference": false
}
- `python.analysis.disableTaggedHints`
- 禁用带有针对变灰或删除线文本特殊提示的 hint 诊断。
- 接受值:
- `true`
- `false` (默认)
- [`python.analysis.useLibraryCodeForTypes`](docs/settings/python_analysis_useLibraryCodeForTypes.md)
- 用于在找不到 type stub 时解析 package 的源代码。
- 默认值:`true`(或在 `light` 模式下为 `false`)
- 接受值:
- `true` (默认)
- `false`
- 性能考量:
- 将 `python.analysis.useLibraryCodeForTypes` 设置为 `false` 可以在 type stub 不可用时,防止 Pylance 解析第三方库的源代码,从而减少资源使用,提高性能。
- [`python.analysis.indexing`](docs/settings/python_analysis_indexing.md)
- 用于指定 Pylance 是否应索引已安装的第三方库和用户文件,以改善自动导入、添加导入、workspace 符号等功能。
- 如果没有索引,自动导入、添加导入和 workspace 符号包含的信息将会减少。
- 默认值:`true`(或在 `light` 模式下为 `false`)
- 可选值:
- `true` (默认)
- `false`
- 性能考量:
- 将 `python.analysis.indexing` 设置为 `false` 来禁用索引,可以通过减少资源消耗来提高性能(特别是在大型项目中),但这会使自动导入和 workspace 符号搜索等功能找到的符号变少。
- `python.analysis.userFileIndexFollowSymlinkedFolders`
- 用于指定用户文件索引是否应跟随位于 workspace 中符号链接文件夹下的文件。
- 默认值:`true`
- 可选值:
- `true` (默认)
- `false`
- 性能考量:
- 在包含指向极大目录树符号链接的 workspace 中,禁用此设置可以提高索引性能。
- 注意:
- 此设置仅影响用户文件索引。它不会改变已安装的第三方库(包括 `site-packages` 或 `dist-packages` 中的包)的索引方式。
- 符号链接的单个文件仍会被索引;此设置仅控制通过符号链接文件夹发现的文件。
- 仅在启用了 `python.analysis.indexing` 时生效。
- 这可能会改变提供的导入建议。例如,如果同一个符号可以通过 `from lib import Symbol` 或 `from symlinked import Symbol` 导入,当 `symlinked` 是通过符号链接文件夹访问时,关闭此设置可以防止提示 `from symlinked import Symbol`。
- [`python.analysis.userFileIndexingLimit`](docs/settings/python_analysis_userFileIndexingLimit.md)
- workspace 中要索引的用户文件最大数量。索引文件是一项性能消耗大的任务。请使用此设置限制你希望我们索引的文件数量。如果输入 -1,我们将索引所有文件。
- 默认值:2000(或在 `full` 模式下为 -1)
- 性能考量:
- 增加此数字会导致 Pylance 为用户文件索引分配更多资源。
- [`python.analysis.packageIndexDepths`](docs/settings/python_analysis_packageIndexDepths.md)
- 用于按 package 覆盖已安装 package 下的索引级别。默认情况下,仅索引顶级模块(深度 = 1)。要索引子模块,请为每个要索引的子模块级别将深度增加 1。
- 如果 `depth` 设置为 `0`,该条目将被视为*排除前缀*并从索引中移除。排除是感知模块边界的:`pydantic.v1` 会排除 `pydantic.v1` 和 `pydantic.v1.*`,但不会排除 `pydantic.v10`。
- 默认值:
[
{ "name": "sklearn", "depth": 2 },
{ "name": "matplotlib", "depth": 2 },
{ "name": "scipy", "depth": 2 },
{ "name": "django", "depth": 4 },
{ "name": "flask", "depth": 2 },
{ "name": "fastapi", "depth": 2 },
{ "name": "cuda", "depth": 3, "includeAllSymbols": true }
]
或在 `full` 模式下
[
{ "name": "", "depth": 4, "includeAllSymbols": true }
]
- 接受值:
{
"name": "package name (str)",
"depth": "depth to scan (int)",
"includeAllSymbols": "whether to include all symbols (bool)"
}
如果 `includeAllSymbols` 设置为 `false`,则仅包含每个 package `__all__` 中的符号。当设置为 `true` 时,Pylance 将索引文件中的每个模块/顶级符号声明。
- 示例:
[
{ "name": "sklearn", "depth": 2, "includeAllSymbols": true },
{ "name": "matplotlib", "depth": 3, "includeAllSymbols": false }
]
- 排除示例:
[
{ "name": "ctypes", "depth": 0 },
{ "name": "pydantic.v1", "depth": 0 }
]
- 性能考量:
- 调整此设置会导致 Pylance 分配更多资源用于索引第三方库。
- [`python.analysis.persistAllIndices`](docs/settings/python_analysis_persistAllIndices.md)
- 用于指定是否应将所有第三方库的索引持久化到磁盘。
- 默认值:`true`
- 性能考量:
- 启用此设置可以通过减少重新索引第三方库的需求来提高启动性能。
- [`python.analysis.regenerateStdLibIndices`](docs/settings/python_analysis_regenerateStdLibIndices.md)
- 不依赖所有 Python 版本共享的 `stdlib.json` 索引,而是生成针对每个 workspace 特定 Python 版本和平台量身定制的唯一索引。与使用预构建的 stdlib 索引不同,此重新生成过程将影响性能。
- 默认值:`false`(或在 `full` 模式下为 `true`)
- 接受值:
- `true`
- `false` (默认)
- 性能考量:
- 启用此功能会为标准库创建自己的索引,从而可能影响性能。
- [`python.analysis.includeAliasesFromUserFiles`](docs/settings/python_analysis_includeAliasesFromUserFiles.md)
- 包含来自用户文件的别名符号。这将使别名符号出现在 `add import` 和 `auto import` 等功能中。
- 默认值:`false`(或在 `full` 模式下为 `true`)
- 接受值:
- `true`
- `false` (默认)
- 性能考量:
- 启用此功能会增加补全项数量并在发生更改时索引多个文件,从而可能影响性能。
- [`python.analysis.autoImportCompletions`](docs/settings/python_analysis_autoImportCompletions.md)
- 用于控制是否在补全中提供自动导入。这将影响补全中显示的项目数量和性能。
- 默认值:`false`(或在 `full` 模式下为 `true`)
- 接受值:
- `true`
- `false` (默认)
- 性能考量:
- 启用 `python.analysis.autoImportCompletions` 会增加补全项数量和资源消耗,从而可能影响性能。禁用它可以通过减少代码补全期间的计算机开销来提高性能。
- `python.analysis.showOnlyDirectDependenciesInAutoImport`
- 如果存在,则在 `auto import` 建议中仅显示在 `requirements.txt` 或 `pyproject.toml` 中声明的直接依赖项。这仅影响补全时的 `auto import`。`add import` code action 将继续显示所有可能的导入。
- 默认值:`false`(或在 `full` 模式下为 `true`)
- 接受值:
- `true`
- `false` (默认)
- `python.analysis.importFormat`
- 定义导入模块的默认格式。
- 接受值:
- `absolute` (默认)
- `relative`
- `python.analysis.completeFunctionParens`
- 为函数补全添加括号。
- 接受值:
- `true`
- `false` (默认)
- 性能考量:
- 禁用 `python.analysis.completeFunctionParens` 可以通过减少代码补全期间的开销来略微提高性能,尽管影响很小。
- `python.analysis.inlayHints.variableTypes`
- 启用/禁用变量类型的 inlay hints。
- 接受值:
- `true`
- `false` (默认)
- 性能考量:
- 通过将 `python.analysis.inlayHints.variableTypes` 设置为 `false` 来禁用变量类型的 inlay hints,可以通过减少生成这些提示所需的处理来提高性能,这在大型 codebase 中非常有利。
- `python.analysis.inlayHints.functionReturnTypes`
- 启用/禁用函数返回类型的 inlay hints。
- 默认值:`false`(或在 `full` 模式下为 `true`)
- 接受值:
- `true`
- `false` (默认)
- 性能考量:
- 禁用函数返回类型的 inlay hints 可以通过减少生成这些提示的开销来提高性能。
- `python.analysis.inlayHints.callArgumentNames`
- 启用/禁用调用参数名称的 inlay hints。
- 接受值:
- `off` (默认)
- `partial`
- `all`
- 性能考量:
- 将 `python.analysis.inlayHints.callArgumentNames` 设置为 `off` 可以通过减少在函数调用期间显示参数名称所需的处理来提高性能。
- `python.analysis.inlayHints.pytestParameters`
- 启用/禁用 pytest 函数参数的 inlay hints。
- 默认值:`false`(或在 `full` 模式下为 `true`)
- 接受值:
- `true`
- `false` (默认)
- 示例:
def test_foo(my_fixture):
assert(my_fixture)
变为
def test_foo(my_fixture: str):
assert(my_fixture)
- 性能考量:
- 禁用 pytest 参数的 inlay hints 可以通过减少生成这些提示相关的开销来提高性能。
- `python.analysis.fixAll`
- 执行全部修复时要运行的命令集合。
- 接受值:
- `source.unusedImports`
- `source.convertImportFormat`
- `source.convertImportStar`
- `source.addTypeAnnotation`
- `python.analysis.enablePytestSupport`
- 启用 pytest 的转到定义(goto def)和 fixture 的 inlay hint 支持。
- 默认值:`true`(或在 `light` 模式下为 `false`)
- 接受值:
- `true` (默认)
- `false`
- 性能考量:
- 通过将 `python.analysis.enablePytestSupport` 设置为 `false` 来禁用 pytest 支持,可以通过减少与为 pytest fixture 提供 IntelliSense 功能相关的开销来提高性能。
- `python.analysis.enableDjangoSupport` [实验性功能]
- 在 Pylance 中启用 Django 支持。启用后,Pylance 会检测 Django 项目,并通过文件叠加将虚拟内容合并到源代码文件中,从而为 ORM 生成的模型属性(例如 `objects`、反向关系和字段描述符)提供 IntelliSense。
- 需要仅在 Windows (x64/ARM64)、macOS (Apple Silicon) 和 Linux (x64/ARM64) 上可用的原生二进制文件。在不支持的平台上,此设置将被静默忽略。
- 默认值:`false`
- 接受值:
- `true`
- `false` (默认)
- `python.analysis.autoFormatStrings`
- 在字符串中键入 `{` 时,自动在字符串前面加上 `f`。
- 接受值:
- `true`
- `false` (默认)
- 性能考量:
- 禁用 `python.analysis.autoFormatStrings` 可以通过减少字符串格式化期间所需的处理来略微提高性能,尽管影响很小。
- `python.analysis.nodeExecutable`
- 用于运行 Pylance 的 node 可执行文件的路径。如果此值为空,Pylance 将使用 VS Code 的 node 可执行文件。如果设置为 `auto`,它将自动从 [nodejs](https://nodejs.org/dist/) 下载一个版本。
- 遇到内存不足问题时请设置此值。使用自定义的 node 可执行文件允许 Pylance 分配更多内存。
- 接受值:
- `任何可执行文件路径` 或 `auto`
- `python.analysis.nodeArguments`
- 使用 `python.analysis.nodeExecutable 时传递给 node 的额外参数。默认为 `--max-old-space-size=8192`。
- 接受值:
- `Node 接受的任何参数`
- `python.analysis.autoIndent`
- 键入 Python 代码时,根据语言语义自动调整缩进。
- 接受值:
- `true` (默认)
- `false`
- `python.analysis.autoSplitStrings`
- 分割字符串时自动添加引号和换行符。
- 接受值:
- `true` (默认)
- `false`
- `python.analysis.autoTranslateDocstrings`
- 使用 GitHub Copilot 自动将悬停提示中的 Python docstrings 翻译为用户的首选语言。
- 启用后,docstrings 将翻译为 GitHub Copilot 语言环境设置(`github.copilot.chat.localeOverride`)指定的语言。如果设置为 `auto`,Pylance 将使用 VS Code 的显示语言。翻译会保留 Python 代码块、关键字和 markdown 格式。
- 默认值:`false`
- 接受值:
- `true`
- `false` (默认)
- 注意:需要安装并激活 GitHub Copilot。
- 性能考量:
- 启用 `python.analysis.autoTranslateDocstrings` 可能会使悬停提示的显示速度明显变慢,因为在显示悬停内容之前需要调用 GitHub Copilot 进行 AI 驱动的翻译。
- `python.analysis.supportRestructuredText`
- 启用/禁用对 docstrings 中 reStructuredText 的支持。
- 默认值:`false`(或在 `full` 模式下为 `true`)
- 接受值:
- `true` (默认)
- `false`
- 性能考量:
- 通过将 `python.analysis.supportRestructuredText` 设置为 `false` 来禁用对 docstrings 中 reStructuredText 的支持,可以通过减少解析复杂 docstrings 的开销来提高性能。
- `python.analysis.aiCodeActions`
- 启用/禁用 AI 辅助的 code actions。需要启用 Copilot Chat 扩展。
- 此设置接受对象,其中键是可用的 AI 辅助 code actions,值为 `true` 或 `false`,用于启用或禁用每个操作。
- 可用作键的可用 code actions:
- `convertFormatString`
- `convertLambdaToNamedFunction`
- `generateDocstring`
- `generateSymbol`
- `implementAbstractClasses`
- 示例:
{
"python.analysis.aiCodeActions": {
"implementAbstractClasses": true,
"generateSymbol": true,
"generateDocstring": true
}
}
- `python.analysis.supportDocstringTemplate`
- 启用/禁用对生成 reStructuredText docstring 的支持。
- 默认值:`false`(或在 `full` 模式下为 `true`)
- 接受值:
- `true`
- `false` (默认)
- 示例:
def foo(arg):
"""|
标签:MITM代理, Python, SOC Prime, 开发工具, 无后门, 智能提示, 语言服务器, 逆向工具, 错误基检测, 静态代码分析