vscode python远程开发最佳实践

文章目录

      • 环境
        • 插件
        • 踩坑
          • python类型提示不起作用
          • 配置`PYTHONPATH`
          • python 代码格式化无效
          • workspace

  • 前言
    最近因为remote-ssh从pycharm转到vscode开发, 再删掉pycharm强制使用vscode摸索了一周熟练之后发现vscode其实使用起来也很爽,一些踩坑和最佳实践方案汇总

环境

插件
  • remote-ssh
  • python (python语言支持扩展)
  • pylance(微软提供的python language server)
  • Markdown Preview Enhanced(markdown 扩展增强)
踩坑
python类型提示不起作用
  • Enumeration of workspace source files is taking longer than 10 seconds.
    其实是pylance挂了, 原因是workspace打开的文件太多了, 解决方案在 workspce下增加pyrightconfig.json,指定include某些自定义模块目录,或者exclude掉某些, 我的内容如下( 其他详细查看官网), 之后重启pylance(注: 如果pylance没有挂掉更改该配置会auto reload的不用重启)
    {
        "include": [
            "my-model",
            "my-query",
            "my-component",
            "my-quant",
            "my-bond"
        ]
    }
    
    • ctrl + shift + p > Python language 查看pylance是否启动
      在这里插入图片描述
    • 查看pylance日志
      vscode python远程开发最佳实践_第1张图片
配置PYTHONPATH
  • settings.json
    • mac
      {
       "terminal.integrated.env.osx": {
         "PYTHONPATH": "${workspaceFolder}/src",
         }
      }
      
    • win
      {
        "terminal.integrated.env.windows": {
          "PYTHONPATH": "${workspaceFolder}/src",
         }
      }
      
    • linux
      {
         "terminal.integrated.env.linux": {
          "PYTHONPATH": "${workspaceFolder}/src",
        }
      }
      
python 代码格式化无效

格式化选择的 black
手动执行发现报错 ImportError: cannot import name '_unicodefun' from 'click' (/home/rss/anaconda3/envs/venv/lib/python3.8/site-packages/click/__init__.py)
根据 github:click:issue 描述,装 click==8.0.2问题解决

workspace
{
	"folders": [
		{
			"path": "."
		},
		{
			"path": "v2_server"
		},
		{
			"path": "celery_tasks"
		}
	],
	"settings": {
		"terminal.integrated.env.linux": {
			"PYTHONPATH": "${workspaceFolder}",
		}
	},
	"launch": {
		"version": "0.2.0",
		"configurations": [
			{
				"name": "Debug_Workspace",
				"type": "python",
				"request": "launch",
				"program": "${file}",
				"console": "integratedTerminal",
				"justMyCode": false
			}
		]
	}
}

你可能感兴趣的:(Python技术,vscode,ide,编辑器)