Python学习 第3天 VS与PyCharm使用对比

前两天出差,趁着热情再玩玩Python吧

IDE就在VS和Pycharm中选吧,这两个IDE都很喜欢

一、VS

能在VS中开发Python是最好,平时习惯了。可以安装PTVS,直接新建个Python项目,就会提示下载PTVS了,安装完试了下:

1、直接新建文件,选择python,建了个.py文件,是不能运行和调试的,点那个【Execute Project in Python Interactive】也有问题,要新建项目才可以

2、开头不用# encoding: utf-8 也可以支持中文,运行出来的Python窗口能正确显示中文。网上说

默认的选择是“简体中文(GB18030) - 代码页 54936”
要替换为“Unicode (UTF-8 无签名) - 代码页 65001”

但我试了恰好相反,默认的是GB2312正常,要是改成了UTF-8,反而乱码了

3、下断点后调试非常亲切,和平时开发C#一样,快速监视也可以用

4、没有智能提示,去网上下了一个Python intellisense Enhancer,结果打字是反的来的。。。就是要打print,就变成tnirp。。。

找了半天,原来是这个插件每次输入文字就触发Ctrl + J,这个快捷键默认是列出成员,即智能提示,但大家快捷键可能会改啊,我就是改成左移字符。。。什么鬼,每次输入都触发智能提示,虽然能达到效果,感觉怪怪的。。。

https://pyint.codeplex.com/workitem/1619
Right now the Python Intellisense Explorer is initiating and Intellisense session by sending the key stroke Ctrl+J to Visual Studio. This generally works but suffers from a couple of reliability issues in non-standard cases 
Ctrl+J isn't always mapped to display Intellisense. Users are free to bind the Intellisense command (Edit.ListMembers) to other key values
In the case Ctrl+J isn't mapped to Edit.ListMembers it will be interpreted as a literal key stroke and cause spurious new lines to be inserted into the code base. 

如果不下这个插件的话,要提示要手动按下Ctrl + J(或自定义的其它快捷键来触发【列出成员】)也是可以

=================

网上找了段代码,注释掉放在前面,对着敲了一遍,感觉智能提示还是可以的,也没必要太在意它的实现方式,事实上,它官网也说明了它的原理,就是输个字触发下Ctrl + J。。。不过实际使用中感觉不出什么,还是很顺畅的:

OpenSource Project Link:

https://pyint.codeplex.com/
 

Implementation Detail

It's a simple editor extension listening text change event. It just simulate the key stroke ( Ctrl + J ) to show the intellisense box.

二、PyCharm

代码提示完善许多,格式化代码也强大些,是一套完整的IDE,如果没有VS用这个足够了,但已有VS就感觉有些重复,毕竟VS用习惯了,又有一堆自定义的快捷键用的顺手,换成PyCharm又要重新设置一遍快捷键,包括代码字体颜色什么的,好麻烦,不是专业开发Python的,偶尔玩一玩还是用VS算了。

而且以后VS和Resharper说不定对Python支持越来越多。就像以前写UI层有试过一下WebStorm,新鲜了一阵还是用回VS。