Visual Studio Code中的Python-7月发行

我们很高兴地宣布,Python扩展的七月发行版现已可用于Visual Studio Code。您可以从市场上下载Python扩展,也可以直接从Visual Studio Code中的扩展库安装它。如果已经安装了Python扩展,则还可以通过重新启动Visual Studio Code来获取最新的更新。您可以在文档中阅读有关Visual Studio Code中Python支持的更多信息



我们在此版本中进行了51处改进,包括:



  • 增加了对新语言服务器的支持:Pylance
  • 聚集扩展
  • 将笔记本导出为HTML和PDF
  • 重新连接到调试器


如果您有兴趣,可以浏览此列表更改中的完整改进列表







: Pylance



几周前,我们宣布发布了Pylance,这是我们基于Microsoft Pyright静态类型检查工具的新语言服务器



Pylance是一种快速的语言服务器,它提供了许多功能来帮助您编写更好的代码,包括自动导入,无效代码检测,参数和返回类型信息,对多根工作区的支持等等。你可以阅读Pylance博客文章,详细了解这一点。







Pylance最近添加了上下文突出显示功能,可帮助您快速识别特定文件中符号的使用位置。







您可以从市场上安装Pylance扩展... 如果安装了Pyright扩展,则应将其卸载以使用Pylance扩展,以避免安装冲突以及重复的错误和警告,因为Pyance包含了所有Pyright功能。



如果您是Microsoft Python Language Server用户,建议您尝试Pylance。新的语言服务器大大改进了VSCode中的Python IntelliSense。因此,长期的计划是最终放弃Microsoft Python语言服务器作为Python扩展中受支持的选项。



聚集扩展



我们很高兴地宣布,此版本增加了对我们新的实验性扩展Gather的支持。Gather是一个反复出现的主题,我们期待社区反馈以提高Gather的准确性!该工具在记事本中分析并识别所需的代码依赖性,并执行代码清除,从而自动执行此复杂且耗时的任务。









您现在可以在市场上安装Gather 我们希望听到您的反馈!如果您有任何问题,请随时在注册他们vscode的Python GitHub的仓库。



将笔记本导出为HTML和PDF



此版本包括将笔记本导出为HTML和PDF的支持,只需单击一个按钮,即可轻松共享和展示笔记本!



请注意,导出为PDF需要安装TeX。







重新连接到调试器



使用此版本,您现在可以使用回调连接更轻松地启动远程调试器会话。



将ptvsd(VS Code中的Python调试器)连接到Python进程或远程计算机时,您需要配置远程Python进程以侦听附加请求,然后在VS Code中启动调试器会话以进行连接。



但是,如果您没有提供正确的时间,则连接可能会很棘手-该过程可能需要很长时间才能在远程计算机上运行,​​或者VS Code已超时等待连接。



在此版本中,我们增加了对设置调试器以建立连接的支持。现在,您可以设置一个远程Python进程以连接到特定地址(端口号或主机和端口元组),并在VS Code中运行Attach配置以开始侦听同一地址,以便它可以连接到该进程。



例如,您可以运行以下脚本:



     import debugpy
     debugpy.connect(('localhost',5678))

     debugpy.breakpoint()
     print("debugger stops here")


然后将launch.json配置添加到具有以下内容的VS Code中:



     {
          "name": "Python: Attach using listen",
          "type": "python",
          "request": "attach",
          "listen": {
                "host": "127.0.0.1",
                "port": 5678
          },
     },


现在,您可以在VS Code中启动调试器,以便它开始侦听连接请求。当您启动Python进程时,它会在特定的断点处停止。







请务必立即下载Visual Studio Code Python扩展,以尝试上述改进。如果您遇到任何问题或有任何建议,请Python VS Code GitHub页面进行报告



All Articles