Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!xlned.com!feeder7.xlned.com!news2.euro.net!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; '16,': 0.03; 'syntax': 0.03; 'messages.': 0.04; 'output': 0.04; 'filenames': 0.07; 'parsing': 0.07; 'buffer.': 0.09; 'pause': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'subject:still': 0.09; 'vast': 0.09; 'yeah,': 0.09; 'looked': 0.10; 'gui': 0.11; 'subject:python': 0.11; 'assume': 0.11; 'do,': 0.15; 'library': 0.15; 'folks': 0.15; 'slightly': 0.15; 'bracket': 0.16; 'combinations': 0.16; "days'": 0.16; 'decent': 0.16; 'emacs,': 0.16; 'highlight': 0.16; 'ides': 0.16; 'least,': 0.16; 'pep8': 0.16; 'received:80.91.229.3': 0.16; 'received:plane.gmane.org': 0.16; 'roy': 0.16; 'sink': 0.16; 'skip:" 70': 0.16; 'stuff,': 0.16; 'wrote:': 0.17; 'example.': 0.17; 'subject:need': 0.17; 'code,': 0.18; 'variable': 0.20; 'skip:" 30': 0.20; 'fairly': 0.21; 'are.': 0.22; 'names.': 0.22; 'parse': 0.22; 'runs': 0.22; 'matching': 0.23; "i've": 0.23; 'feature': 0.24; 'command': 0.24; 'header:In-Reply-To:1': 0.25; 'header:User-Agent:1': 0.26; '(which': 0.26; '(most': 0.27; 'am,': 0.27; 'in.': 0.27; 'header:X-Complaints-To:1': 0.28; 'chris': 0.28; 'run': 0.28; 'assert': 0.29; 'editors': 0.29; 'smart': 0.29; 'probably': 0.29; "i'm": 0.29; '(including': 0.30; "skip:' 10": 0.30; 'checks': 0.30; 'keyword': 0.30; 'error': 0.30; 'file': 0.32; 'running': 0.32; 'done,': 0.33; 'like:': 0.33; 'traceback': 0.33; 'to:addr:python-list': 0.33; 'that,': 0.34; 'text': 0.34; 'list': 0.35; 'awesome': 0.35; 'otherwise.': 0.35; 'said,': 0.35; 'subject:?': 0.35; 'similar': 0.35; 'something': 0.35; 'there': 0.35; 'next': 0.35; 'received:org': 0.36; 'but': 0.36; "i'll": 0.36; 'display': 0.36; 'enough': 0.36; 'moment': 0.37; 'subject:New': 0.37; 'data': 0.37; 'subject:: ': 0.38; 'things': 0.38; 'sure': 0.38; 'to:addr:python.org': 0.39; 'header:Received:5': 0.40; 'most': 0.61; 'real': 0.61; 'subject:, ': 0.61; 'kind': 0.61; 'back': 0.62; 'is.': 0.62; 'close': 0.63; 'different': 0.63; 'times': 0.63; 'friendly': 0.71; 'smith': 0.71; 'gotten': 0.75; 'captures': 0.84; 'here...': 0.84; 'subject:good': 0.84; 'aka': 0.91; 'colored': 0.91 X-Injected-Via-Gmane: http://gmane.org/ To: python-list@python.org From: Monte Milanuk Subject: Re: New to python, do I need an IDE or is vim still good enough? Date: Sat, 29 Dec 2012 12:51:52 -0800 References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Gmane-NNTP-Posting-Host: 66.172.107.27 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 In-Reply-To: X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 71 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1356814327 news.xs4all.nl 6969 [2001:888:2000:d::a6]:54023 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:35778 On 12/29/2012 11:52 AM, Roy Smith wrote: > Chris Angelico wrote: > [regarding >> Bracket matching >> Language-sensitive auto-indentation >> and automatically indents > > Yeah, what he said, plus syntax coloring. And keyword highlighting. > And autocompletion of variable names. I'll probably get dog-piled by the vim/emacs folks again here... but isn't that something most decent text editors do? On 12/29/2012 11:52 AM, Roy Smith wrote: > > And parsing of error messages. > > I'll pause a moment to let that sink in. Grok the fullness of just how > awesome a feature it is. > > In emacs, for example. I'll do C-C M (which I have bound to M-X > Compile). This runs a command and captures the output in a buffer. If > the output happens to contain something like: > > Traceback (most recent call last): > File > "/home/roy/production/python/local/lib/python2.7/site-packages/nose/case. > py", line 197, in runTest > self.test(*self.arg) > File "/home/roy/songza/api2/test_api2.py", line 16, in test_get_api > data = requests.get(url('api/v2/')).json > File "/home/roy/songza/api2/test_common.py", line 13, in url > assert route.startswith('/') > AssertionError > > emacs will parse that, highlight the filenames and line numbers and if I > type M-`, it'll take me to the line of the next error (including opening > the file if it's not already open). > > I assume other smart editors have similar capabilities. Different tools > have different combinations of these, or slightly different > implementations. Find one you like and learn all of it's capabilities. > It makes a huge difference in how productive you are. > While I probably don't use the vast majority of the 'fancy' features of most IDEs - most of what I do barely requires any real 'project manangement'... there are a couple things that I've gotten *very* used to with an IDE. One is having it run pylint and pep8 checks against code, display the output in a friendly format with links straight to the offending items and even displaying colored carats in the gutter region and high-lighting them. The other is having it parse my imports, and use them for the 'auto-complete' aka 'code intelligence' features - and not just the standard library stuff, but also GUI toolkits like PyQt4. I'm pretty sure those things can be done, or something fairly close at least, in editors like vim or emacs... but the few times I looked into it for vim, it was enough to send me running back to Eclipse/PyDev, even if it is kind of an 800lb gorilla otherwise. It's still on my 'one of these days' list of things to do, though ;)