• 在VS代码中编辑Python


    在VS代码中编辑Python

    Python扩展提供了许多用于在Visual Studio代码中编辑Python源代码的功能:

    也见Linting

    自动完成和智能感知

    为当前工作文件夹中的所有文件以及安装在标准位置的Python软件包提供自动完成和IntelliSense。

    要为安装在其他非标准位置的软件包启用IntelliSense,请python.autoComplete.extraPaths在设置文件中将这些位置添加到集合中(默认集合为空)。例如,您可能已在自定义位置安装了Google App Engine,在这种情况下,您可以按如下方式指定这些位置:

    视窗:

    "python.autoComplete.extraPaths": [
        "C:/Program Files (x86)/Google/google_appengine",
        "C:/Program Files (x86)/Google/google_appengine/lib" ]
    

    的MacOS / Linux的:

    "python.autoComplete.extraPaths": [
        "~/.local/lib/Google/google_appengine",
        "~/.local/lib/Google/google_appengine/lib" ]
    

    python.autoComplete.preloadModules设置还允许您通过预加载其信息来加速特定包的自动完成。例如:

    "python.autoComplete.preloadModules": ["numpy", "pandas", "matplotlib"],
    

    最后,python.autocomplete.addBrackets设置(默认为false)确定VS代码()在自动填充函数名称时是否自动添加括号()。例如,如果设置addBrackets为true:

      "python.autoComplete.addBrackets": true,
    

    然后写,import os然后os.getc,你会看到自动完成os.getcwd选择自动完成会添加os.getcwd()到源代码中并将光标放在括号内。如果设置为false,则仅os.getcwd添加到文件中。

    有关IntelliSense的更多信息,请参阅IntelliSense

    故障排除

    如果自动完成和IntelliSense不适用于自定义模块,请检查以下原因:

    原因
    python解释器的路径不正确 检查pythonPath设置。如果进行更正,请重新启动VS Code。
    自定义模块位于非标准位置(未使用pip安装)。 将位置添加到python.autoComplete.extraPaths设置并重新启动VS Code。
    VS Code未从将设置自定义模块路径的活动虚拟环境启动。 在命令提示符下启动VS Code并激活正确的虚拟环境,例如:(venv) ter@minal:~$ code

    在终端中运行选择/行(REPL)

    Python中:运行选择/ Line在Python的终端命令(Shift + Enter键)是被选中的任何代码,以一种简单的方式,或在当前行的代码,如果没有选择,并在Python航站楼运行。Python终端命令中的相同运行选择/行也可在上下文菜单中找到,以便在编辑器中进行选择。

    在终端/ REPL中运行的源代码是累积的,直到终端的当前实例关闭。

    如有必要,该命令将打开Python终端; 您还可以使用Python:Start REPL命令直接打开交互式REPL环境请注意,初始启动可能需要一些时间,特别是如果您运行的第一个语句是import

    首次使用Python:在Python终端命令中运行选择/行时,VS代码可以在该环境准备好之前将文本发送到REPL,在这种情况下,选择或行不会运行。如果遇到此行为,请再次尝试命令REPL已完成加载。

    注意:目前,使用Shift + Enter可使编辑器保持在同一行源代码中。问题480讨论了自动移动到下一行。

    格式化

    Python扩展支持使用autopep8(默认值),黑色或yapf进行源代码格式化。

    常规格式设置

    设置
    (python.formatting。)
    默认值描述
    提供商 "autopep8" 指定要使用的格式化程序,“autopep8”,“yapf”或“black”。

    格式化程序特定的设置

    以下设置适用于各个格式化程序。Python扩展查看当前pythonPath格式化程序。要在其他位置使用格式化程序,请在相应的自定义路径设置中指定该位置。

    格式化安装步骤参数设置
    (python.formatting。)
    自定义路径设置
    (python.formatting。)
    autopep8 pip install pep8 
    pip install --upgrade autopep8
    autopep8Args autopep8Path
    黑色 点子安装黑色 blackArgs blackPath
    yapf 点击安装yapf yapfArgs yapfPath

    使用自定义参数时,在命令行上用空格分隔的参数字符串的每个顶级元素必须是args列表中的单独项。例如:

    "python.formatting.autopep8Args": ["--max-line-length", "120", "--experimental"],
    "python.formatting.yapfArgs": ["--style", "{based_on_style: chromium, indent_ 20}"]
    "python.formatting.blackArgs": ["--line-length", "100"]
    

    在第二个示例中,顶级元素{based_on_style: chromium, indent_ 20}是大括号中包含的单个值,因此该值中的空格不会描绘单独的元素。

    故障排除

    如果格式化失败,请检查以下可能的原因:

    原因
    python解释器的路径不正确 检查pythonPath设置。
    格式化程序未安装在当前环境中 打开命令提示符,导航到pythonPath设置中指定的位置,然后运行pip install格式化程序。
    格式化程序的路径不正确。 检查相应python.formatting.<formatter>Path设置的值
    格式化程序的自定义参数不正确。 检查相应的python.formatting.<formatter>Path设置是否包含参数,并且python.formatting.<formatter>Args包含单个顶级参数元素的列表,例如"python.formatting.yapfArgs": ["--style", "{based_on_style: chromium, indent_ 20}"]

    使用黑色格式化程序时,VS代码在将源代码粘贴到编辑器时发出以下警告:黑色不支持“格式选择”命令。

    要防止出现此警告,请将以下条目添加到用户或工作区设置以禁用Python文件粘贴格式:

    "[python]": {
        "editor.formatOnPaste": false
    }
    

    重构

    Python扩展添加了以下重构命令:Extract VariableExtract MethodSort Imports

    提取变量

    提取当前范围内所选文本的所有类似事件,并将其替换为变量。新方法的名称为newvariableNNNNNN是随机数。

    调用者:

    • 上下文菜单:右键单击选择并选择“ 提取变量”
    • 命令选项板(⇧⌘P),然后是Python Refactor:Extract Variable
    • python.refactorExtractVariable命令分配键盘快捷键

    重构变量

    提取方法

    提取当前范围内所选表达式或块的所有类似事件,并将其替换为方法调用。新方法的名称为newmethodNNNNNN是随机数。

    调用者:

    • 上下文菜单:右键单击选择,然后选择“ 提取方法”
    • 命令选项板(⇧⌘P),然后是Python Refactor:Extract Method
    • python.refactorExtractMethod命令分配键盘快捷键

    将代码重构为方法

    排序进口

    Sort Imports使用isort包将来自同一模块的特定导入合并为单个import语句,并按import字母顺序组织语句。

    调用者:

    • 在编辑器中单击鼠标右键,然后选择Sort Imports(不需要选择)
    • 命令选项板(⇧⌘P),然后是Python Refactor:Sort Imports
    • python.sortImports命令分配键盘快捷键
    • 启用排序时保存文件

    排序导入语句

    python.sortImports.args设置中指定了isort的自定义参数,其中每个顶级元素(在命令行上用空格分隔)是数组中的单独项:

    "python.sortImports.args": ["-rc", "--atomic"],
    

    要使用自定义isort脚本,请使用该python.sortImports.path设置指定路径:

    其他配置可以存储在.isort.cfg文件中,如配置isort中所述

    在保存时排序导入

    要在保存文件时自动对导入进行排序,请将以下条目添加到用户或工作区设置:

    "[python]": {
        "editor.codeActionsOnSave": {
            "source.organizeImports": true
        }
    }
    

    下一步

    • Linting - 启用,配置和应用各种Python链接。
    • 调试 - 学习本地和远程调试Python。
    • 单元测试 - 配置单元测试环境并发现,运行和调试测试。
    • 基本编辑 - 了解强大的VS代码编辑器。
    • 代码导航 - 快速浏览源代码。
    • IntelliSense - 了解IntelliSense功能。
  • 相关阅读:
    U8 UAP 存储过程未提供该参数
    SQL exec 报错 找不到存储过程 'select * from TEMP_byhktb20191213104416697'
    U8修改存货扩展自定义项
    插入临时表时报在将 nvarchar 值 'config_category.metadata_item.popedom' 转换成数据类型 int 时失败
    拼接字符串发生的错误
    js 三种提取部分字符串的方法的 区别: slice(start, end) substring(start, end) substr(start, length)
    sqlserver 保留位数
    1月转01月
    焦点图插件-06
    通栏自适应通栏焦点图-05
  • 原文地址:https://www.cnblogs.com/it-tsz/p/9346120.html
Copyright © 2020-2023  润新知