在 Pycharm 安装使用black的方法详解


Posted in Python onApril 02, 2020

PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完 成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。

简介

针对代码风格不一致问题,导致的维护成本过高,针对性的镇定代码风格统一标准,是很有必要的。目前市面上用的比较多的python代码格式化工具有YAPF、Black。

Black,号称不妥协的代码格式化工具,它检测到不符合规范的代码风格直接就帮你全部格式化好,根本不需要你确定,直接替你做好决定。从而节省关注代码规范的时间和精力,关注编程。

安装 black 扩展

pip3 install black

安装目录

➜ servers which black
/Library/Frameworks/Python.framework/Versions/3.6/bin/black
➜ servers where black
/Library/Frameworks/Python.framework/Versions/3.6/bin/black

测试命令行使用

➜ mws git:(feature/datawarehouse-v3.0.0) ✗ python3 -m black celery_tasks/__init__.py
All done! :sparkles: :cake: :sparkles:
1 file left unchanged.

pycharm 中 集成 black

在 PyCharm 中打开 External tools

# On macOS:
PyCharm -> Preferences -> Tools -> External Tools

# On Windows / Linux / BSD:
File -> Settings -> Tools -> External Tools

在 Pycharm 安装使用black的方法详解

添加一个新的扩展工具

配置信息如下:

Name: Black
Description: Black is the uncompromising Python code formatter.
Program: /Library/Frameworks/Python.framework/Versions/3.6/bin/black
Arguments: "$FilePath$"
Working directory: $ProjectFileDir$

在 Pycharm 安装使用black的方法详解

如何使用 black 格式化代码

通过选择 Tools -> External Tools -> black 来格式化代码。

在代码区域按鼠标右键,选择 External Tools 中的 black

设置快捷键执行 black 格式化代码

打开 Preferences or Settings -> Keymap -> External Tools -> External Tools - Black

在 Pycharm 安装使用black的方法详解

black + File Watchers 自动格式化

确保 File Watchers插件可用,一般而言安装Pycharm应该会默认安装。

选择 Preferences or Settings -> Tools -> File Watchers 添加一个新的 watcher

Name: Black
File type: Python
Scope: Project Files
Program: /Library/Frameworks/Python.framework/Versions/3.6/bin/black
Arguments: $FilePath$
Output paths to refresh: $FilePath$
Working directory: $ProjectFileDir$
Uncheck "Auto-save edited files to trigger the watcher"

在 Pycharm 安装使用black的方法详解在 Pycharm 安装使用black的方法详解

特殊说明

两个设置中的参数Program使用 which black 查询出来的路径信息。

到此这篇关于在 Pycharm 安装使用black的方法详解的文章就介绍到这了,更多相关 Pycharm 安装使用black内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python根据时间生成mongodb的ObjectId的方法
Mar 13 Python
Windows下Python2与Python3两个版本共存的方法详解
Feb 12 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
Jun 11 Python
python3使用flask编写注册post接口的方法
Dec 28 Python
python+Django+pycharm+mysql 搭建首个web项目详解
Nov 29 Python
Python基础之变量基本用法与进阶详解
Jan 03 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
Jan 10 Python
Django中使用Json返回数据的实现方法
Jun 03 Python
python中Django文件上传方法详解
Aug 05 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
Dec 31 Python
解决python存数据库速度太慢的问题
Apr 23 Python
Python djanjo之csrf防跨站攻击实验过程
May 14 Python
Python Numpy中数据的常用保存与读取方法
Apr 01 #Python
Python PyQt5整理介绍
Apr 01 #Python
django之导入并执行自定义的函数模块图解
Apr 01 #Python
在脚本中单独使用django的ORM模型详解
Apr 01 #Python
Python视频编辑库MoviePy的使用
Apr 01 #Python
python json.dumps中文乱码问题解决
Apr 01 #Python
Django Admin后台添加数据库视图过程解析
Apr 01 #Python
You might like
教你如何用php实现LOL数据远程获取
2014/06/10 PHP
yii2的restful api路由实例详解
2019/05/14 PHP
对象特征检测法判断浏览器对javascript对象的支持
2009/07/25 Javascript
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
javascript继承之为什么要继承
2012/11/10 Javascript
抛弃Nginx使用nodejs做反向代理服务器
2014/07/17 NodeJs
node.js中的events.EventEmitter.listenerCount方法使用说明
2014/12/08 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
JsChart组件使用详解
2018/03/04 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
vue单页缓存方案分析及实现
2018/09/25 Javascript
JS实现吸顶特效
2020/01/08 Javascript
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
[02:28]DOTA2英雄基础教程 狼人
2013/12/23 DOTA
[05:42]DOTA2英雄梦之声_第10期_蝙蝠骑士
2014/06/21 DOTA
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
2018/05/25 Python
python ftp 按目录结构上传下载的实现代码
2018/09/12 Python
用于业余项目的8个优秀Python库
2018/09/21 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
基于python2.7实现图形密码生成器的实例代码
2019/11/05 Python
Python SQLAlchemy入门教程(基本用法)
2019/11/11 Python
学Python 3的理由和必要性
2019/11/19 Python
对tensorflow中的strides参数使用详解
2020/01/04 Python
Python实现图像的垂直投影示例
2020/01/17 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
2020/04/08 Python
python实现交并比IOU教程
2020/04/16 Python
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
致跳高运动员广播稿
2014/01/13 职场文书
先进党支部事迹材料
2014/01/13 职场文书
自主招生教师推荐信
2014/05/10 职场文书
党员服务承诺书
2014/05/28 职场文书
centos8安装MongoDB的详细过程
2021/10/24 MongoDB