Pycharm
入门导览
熟悉Pycharm
pycharm的项目视图使用Alt+1打开或者关闭

pycharm对于黄色警告可以使用Alt+Enter预览警告并快速修复,对于没有问题的语句可以使用Alt+Enter显示意图设置,选择使用注解指定返回值类型,键入float即可完成对find_average返回值的类型标注

停留在任意字符串上,连按两次Shift打开随处搜索对话框,在里面可以通过键入大小写选择切换大小写操作,那么字符串的大小写就切换完成了
编辑器基础知识
上下文操作
pycharm对于灰色警告使用Alt+Enter可以进行移除无用形参
对于if语句可以使用Alt+Enter应用德摩根定律操作,或者翻转if操作,来优化if语句
【注】:上下文操作的定义十分广泛,根据情况显示不同的意图设置
搜索操作
比起ctrl+Fpycharm提供了一种更为高级的查找,连按两次Shift开启随处查找/查找所有功能,Ctrl+Shift+A开启查找操作功能
【例】:可以通过键入显示行,来开启或者关闭显示行号选择器

扩展和收缩代码选取
通过Ctrl+W可以扩展代码选取,通过Ctrl+Shift+W可以收缩代码选取,W对应单词widen
行操作
使用Ctrl+/注释掉一行,再次使用可以取消注释;使用Shift+↓用于选中光标的以下行,使用ctrl+/注释多行,再次使用可以使用;使用Ctrl+D来复制当前行,在查找操作功能中键入删除行以实现删除当前行
代码段操作
移动代码段又被称为重新排列行,在pycharm中可以使用Alt+Shift+↓向下拉取当前行,向上同理;可以使用Ctrl+Shift+↓向下将整个方法下移。
折叠部分代码段可以使用Ctrl 减号,展开部分代码段使用ctrl 等号;折叠文件代码段使用Ctrl+Shift+-,展开文件代码段使用Ctrl+Shift+=
在实际操作的时候需要用一些模板代码包围所选代码段可以使用Ctrl+Alt+T,选择try...except模板包围所选代码段,T为Trap的缩写,可以使用Ctrl+Shift+Delete
多文本光标匹配
该功能主要用于html,markdown等标记语言,例如html中描述属性的<tr></tr>或者markdown中描述字体的<font></font>.选择font按下Alt+J可以选择到<font>,再次按下可以匹配到</font>
代码补全
基本补全
pycharm支持默认基本补全和显示激活基本补全,使用Ctrl+Space,补全的范围包括字典的键
【注】显式激活补全可能与操作系统的中英文输入法切换存在冲突,需要取消勾选
使用标签页补全
上述的显式激活补全又被称为标签页补全,使用Ctrl+Space可以调出标签页。选定需要补全的内容后,使用Enter会进行插入,使用Tab会进行替换。


