Ubuntu22.04下vscode安装python代码格式化(Format Document)black模块及设置
相关:
如何在vscode中支持python的annotation(注解,type checking)——通过设置pylance参数实现python注解的type checking
ubuntu22.04系统环境下使用vs code安装pylint检查python的代码错误
pylance是检查并发现coding中的错误。
pylint是检查代码格式是否规范并给出提示,而代码格式化工具如black是对不规范风格的代码进行自动修改,这两个工具一个是发现不规范的地方,一个是对不规范的地方进行修改,但是要知道的一点是这两个工具在使用时是没有任何关联的。
=================================================
在vscode中,按键 ctrl+shift+p,打开命令框,打开user settings:

设置格式化的工具,这里设置为black:

执行格式化:
设置并安装好black后对于想要格式化的代码文件使用快捷键,ctrl+shift+i,便可格式化。
不同操作系统下vscode的格式化快捷键并不同,这里给出linux系统下的快捷键链接:
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf

===========================================
一个实例,下面的代码是没有格式化之前的:
import math, sys; def example1():
####This is a long comment. This should be wrapped to fit within 72 characters.
some_tuple=( 1,2, 3,'a' );
some_variable={'long':'Long code lines should be wrapped within 79 characters.',
'other':[math.pi, 100,200,300,9876543210,'This is a long string that goes on'],
'more':{'inner':'This whole logical line should be wrapped.',some_tuple:[1,
20,300,40000,500000000,60000000000000000]}}
return (some_tuple, some_variable)
def example2(): return {'has_key() is deprecated':True}.has_key({'f':2}.has_key(''));
class Example3( object ):
def __init__ ( self, bar ):
#Comments should have a space after the hash.
if bar : bar+=1; bar=bar* bar ; return bar
else:
some_string = """
Indentation in multiline strings should not be touched.
Only actual code should be reindented.
"""
return (sys.path, some_string)

按键 ctrl+shift+i,后:

可以看到代码的格式变得好看了很多,这就是 格式化模块black的作用。其实,我个人是不建议使用代码格式化的,因为你在编写代码的时候就尽量遵照pep8的规范就好了,而这个代码格式化的工具都是在你写完代码后使用的,这种事后修补的方法还是不如事前修补。当然如果你是在企业里coding,因而需要遵照一定的代码格式自然可以使用代码格式化工具在代码写完后校验一下风格,这时候建议使用的代码格式化插件为yapf,这是Google的Python代码格式化程序,而个人coding的话还是在coding的时候就做好格式化是最好的了。
================================================
Ubuntu22.04下vscode安装python代码格式化(Format Document)black模块及设置的更多相关文章
- Ubuntu14.04下如何安装Python爬虫框架Scrapy
按照官方文档的说明,安装scrapy 需要以下程序或者库: (1).Python 2.7 (2).lxml. Most linux distributions ships PRepackaged ve ...
- Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python)
Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python) 前提是已经安装了python2,python3 1)安装各种依赖库 sudo apt-get update ...
- VsCode写Python代码!这代码简直和大神一样规范!太漂亮了!
VsCode写Python代码!这代码简直和大神一样规范!太漂亮了! 转 https://www.jianshu.com/p/636306763d89 VsCode虽然没有Pycharm的功能齐 ...
- 下破解安装Python开发工具WingIDE4.1
步骤: 1.将系统时间调整到一个月之前,然后执行安装. 可以使用date命令调整系统时间,如:date -s '2012-08-14 10:00:00' 2.安装成功后,打开程序,按照提示信息,申请一 ...
- Ruby入门--Linux/Windows下的安装、代码开发及Rails实战
Ruby入门--Linux/Windows下的安装.代码开发及Rails实战 http://www.linuxidc.com/Linux/2014-04/100242.htm Ubuntu 13.04 ...
- ubuntu14.04下编译安装ambari-2.4.2.0
ubuntu14.04下编译安装ambari-2.4.2.0 编译前的准备工作 准备工作有: 系统参数 系统依赖(编译环境) 离线安装包 java环境 maven环境 Nodejs环境 git环境 a ...
- Ubuntu14.04下Ambari安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)
不多说,直接上干货! 写在前面的话 (1) 最近一段时间,因担任我团队实验室的大数据环境集群真实物理机器工作,至此,本人秉持负责.认真和细心的态度,先分别在虚拟机上模拟搭建ambari(基于CentO ...
- windows下如何安装Python、pandas
windows下如何安装Python.pandas 本篇主要涵盖以下三部分内容: Python.Pycharm的安装 使用Pycharm创建.运行Python程序 安装pandas 1.Python. ...
- Ubuntu 14.04 下手动安装Firefox的Flash插件
有时候我们不得不採用手动安装一些软件. Ubuntu 14.04 下手动安装Firefox的Flash插件有下面几步 1. 下载Flash插件 下载地址为http://get.adobe.com/cn ...
- eclipse在Ubuntu 13.04下的安装过程
eclipse在Ubuntu 13.04下的安装过程及问题小记 一.eclipse安装过程 首先确保在安装eclipse之前已经安装好Java虚拟机 1. eclipse官网下载压缩包 下载地址:ht ...
随机推荐
- Vue学习:19.插槽实例
来个简单示例练练手吧. 实例:插槽实例 思路 在封装表格组件时,通常使用默认插槽和作用域插槽来处理固定的自定义结构. 代码 根组件(APP.vue) <template> <div& ...
- java线程的park unpark方法
标签(空格分隔): 多线程 park 和 unpark的使用 park和unpark并不是线程的方法,而是LockSupport的静态方法 暂停当前线程 LockSupport.park();//所在 ...
- 5分钟带你了解RabbitMQ的(普通/镜像)集群
前言 让我们深入探讨RabbitMQ的集群配置,了解各种集群模式的利弊.本次讨论的重点是帮助您快速理解RabbitMQ集群的运作方式,以及选择最适合您需求的模式.好的,话不多说.在RabbitMQ中, ...
- 解决TypeError: 'NoneType' object is not subscriptable
1.捕获异常的方式try: img_list = img_list["name"]except: img_list = "" 2.对象进行判断if img_li ...
- c# 基础小知识备忘录
记性不大好,记下来 First 和 FirstOrDefault First方法:返回List集合序列中的第一个符合条件的元素,如果没有查找到,则抛出运行时异常. FirstOrDefault方法: ...
- CentOS7安装最新版ruby
背景 直接通过yum安装的ruby版本太低,不能满足redis.fpm等软件的需求. 系统环境 CentOS7 安装步骤 下载ruby http://www.ruby-lang.org/en/down ...
- Android 各层架构
Android应用框架层和硬件抽象层以及底层之间的关系 1. JNI技术: (1).JNI技术简单的说就是在本地Java语言声明本地方法和加载动态链接库(.so文件) (2).动态链接库(.so文件) ...
- [ABC184F] Programming Contest题解
前置知识 meet in middle (折半搜索) 会的大佬请跳过 不会的请自己前往oi wiki或CSDN(百度吧,少年) 解题思路 纯暴力 看完题目考虑将每一种情况计算出来,排序后找不超过T的最 ...
- 3568F-翼辉SylixOS国产操作系统演示案例
- MFC CFileDialog DoModal()无法弹出窗口,直接返回IDCANCEL
最近需要用VS2017在MFC中加一个文件浏览窗口,采用了如下方式 1 CFileDialog Dlg(TRUE); 2 int res = Dlg.DoModal(); 3 if(res == ID ...