>  기사  >  백엔드 개발  >  Python IDE: PyCharm의 실용적인 기능 분석

Python IDE: PyCharm의 실용적인 기능 분석

巴扎黑
巴扎黑원래의
2017-04-30 15:23:551605검색

지금까지 나는 몇 년 동안 Eclipse를 사용해 왔으며 대부분의 시간은 Python(Pydev 플러그인 설치)과 C++(CDT 플러그인 설치)을 작성하는 데 소비되었습니다.

최근 친구로부터 PyCharm과 새로운 무료 커뮤니티 버전 logr에 대해 들었습니다. 이 친구는 오랫동안 Eclipse를 사용해왔고 PyCharm을 높게 평가했기 때문에 집에서 일할 때는 최소한 PyCharm을 사용해 보기로 했습니다. 지금까지 저는 PyCharm에 푹 빠져 일상 업무에서도 PyCharm을 사용하고 있습니다(커뮤니티 버전은 Apache2에서 라이센스를 받았습니다).

아래에서는 PyCharm을 사용하면서 놀랐던 점 몇 가지를 소개하겠습니다.

성명

저는 Eclipse나 PyDev를 비판하려는 것이 아닙니다. 저는 그것들을 수년 동안 사용해왔고 훌륭합니다! 이는 저의 개인적인 경험이므로 여러분의 생각과 다를 수 있다는 점을 참고해 주시기 바랍니다.

실시간 비교

PyCharm은 편집기의 왼쪽 열에 파란색 마커를 표시하여 파일의 변경 사항을 실시간으로 추적합니다.

이것은 매우 편리합니다. Eclipse에서 "HEAD와 비교" 명령을 사용하여 파일 전후의 변경 사항을 비교했습니다.

PyCharm에서는 변경 사항을 한눈에 확인할 수 있습니다. 동시에 마크를 클릭하면 이전 콘텐츠와 도구 모음이 표시됩니다.

이러한 변경 사항을 쉽게 롤백하고 자세한 대화 상자에서 확인하거나 이전 텍스트를 클립보드에 붙여 넣을 수 있습니다.

제출 시 비교 미리보기

Eclipse에서 변경 사항을 커밋하면 커밋 대화 상자에 커밋될 파일 목록이 표시됩니다.

항목 중 하나를 두 번 클릭하면 변경 내용을 비교할 수 있습니다. 이때 코드에서 수정하려는 내용(예: 맞춤법이 틀린 단어, 단락

)이 있는 경우 문서 누락 등) 재미가 없습니다. 모든 것을 닫고(주의 깊게 작성한 커밋 주석이 있는 커밋 상자 포함), 문제가 되는 코드 부분을 찾아 수정하고 다시 시작해야 합니다.

PyCharm에는 동일한 기능이 있지만 변경 사항은 편집 가능합니다. 그 자리에서 실수를 바로잡을 수 있다는 것이 얼마나 대단한지 아무리 강조해도 지나치지 않습니다!

위와 같은 오타는 제출 과정에서 쉽게 수정할 수 있습니다.

추가 보너스는 커밋 대화 상자를 닫는 이유에 관계없이 다시 커밋을 시도할 때 방금 작성한 커밋 주석이 유지된다는 것입니다.

제출시 확인

커밋 프로세스 중에 실제 커밋 전에 "가져오기 최적화(사용하지 않는 가져오기 정렬 및 제거)", 변경 세트에서 보류 중인 항목 확인 등과 같은 몇 가지 다른 옵션을 수행할 수도 있습니다.

흥미로운 점은 "코드 분석 수행" 항목입니다. . .

코드 검토

PyCharm에 파일, 디렉터리 또는 전체 프로젝트에 대한 "코드 검토" 작업을 수행하도록 요청할 수 있습니다. 실제로 프로그램을 실행하지 않고 이 작업을 수행합니다

타입 체크, 정적 메소드, 코드 스펙 위반 등 기존 문제점과 그에 따른 개선 방법을 알아보세요.

이전 섹션에서 설명한 대로 이 작업은 커밋 시 변경된 파일에서 자동으로 수행될 수도 있습니다. 다음은 파일을 한 번 검토한 결과입니다.

이러한 검토 결과 중 일부에 대해서는 수정 권장 사항을 적용할 수도 있습니다. 예를 들어, "함수 호출은 set literal()로 대체될 수 있습니다"라는 제안의 경우 해당 옵션을 선택하여 수정할 수 있습니다.

PyCharm은 다음 문장을 해석합니다:

extensions = set(['.avi', '.mp4', '.mpg', '.mkv'])

다음으로 자동 대체:

extensions = {'.avi', '.mp4', '.mpg', '.mkv'}

프로젝트 수준을 포함하여 원하지 않는 검토를 끌 수 있습니다.

리팩토링

모듈 이름을 바꾸려고 했지만 메뉴에서 해당 항목을 찾을 수 없습니다. . . F2도 도움이 되지 않습니다.

갑자기 파일 하위 메뉴에서 "Refactor/Rename" 항목을 발견하고 생각했습니다. . . 그럴 수도 있지? 실제로 그렇습니다!

모듈 이름을 바꾸면 PyCharm은 해당 모듈과 관련된 모든 프로젝트를 자동으로 수정할 것인지 묻습니다. 축복 받은!

다른 리팩토링 프로젝트도 많이 있지만 지금까지는 모두 시도해 볼 기회가 없었습니다.

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

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

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

  PyCharm会明显的标注出nested:

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

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

 任务+特性 分支

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

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

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

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

  这个是加分项。

 快速

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

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

 快速查看文档

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

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

  很好!

 Docutils 支持

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

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

 完善的插件系统

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

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

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

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

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

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

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

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

 结语

  目前为止就这些了。我会向我的朋友尽力展示一切我认为“看这有多酷”的事情。我使用PyCharm的时间很短,如果我发现还有更多有趣的事情值得再写一篇发表的话,我会继续写。

  原文链接: Bruno Oliveira   翻译: 伯乐在线 - 高磊

위 내용은 Python IDE: PyCharm의 실용적인 기능 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.