7 ms·
What are your top 2 or 3 fav productive boosts in PyCharm? I've tried RubyMine for Ruby, and I didn't like it so I went back to Sublime.
by _d8fd 11y ago
What are your top 2 or 3 fav productive boosts in PyCharm? I've tried RubyMine for Ruby, and I didn't like it so I went back to Sublime.
- bdcravens 11y agoI mostly develop in Sublime/Atom + iTerm2, but after working in RubyMine for several months, it feels like I lost some sensation in a limb. (and I only explored the bare essentials) Biggest wins for me: Cmd-click pretty much anything and jump to the file, even if it's a gem somewhere outside of my app. Code hinting. The way a Rails console behaves.
- thejosh 11y agoI'm just curious those using Sublime how they debug their programs?
- malyk 11y agoRuby web dev here...I pretty much use liberal puts statements (actually the awesome_print) gem. It's never really been a problem for me with ruby. 2001-2007 I was primarily a Java developer and the debugger was essential. But since switching to ruby in 2007 I've just never felt the need. I think it's probably the cycle time...we were using BEA weblogic as our Java server and cycle times weren't quick so you didn't want to waste time and needed to be able to step through the code. With ruby/rails it's almost instant to see your logging so I've never even looked into how to use a debugger in ruby.
- ollysb 11y agoAnother ruby dev, back in my java days I used debuggers from jbuilder and eclipse. I now use pry and much prefer it as an experience. I found having everything at your fingertips rather than scattered around a gui far more efficient.
- jdalt 11y agopry + pry-debugger http://pryrepl.org/ http://pryrepl.org/ https://github.com/nixme/pry-debugger https://github.com/nixme/pry-debugger
- busterarm 11y agobyebug, pry or even better, pry-byebug!
- amorphid 11y agoI use pry-byebug most of the time.
- acemarke 11y agoI've been a WebStorm fanboy since I purchased a license during a sale two years ago. The biggest selling point for WebStorm for me is its smart searching abilities. "Find In Files" doesn't just do text search, it's also smart enough to allow you to include or exclude matches in strings and comments. It also has a great parser that understands the structure of your code well enough to do legitimate "Find References" searches with really good results in spite of Javascript's dynamicness. Obviously Python is a very dynamic language as well, so PyCharm has most of the same strong points. I'd been using the Community edition for a while, but finally picked up a Commercial license a couple weeks ago. In this case, the feature that finally convinced me to pay for it was no-kidding Remote Debugging. Drop a .egg next to your deployed app and stick an extra import and connection call into your code, and then PyCharm's debugger (which is another great feature in and of itself) just flat-out works over SSH. Ultimately, both these tools have saved me enough time and effort to pay for themselves repeatedly.
- frik 11y agoWhile WebStorm and other JetBrain IDEs are great, the RAD/WYSIWYG part is missing. We had already Frontage/Dreamweaver for HTML3-4. If JetBrains would add a HTML5 WYSIWYG editor based on webkit/blink to their IDEs, it would be awesome.
- axitanull 11y agoI think that would not happen, with all the difference and mess in implementation under multiple browsers (even with webkit based Safari and Chrome), and file watcher+auto reload is less of a headache.
- frik 11y agoWYSIWYG always had a split-screen view which allows one to work in design and code mode at the same time (and see the changes in the other mode). It's very efficient and less headache. WebStorm could add webkit and sync the code view like Dreamweaver. JetBrain's IDE is Java based and integrating a C++ based WYSIWYG view might be more complicated. And all the Java based browsers have been discontinued like https://en.wikipedia.org/wiki/HotJava https://en.wikipedia.org/wiki/HotJava .
- aptwebapps 11y agoFor me the features I appreciate the most are the debugger, framework support, and decent multi-language syntax support (for when there's js embedded in the html). All that and it runs a lot faster than PyDev.
- tomjen3 11y agoI was so happy when I found out that you can select a string and then inject a new language right there which gets you code completion for that language. I was even more happy when it allowed me to edit that string in a separate window as if existed in a separate file.
- jquery 11y agoHere's my top 6, in no particular order. * Its uncanny ability to find references and declarations in both Python and JavaScript, even when the references are dynamic. What is this .log() or .render() actually calling? Instantly I'm looking inside the relevant function, even if there are hundreds of functions with the same name. This works across imports and libraries. Doesn't always work, but even when it doesn't, it usually makes good guesses and lets me select from a list. If you're working on a large, unfamiliar codebase, this is a godsend. You will sometimes wonder why your coworkers are struggling to understand code references and then you realize they don't have this power-tool available to them. * Local file history separate from git history, with fantastic navigation/diffing support. It's an undo/redo button on steroids that keeps months of history. * When searching for something, you get a full, scrollable preview of the surrounding context of each matching result. Results are organized within the file hiercharchy and are collapsible. * Remote debugging. Drop an egg in your remote source and go. * Annotated code, line by line, with the relevant commit and comment next to it. * Auto-linting to catch common mistakes when coding. It'll immediately underline suspicious-looking code and tell you why. Lots of customizable style-linters to keep your code pristine looking.
- EugeneOZ 11y agoNot PyCharm user, but IntelliJ IDEA, PhpStorm and WebStorm - they are from one family. Most important things are: 1) Static errors analyzing. Saves a lot of time. Really, hundreds hours of time. 2) Code completion (VS users call it "IntelliSense"). 3) Refactoring tools. You can change name of method in one place and IDE will change all usages of this method everywhere in code. It's extremely important.
- DCoder 11y agoI'll second all those points, especially the first one, but I'll add a word of caution. All of the points you mentioned require the IDE to parse all the code, not just the code you are writing at this moment. If it doesn't know the type of $foo, it can't tell what $foo->getModel() calls and therefore it can't rename that getModel(), for example. This means you have to be careful in projects using older frameworks or CMS. From recent experience, a great example of such an atrocious codebase is Magento: - their method calls are excessively chained, which means a failure to analyse step 2 of the chain blocks analysis of all further chained calls - their phpDoc either doesn't exist or is actively misleading at times - they rely on magic methods all throughout the codebase without properly annotating them - https://imgur.com/RMxWEgR https://imgur.com/RMxWEgR
- EugeneOZ 11y agoIt's bad design of Magento and army of old PHP tools, with overuse of magic and dynamic typing.