Rumah pembangunan bahagian belakang Tutorial Python Python IDE:PyCharm中的那些实用功能

Python IDE:PyCharm中的那些实用功能

Oct 19, 2016 pm 01:23 PM

 到目前为止,我用Eclipse已经有一些年头了,大部分的时间都是用来写Python(安装Pydev插件)以及C++(安装CDT插件)。

  最近我从一个好友那听说了PyCharm以及它新的免费社区版logr。我这个朋友用Eclipse也很长时间了,对PyCharm也是赞不绝口,所以我决定至少在家办公的时候试着用用PyCharm。目前为止,我已经深深的喜欢上了它,甚至于在日常工作时也用PyCharm(社区版采用Apache2授权)。

  以下我将会介绍一些在我在使用PyCharm时感到惊奇的一些事情。

13.png

 声明

  我无意批评Eclipse或者PyDev,我用了它们很多年,它们很棒!请记住,这是我的个人经验,你的或许有所不同。

 实时比较

  PyCharm 对一个文件里你做的改动保持实时的跟踪,通过在编辑器的左侧栏显示一个蓝色的标记。

13.png

  这一点非常方便,我之前一直是在Eclipse里面用命令“Compare against HEAD” 来比较一个文件前后的改动。

  在PyCharm中,你可以对你的改动一览无余。同时,点击那个标记,会显示出之前的内容以及一个工具栏:

13.png

  你可以很容易地回滚这些改动,在一个详尽的对话框中查看这些改动或是将之前的文本粘贴到剪切板上。

 提交时的比较预览

  在Eclipse 中,当你提交改动时,会有一个提交对话框向你展示将要被提交的文件列表。

  你可以双击其中任意一项来查看改动的对比:这时候,如果你看到代码里一些想修改的地方(比如一个拼错的单词,一段

  遗漏的文档,等等),那可就不爽了:你必须关闭所有的东西(包括带有你精心写好的提交注释的提交框),去找到那处惹人烦的代码,改正,然后从头再来一遍。

  PyCharm 有同样的特性,但是你的改动是可编辑的。我简直不能再去强调可以当场修正那些错误有多么棒啦!

13.png

  在提交过程中,我可以很容易地修复像上面那些类似的拼写错误。

  一个额外好处是,无论你因为何种原因关闭了提交对话框,当再次尝试提交时,它会保留你刚才填写的那些提交注释。

 提交时检查

  在提交过程中,我们还可以在实际提交前执行其他一些选项,像“优化导入(排序并移除未使用过的导入)“,检查变动集合中的待完成项等等。

13.png

  一个有意思的地方是”执行代码分析“那一项。。。

 代码审查

  你可以让PyCharm在一个文件,目录或整个项目里执行“代码审查”操作。它会在无需实际执行程序的情况下,

  找出存在问题以及相应的改进办法,比如类型检查,可静态的方法,违反代码规范等等问题。

  正如在上一节中解释过的,这也可以在提交时在发生改动的文件中自动完成。这是一个文件一次审查之后的结果:

13.png

  对于其中一些审查结果来说,你还可以应用一个修复建议。例如,对于“Function call can be replaced with set literal()”这一建议,我们可以选择相应的选项来修复。

  PyCharm 会将这句:

extensions = set(['.avi', '.mp4', '.mpg', '.mkv'])
Salin selepas log masuk

  自动替换为:

extensions = {'.avi', '.mp4', '.mpg', '.mkv'}
Salin selepas log masuk

  你可以关闭任何你不希望的审查,包括在项目一级。

 重构

  我一直在试图重命名一个模块,可在菜单项里一直找不到那一项。。。F2也无济于事。

  突然我注意到文件子菜单下面的”重构/重命名“一项,就想。。。会是它吗?果然就是!

  在你重命名一个模块时,PyCharm会询问你是否需要自动修改所有与之关联的项目。有福了!

  还有很多其他的重构项目,但目前为止我还没有机会一一尝试。

 关于过时代码的提示以及改进建议

  PyCharm可以告诉你代码里面过时的结构块,并且提出一些改进建议。比如,我有像下面一段这样的代码:

