在 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中使用不同编码读写txt文件详解
May 28 Python
菜鸟使用python实现正则检测密码合法性
Jan 05 Python
Python编写简单的HTML页面合并脚本
Jul 11 Python
离线安装Pyecharts的步骤以及依赖包流程
Apr 23 Python
浅谈Python中重载isinstance继承关系的问题
May 04 Python
Pytorch卷积层手动初始化权值的实例
Aug 17 Python
利用python计算时间差(返回天数)
Sep 07 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
Oct 17 Python
Django serializer优化类视图的实现示例
Jul 16 Python
python和go语言的区别是什么
Jul 20 Python
Python3+Flask安装使用教程详解
Feb 16 Python
python迷宫问题深度优先遍历实例
Jun 20 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 方便水印和缩略图的图形类
2009/05/21 PHP
php的日期处理函数及uchome的function_coomon中日期处理函数的研究
2011/01/12 PHP
thinkphp配置连接数据库技巧
2014/12/02 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
php实现的AES加密类定义与用法示例
2018/01/29 PHP
jquery 事件执行检测代码
2009/12/09 Javascript
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
Knockout text绑定DOM的使用方法
2013/11/15 Javascript
JavaScript 获取任一float型小数点后两位的小数
2014/06/30 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
JS实现兼容性较好的随屏滚动效果
2015/11/09 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
详解vue-cli3 中跨域解决方案
2019/04/10 Javascript
JavaScript获取某一天所在的星期
2019/09/05 Javascript
原生js实现贪吃蛇游戏
2020/10/26 Javascript
[00:57]英雄,你的补给到了!
2020/11/13 DOTA
浅谈python爬虫使用Selenium模拟浏览器行为
2018/02/23 Python
Python Pandas找到缺失值的位置方法
2018/04/12 Python
Django csrf 验证问题的实现
2018/10/09 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
2019/06/08 Python
解决yum对python依赖版本问题
2019/07/05 Python
协程Python 中实现多任务耗资源最小的方式
2020/10/19 Python
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
严选全球尖货,立足香港:Bonpont宝盆
2018/07/24 全球购物
意大利消费电子产品购物网站:SLG Store
2019/12/26 全球购物
介绍下Lucene建立索引的过程
2016/03/02 面试题
运动会致辞稿50字
2014/02/04 职场文书
结婚周年感言
2014/02/24 职场文书
环保倡议书100字
2014/05/15 职场文书
导游词之苏州盘门景区
2019/11/12 职场文书
如何使JavaScript休眠或等待
2021/04/27 Javascript
如何在CSS中绘制曲线图形及展示动画
2021/05/24 HTML / CSS
vue-cropper组件实现图片切割上传
2021/05/27 Vue.js
如何通过简单的代码描述Angular父组件、子组件传值
2022/04/07 Javascript