码农如何提升自己的生产力?还是靠一些技巧和方法的,今天捞一下国外大佬们的东西回来,我们消化一下。英文原版:PyCharm - tips & tricks
当然我是扒成中文的版本了,和原文有差距,就是GIF图片我复制了JPG凑合看,介意的可以跳原文对照看看。
我们是人,我们各不相同,我们好奇心满满。虽然并非所有人都同意软件开发人员是普通人,但我们都同意,开发人员不仅在职业生活中,而且在工作之外,都非常注重效率。
我从2010年开始使用JetBrains产品,它们在我的职业生涯中为我提供了很好的服务。在这篇文章中,我想与大家分享我最喜欢的提高工作效率的捷径。我会根据我的个人喜好一一简单地指出。
1. 返回最近一次编辑处
Go back where you last edited.
- Action: last edit location
有关于开发人员实际花在编写代码和阅读代码上的时间的讨论。我个人可以从我的经验中看出,大约30%的时间我写代码,而其余的时间则花在四处浏览、阅读代码、阅读手册、找出事情的最终方向,以保持一致性,让其他开发人员,以及未来的我生活得更轻松。
我们都知道如何浏览一堆文件和滚动文件来读取代码库。现在设想有一个包含2000多个文件的大型项目。您开始编写第一个服务类方法,然后停下来,环顾四周,阅读单元测试,观察其他地方的模式,回复一条闲聊消息,大约2分钟后,您就有点不知所措了。我到底在这里干什么?我从哪里开始?
如果有一个快速的快捷方式返回到上次编辑的位置,那不是很酷吗?
这是到目前为止我最喜欢的捷径,它帮助我快速回到正轨,因为我一天要改变很多次上下文/项目。
请注意,您可以搜索导航所有可用的操作。我只想指出行动的名称供您搜索。
2. 导航功能
Nevigation
- Actions: Navigate Back 和 Navigate Forward
我们都在浏览网页。想象一下没有后退按钮的生活:)很难想象,对吧?当我浏览不同的层(如模型、视图、序列化程序)然后返回到模型、然后返回到服务时,我发现后翻/前翻(back/forward)快捷方式特别有用。在某个时刻,我有了“灵感”。我想回去验证那个时刻,完全按照我在“灵感时刻”之前看到的屏幕向前翻就可以了。
此外,还有其他有用的导航快捷方式。我特别喜欢使用“Go to Class”和“Go to File”。但是,如果您想搜索所有想要的内容,只需按Shift+Shift(双Shift键)。它将搜索类、方法名、文件、操作等。
3. 重命名类、文件和变量名
Rename class, file, and variable names
- Action: Rename…
PyCharm正在为世界编制索引。等等什么?是的,我说的是你的Python项目。那不是你的世界吗?好的由于我有点强迫症(英文是OCD, Obsessive-Compulsive Disorder ),我经常问自己,类或方法名称是否真的表达了他们的真实意图。我非常小心地编写干净的代码。你猜怎么着?我滥用了重命名功能,它不仅帮助我重命名当前文件中的某些内容,而且在任何地方都重命名它。甚至在字符串、注释、导入语句和许多其他地方。
不要滥用Rename!一定要慎之又慎。
我建议你在重命名一个相当普通的名字时要特别小心,PyCharm魔术可能会出错。例如,重命名迁移文件中的内容(您几乎很少会想做这样的重命名)。点击该预览查看将要重命名的内容。
4. 重构-移动对象
Refactor - Move things around
- Action: Refactor Move
你有没有想过把一堆有继承者或没有继承者的类移动到不同的位置?手动操作并找出需要剪切和粘贴的导入内容是非常烦人的。我会用这个动作来代替。
5. 提取方法和变量
Extract methods and variable
Actions: Extract Variable 和 Extract Method
保持你的方法尽可能的简短,但是当然,当你在做实验的时候,你不在乎你的方法有多大,有多丑。现在,您已经有了概念证明,让我们成为专业人士,花一些时间来清理它。使用有意义的变量名并在不同的方法中提取逻辑块。
6. 最近使用文档
Recent files
再次将其与web浏览器功能进行比较,当您记得看到了一个网站但不记得其名称时,导航历史记录尤其有用。当我知道我最近打开了一个我现在需要的文件,但不记得其全名时,我通常会使用此选项。
7. 其他一些小技巧
Others worth mentioning
- Action: Extend selection
- Actions: Clone Caret Above 和 Clone Caret Below
- Action: Replace…
7. 结论
有无限的可能性。查看PyCharm设置。疯狂起来吧,甚至编辑你最喜欢的快捷方式来挥洒你的技能,用你快速移动的能力给你的开发伙伴留下深刻印象,而不必使用你的慢速鼠标来完成任务。
你最喜欢什么?
您还使用了哪些功能强大的IDE?让我们就此展开辩论。
谢谢你的阅读。