with nested(open(filename1), open(filename2)) as (f1, f2):
 <代码块>
Salin selepas log masuk

   

  PyCharm会明显的标注出nested:

13.png

  我用的是Python2.7,事实上你可以使用嵌套上下文管理器,但是,唉,我还得支持python的一些老版本,就保留了nested。

  但PyCharm提醒了我,这个事情本身还是很酷的。

 任务+特性 分支

  如同Eclipse一样(需要Mylin支持),PyCharm也支持基于任务的工作流(包括任务感知的上下文)。

  然而PyCharm本身自带了很多直接可用的连接器(GitHub,Mantis,Jira,Bugzilla,等等)。

  而且,当你开启一项任务时,它会询问你是否想要创建那个任务的一个特性分支,分支的名字可以配置。

13.png

  这就避免了必须手动创建一个新的分支,而这个操作确实挺繁琐的(拿到任务的ID,选择名称,等等)。

  这个是加分项。

 快速

  我观察到PyCharm在执行代码的自动完成时扫瞄代码的速度要远快于Eclipse,而且还不打断你当前的工作。

  当你想保存一个文件时,Eclipse会阻止你这么做因为它正在后台执行一个任务,这有多惹人烦。。。

 快速查看文档

  当你把光标挪到一个函数、方法,类或者别的什么上的时候,你会得到一个选项来浏览”快速文档“。看一眼:

13.png

  正如你看到的,它会用一种赏心悦目的格式展示方法的文档说明,还从代码使用说明中提示了参数的类型。。。即使该函数没有对应的文档说明,你还是会得到像下面这样的一个说明:

13.png

  很好!

 Docutils 支持

  PyCharm 还包括了对于doctils的一流支持,这让它很容易从集成开发环境中直接再生成文档。

  另一方面,它还包括了一个非常好的富文本(译者注:ReST即reStructuredTexteditor)编辑器(比Eclipse的IMHO好用的多):

13.png

 完善的插件系统

  跟据我的使用经验,在Eclipse里面安装插件是件挺痛苦的事情:

 很难找到你想要去的地方(提示: 帮助/安装新软件。。。);

你没有一个单一的索引,所以你得去网上去找那些插件源;

系统有时会因为库的依赖问题而崩溃,结果我就没装上那些我想要的插件(工作中还有其他人也同样遇到这个问题,最后不得不放弃);

  PyCharm的插件体验则要流畅地多。

  首先,它位于一个你认为它有可能会存在的地方:就在”设置”下面的一项:

13.png

你可以很容易地浏览插件:

13.png

  我快速安装了一个标记编辑器(和ReST一样),一个临时存放代码片段的插件,可以让我直接从选择的文本中快速地剪贴,并且预览代码,和SublimeText类似,还用一个漂亮的代码外观。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks Mar 05, 2025 am 09:58 AM

Tutorial ini menunjukkan cara menggunakan Python untuk memproses konsep statistik undang -undang ZIPF dan menunjukkan kecekapan membaca dan menyusun fail teks besar Python semasa memproses undang -undang. Anda mungkin tertanya -tanya apa maksud pengedaran ZIPF istilah. Untuk memahami istilah ini, kita perlu menentukan undang -undang Zipf. Jangan risau, saya akan cuba memudahkan arahan. Undang -undang Zipf Undang -undang Zipf hanya bermaksud: Dalam korpus bahasa semulajadi yang besar, kata -kata yang paling kerap berlaku muncul kira -kira dua kali lebih kerap sebagai kata -kata kerap kedua, tiga kali sebagai kata -kata kerap ketiga, empat kali sebagai kata -kata kerap keempat, dan sebagainya. Mari kita lihat contoh. Jika anda melihat corpus coklat dalam bahasa Inggeris Amerika, anda akan melihat bahawa perkataan yang paling kerap adalah "th

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html? Bagaimana saya menggunakan sup yang indah untuk menghuraikan html? Mar 10, 2025 pm 06:54 PM