使用后缀补全
常见的后缀补全包括键入.print,.if,.ifn,ifnn.其中.ifnn的全称为表达式 is not None
使用上下文信息智能补全
如果基本补全失效可以使用Ctrl+Shift+Space通过上下文信息(跨文件),进行智能补全
F-string补全
f-string其实是格式化字符串的别称,通过键入{变量名可以在格式化输出print(f"...")放入format表达式中,pycharm会自动补全
重构
重构菜单
通过选中相应的部分,按下Ctrl+Alt+Shift+T唤出重构菜单,列出当前可以使用的所有重构

重命名
使用Shift+F6可以批量重命名,这里请注意可能会遇到重命名不成功的情况,[动态]和[在代码中]任选其一,排除掉所有就可以重命名成功了

提取变量与方法
使用Ctrl+Alt+V可以提取局部变量Var重命名,使用Enter进行补全;使用Ctrl+Alt+M,可以提取到代码段进行重命名为方法
使用意图设置进行重构
部分重构可以使用意图设置中的快速修复进行,例如为方法添加一个形参y,通过Alt+Enter唤出意图设置,选择更改签名快速修复,为新的形参设置默认值,点击重构即可
就地重构
就地重构包括就地重命名代码,就地更改签名(更改函数形参)

代码辅助
还原移除代码

按上图所示打开,然后点击>>,可以替换
代码格式化
选中某行使用Ctrl+Alt+L可以进行代码格式化,若未选择任何行则会格式化整个文件,L为Layout的缩写;使用Ctrl+Alt+Shift+L可以唤出重新设置文件格式菜单,可以启用优化 import
形参信息
形参信息又被称为方法签名,使用Ctrl+P可以查看方法签名,其中P代表Parameter
快速弹出窗口
使用Ctrl+Q可以查看光标处符号的文档,如果符号为函数,那么文档对应的就是函数的开头注释,Q代表Query;使用Ctrl+Shift+I可以查看光标符号的定义,符号为函数,定义则会显示函数体

编辑器代码辅助
使用F2可以转到文件中高亮显示的错误,修正错误请使用Alt+Enter,使用Ctrl+F1可以展开警告说明警告说明中的示例是错误示例,使用Ctrl+Shift+F7可以高亮显示光标处文本的所有用法
导航
随处搜索
连按两次Shift唤出随处搜索菜单,其他搜索菜单的快捷键如下图,其中Symbol用来查找方法或者全局变量

文件中查找并替换
项目目录为Project/src/..,如果希望查找字符串在项目中的所有匹配项,可以使用Ctrl+Shift+F打开在文件中查找窗口;使用Ctrl+Shift+R打开在文件中替换
【注】这个过程涉及到作用域,所谓作用域就是文件目录
声明和用法
当光标位于方法用法时,使用Ctrl+B可以跳转到方法的声明,当光标位于方法声明中,再次使用Ctrl+B可以查看所有用法并跳转。需要更为详细的结果请在用法或声明处使用Alt+F7打开查找视图

文件结构
对于难以阅读的大型源文件,使用Ctrl+F12打开文件结构菜单,菜单支持查找功能(查找只需要输入单词前缀即可);也可以使用Alt+7将文件结构显示为工具窗口

最近的文件和位置
查看一个方法的实现过程,通常需要深入到库文件,这个时候需要返回到我的文件,可以使用Ctrl+E打开最近使用文件菜单,通过键入我的文件的名称(前缀),可以跳转回我的文件

再次打开最近使用文件,可以使用Delete想删除最近文件的历史记录
使用Ctrl+Shift+E可以在最近使用文件中搜索想要查找的代码
运行并调试
运行配置
使用Shift+F10可以不使用任何运行配置运行程序,如果向程序传递参数可以按住Shift点击运行/调试配置,打开配置菜单,保存运行配置

【注】:现在向程序传递参数这一功能可以使用argparser库+yaml配置文件来实现
调试工作流
对于出现异常的表达式,复制表达式到调试窗口,然后点击添加到监视

下面是调试工作流所使用的工具,在命中断点时选择步入查看问题,使用Ctrl+Alt+F8对表达式快速求值,而后修复问题;修复完问题选择重新运行,断点再次被命中,这时不想查看具体的调用过程选择步过;无异常抛出后,点击恢复程序,断点再次被命中,选择忽略断点;将文本光标移动到表达式点击嵌入框运行到光标处操作(或者直接按Alt+F9),可以直接运行到指定代码;最后点击停止可以结束调试

Git
IDE內部的Git集成
快速入门
- VCS获取
可以使用克隆操作克隆现有的Git仓库,连按两次Shift打开随处搜索弹出窗口,搜索字段键入克隆唤出VCS获取界面

- Git工作流
常见的Git工作流可以是:签出新分支->进行更改并提交->推送,匹配上述工作流的操作步骤如下:
- 签出新分支:
打开VCS微件,在列表中选择新建分支,为分支输入名称后使用Enter创建 - 进行更改并提交
修改文件后,可以提交更改的文件,使用Ctrl+K唤出提交工具窗口,勾选提交文件,输入提交消息 - 推送
执行提交后可以将分支推送到远程仓库,使用Ctrl+Shift+K唤出推送对话框,点击推送即可.

项目历史记录
使用Alt+9唤出Git工具窗口,Git工具窗口中心为提交树

仓库的所有分支都在工具窗口的左侧中,共分为了HEAD分支和本地分支,双击相应分支仅显示该分支的提交情况

通过筛选或者搜索指定提交,可以获得提交的元数据以及包含此提交的分支,还有此提交中更改的所有文件的文件树,这些都在工具窗口的右侧中显示

提交
提交工具窗口支持以自定义提交,选中需要提交的文件,编辑提交选项,然后提交,之后可以打开Git工具窗口查看提交信息


如果忘记添加一些更改的文件到最后的提交,可以选择提交工具窗口的修正功能,编辑上次提交,现在更改文件树会包含两个文件

签出与变基
考虑这样的一个使用场景,你与你的同事同时更新推送到main分支,那么main分支的更改会与你的更改产生冲突,解决方法如下:
首先,签出main分支,然后更新main分支,纳入远程仓库的潜在更改

因此提交应该被放在main分支的新提交E之后,可以使用变基功能实现此操作

更新feature分支结果如下

之后,还需要再远程仓库中进行更新,使用Ctrl+Shift+K唤出推送对话框,由于远程的feature分支与本地的feature并不相同,想要推送必须使用强制推送


重新排序与组合提交
重新排序与组合提交,都属于变基操作,pycharm提供互动式变基完成重排与压缩,重排通过移动提交与Fixup实现,组合提交通过选中提交并点击压缩实现,最后点击启动变基

【注】:Fixup的快捷键为Alt+F,压缩的快捷键为Alt+S
新建更改列表与搁置功能
若不想提交某些更改(某些注释仅适用于本地),可以将其移动到新的更改列表,新建过程如下:

此外通过使用搁置功能,将更改列表保存在本地,搁置中存储的更改可以稍后应用到分支上,操作如下:

如果需要应用到搁置窗口中的更改列表,可以通过右键选择取消搁置,在唤出界面后点击取消托管即可
追溯注解
对于配置文件yaml等可以通过在行号侧右键,通过点击Annotate with Blame追踪配置文件的修改,并定位代码作者

