linux下python怎么用vscode设定yapf

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下python怎么用vscode设定yapf相关的知识,希望对你有一定的参考价值。

  为VSCode安装扩展
  用VSCode编程是需要依赖扩展的。写Python需要安装python的扩展,写C++需要安装C++的扩展。刚打开编辑器的时候,它一般会推荐一些扩展,你如果什么都不知道,可以先安装官方推荐的这些扩展:
  修改VSCode的一些选项的默认值
  VSCode有很多选项可以被修改,其各个选项都有默认值,这些默认值存储在"\\settings.json"中(不过我没找到这个文件),用户如果想修改某些选项的值(比如:修改字体的大小),VSCode会自动帮我们生成一个“settings.json”文件,然后我们直接在这个文件中配置自己想要的值即可。
  VSCode还没有创建"settings.json"文件:
  VSCode帮我们创建了"settings.json"文件:
  我们修改字号,让字体大一些。修改完后,保存一下,自定义的值就会覆盖默认值,修改就生效了。
  用VSCode编写和调试python程序
  下面就开始用VSCode编程了。因为python的配置超简单,我们以python为例来说明一下。
  https //segmentfault com/q/1010000005897116
  VSCode是以文件夹作为项目单位的。所以,我们如果要新建一个python项目的话,需要新建一个文件夹,然后在这个文件夹里面放置.py文件。然后让VSCode"打开文件夹",这样VSCode就能识别这个项目了。(当然可以用VSCode直接创建文件夹和文件。)
  先创建test_python文件夹,里面创建一个test.py文件。
  然后用VSCode加载它:
  加载后的样子。可以看到,因为安装了python扩展,已经有高亮等效果了。
  下面开始调试。
  很显然要选择python选项:
  然后VSCode为我们自动生成了"launch.json"文件,此文件有很多配置项,有的选项是默认从"settings.json"中取值的(比如"config.python.pythonPath")。如果"settings.json"中没有配置它们的话,调试时可能会无法启动。
  同时,项目文件夹下面还自动生成了".vscode"文件夹。文件"launch.json"就在这个文件夹中。此时VSCode才算是真正意义上接手了这个项目文件夹。
  网上的教程里,直接先在"settings.json"中把"python.pythonPath"先配置了一下,我当时不是太理解。现在看来,我们也需要配置一下了。
  配置完之后,就可以正常调试程序了。
  用VSCode调试带参的Python程序
  修改test.py里面的代码,让它能打印参数(修改后的代码见下面的图片)。
  修改launch.json,找到"configurations"中"name"为"Python"的那个配置块,给它添加"args"项,如下图所示:
  添加前的配置块:
  添加后的配置块:
  文件launch.json修改完毕后,按F5调试程序,可以看到控制台输出的结果:
  在按F5调试时,VSCode每次都会在程序入口处暂停住,这是配置项"stopOnEntry"在起作用,将其改成false后就不会出现这种情况了。
  用VSCode自动格式化代码
  VSCode“自动格式化代码”的快捷键是“Alt+Shift+F”。要格式化Python代码,需要安装Python包yapf(或autopep8、等)。
  在命令行下执行:
  [plain] view plain copy
  python -m pip install yapf
  然后配置"settings.json",启用yapf:
  用VSCode对python代码进行语言分析
  VSCode使用python的语言分析(写python代码的时候,编辑器会提示哪里出错,哪里的代码格式不规范),可以安装flake8(或pylint、等):
  在命令行下执行:
  [plain] view plain copy
  python -m pip install flake8
  然后配置"settings.json",启用flake8:
  更换文件图标主题(使VSCode左侧的资源管理器根据文件类型显示图标):
  可以选择已经存在的文件图标主题:"文件"->"首选项"->"文件图标主题"->"Seti(Visual Studio Code)"。
  你也可以安装“vscode-icons”插件,安装的方式:
  在“扩展(Ctrl+Shift+X)”中,搜索“vscode-icons”,然后安装并重新加载它,然后VSCode会让你执行一些操作,以激活"vscode-icons"插件。操作为:
  "文件"->"首选项"->"文件图标主题"->"VSCode Icons"。对应到英文的话,应该是"File" -> "Preferences" -> "File Icon Theme"->"VSCode Icons"。
  Guides(缩进线插件,让代码看起来更清晰):
  在“扩展(Ctrl+Shift+X)”中,搜索“Guides”,然后安装并重新加载它即可。