Artikel ini menerangkan cara menggunakan sup yang indah, perpustakaan python, untuk menghuraikan html. Ia memperincikan kaedah biasa seperti mencari (), find_all (), pilih (), dan get_text () untuk pengekstrakan data, pengendalian struktur dan kesilapan HTML yang pelbagai, dan alternatif (sel

Penapisan gambar di python Penapisan gambar di python Mar 03, 2025 am 09:44 AM

Berurusan dengan imej yang bising adalah masalah biasa, terutamanya dengan telefon bimbit atau foto kamera resolusi rendah. Tutorial ini meneroka teknik penapisan imej di Python menggunakan OpenCV untuk menangani isu ini. Penapisan Imej: Alat yang berkuasa Penapis Imej

Cara Bekerja Dengan Dokumen PDF Menggunakan Python Cara Bekerja Dengan Dokumen PDF Menggunakan Python Mar 02, 2025 am 09:54 AM

Fail PDF adalah popular untuk keserasian silang platform mereka, dengan kandungan dan susun atur yang konsisten merentasi sistem operasi, peranti membaca dan perisian. Walau bagaimanapun, tidak seperti Python memproses fail teks biasa, fail PDF adalah fail binari dengan struktur yang lebih kompleks dan mengandungi unsur -unsur seperti fon, warna, dan imej. Mujurlah, tidak sukar untuk memproses fail PDF dengan modul luaran Python. Artikel ini akan menggunakan modul PYPDF2 untuk menunjukkan cara membuka fail PDF, mencetak halaman, dan mengekstrak teks. Untuk penciptaan dan penyuntingan fail PDF, sila rujuk tutorial lain dari saya. Penyediaan Inti terletak pada menggunakan modul luaran PYPDF2. Pertama, pasangkannya menggunakan PIP: Pip adalah p

Cara Cache Menggunakan Redis dalam Aplikasi Django Cara Cache Menggunakan Redis dalam Aplikasi Django Mar 02, 2025 am 10:10 AM

Tutorial ini menunjukkan cara memanfaatkan caching redis untuk meningkatkan prestasi aplikasi python, khususnya dalam rangka kerja Django. Kami akan merangkumi pemasangan Redis, konfigurasi Django, dan perbandingan prestasi untuk menyerlahkan bene

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch? Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch? Mar 10, 2025 pm 06:52 PM

Artikel ini membandingkan tensorflow dan pytorch untuk pembelajaran mendalam. Ia memperincikan langkah -langkah yang terlibat: penyediaan data, bangunan model, latihan, penilaian, dan penempatan. Perbezaan utama antara rangka kerja, terutamanya mengenai grap pengiraan

Pengenalan kepada pengaturcaraan selari dan serentak di Python Pengenalan kepada pengaturcaraan selari dan serentak di Python Mar 03, 2025 am 10:32 AM

Python, kegemaran sains dan pemprosesan data, menawarkan ekosistem yang kaya untuk pengkomputeran berprestasi tinggi. Walau bagaimanapun, pengaturcaraan selari dalam Python memberikan cabaran yang unik. Tutorial ini meneroka cabaran -cabaran ini, memberi tumpuan kepada Interprete Global

Cara Melaksanakan Struktur Data Anda Sendiri di Python Cara Melaksanakan Struktur Data Anda Sendiri di Python Mar 03, 2025 am 09:28 AM

Tutorial ini menunjukkan mewujudkan struktur data saluran paip tersuai di Python 3, memanfaatkan kelas dan pengendali yang berlebihan untuk fungsi yang dipertingkatkan. Fleksibiliti saluran paip terletak pada keupayaannya untuk menggunakan siri fungsi ke set data, GE

See all articles