参考技术A 如何在 VScode 中配置 Python 的交互式命令环境 遇到的问题总结: split的用法:line.split()就是分开出左右两边的值,在默认的情况下是以一个空格或者多个空格为分割符的, has_key()的用法:是查看字典数据类型中有没有这么一个关键字。 参考技术B 调试开始后,调试控制台的最下面一行不是可以交互调试嘛 这还不爽的话,launch.json里加一个`python -i`

用VSCode写python的正确姿势(转载)

最近在学习python,之前一直用notepad++作为编辑器,偶然发现了VScode便被它的颜值吸引。用过之后发现它启动快速,插件丰富,下载安装后几乎不用怎么配置就可以直接使用,而且还支持markdown。当然,最主要的还是好看:p
效果图:

技术分享

VScode下载地址

安装python插件
  1. 打开VScode,Ctrl+p
  2. 输入 "ext install python",搜索时间可能会比较长
  3. 选择下载量最高的那个插件点击安装(根据网络情况,安装时间不确定,我当初装了挺久,我这边已经下载好了所以显示卸载)

技术分享

到这边VScode就可以编辑python代码了,编辑完代码按F5即可运行。初次运行会让你选环境,选择python即可。

默认按F5后需要再按一次F5程序才会运行,如果要按F5马上运行需要将launch.json文件的 "stopOnEntry": true,改为 "stopOnEntry": false。

推介个插件,vscode-icons可以使VScode左侧的资源管理器根据文件类型显示图标

配置flake8

安装flake8之后写代码的时候编辑器就会提示哪里出错,代码格式不规范也会提示

  1. 打开命令行
  2. 输入 "pip install flake8"
  3. 安装flake8成功后,打开VScode,文件->首选项->用户设置,在settings.json文件中输入"python.linting.flake8Enabled": true

技术分享

技术分享

配置yapf

安装yapf之后在VScode中按Alt+Shift+F即可自动格式化代码

  1. 打开命令行
  2. 输入 "pip install yapf"
  3. 安装yapf成功后,打开VScode,文件->首选项->用户设置,在settings.json文件中输入"python.formatting.provider": "yapf"

技术分享

技术分享

几个小技巧
  1. 查看函数或者类的定义
    Ctrl+鼠标左键点击函数名或者类名即可跳转到定义处,在函数名或者类名上按F12也可以实现同样功能

  2. 更改变量名
    在变量名上按F2即可实现重命名变量

  3. python断点调试
    在行号的左边点击即可设置断点,在左边的调试界面可以查看变量的变化
    技术分享

  4. 隐藏菜单栏
    这个属于个人习惯,如果你也感觉菜单栏很碍眼,可以点击查看->切换菜单栏,即可隐藏菜单栏。需要菜单栏的时候按Alt键即可查看

  5. 设置快捷键
    文件->首选项->键盘快捷方式,将需要的修改的快捷键的整个大括号里面的内容复制到右边keybindings.json文件中,然后修改“key”的值为你需要的快捷键即可。我这边只修改了复制一行和删除一行的快捷键。
    技术分享

最后

有什么需要补充或者哪里有错误的欢迎大家指出(??`ω′?)

参考

Python on Visual Studio Code

pythonVSCode
这里面有很详细的教程和演示gif









以上是关于linux下python怎么用vscode设定yapf的主要内容,如果未能解决你的问题,请参考以下文章

jupyter环境变量怎么设定

python 在vscode下自动补全

vscode代码保存后的exe文件是啥

vscode中配置@路径提示

vscode Python环境调试输出很多没用的东西,怎么把这些东西去掉,如图

用vscode编写Python