qt:pyqt_ide_options
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
qt:pyqt_ide_options [2011/04/18 18:40] – [Code writing support] mithat | qt:pyqt_ide_options [2011/04/20 20:44] (current) – mithat | ||
---|---|---|---|
Line 61: | Line 61: | ||
===== The results ===== | ===== The results ===== | ||
- | + means good, | + | :-) means good, |
~ means eh, | ~ means eh, | ||
-- means available but sucks, | -- means available but sucks, | ||
Line 67: | Line 67: | ||
ext means handled externally automatically or by specifying a user command | ext means handled externally automatically or by specifying a user command | ||
- | ==== Project support | + | ==== Yes/ |
- | ^ IDE ^ Y/N? ^ UI ^ survival | + | ^ IDE ^ Y/N? ^ |
- | ^ Eclipse+PyDev | | + | ^ Eclipse+PyDev | |
- | ^ Editra | + | ^ Editra |
- | ^ Eric 4 | maybe| +* | ~ | + | + | ^ Eric 4 | maybe | |
- | ^ Monkey Studio | | + | ^ Monkey Studio | |
- | ^ Netbeans+Py | + | ^ Netbeans+Py |
- | ^ Spyder | + | ^ Spyder |
- | ^ Stani' | + | ^ Stani' |
- | * After manual intervention\\ | + | ==== General IDE support ==== |
+ | ^ IDE ^ UI ^ survival | ||
+ | ^ Eclipse+PyDev | :-)~ | :-) | :-) | p | -- | :-) | | ||
+ | ^ Editra | ||
+ | ^ Eric 4 | :-)* | ~ | :-) | ✘ | ~ | ||
+ | ^ Monkey Studio | :-) | -- | ||
+ | ^ Netbeans+Py | ||
+ | ^ Spyder | ||
+ | ^ Stani' | ||
+ | |||
+ | * After significant | ||
+ | |||
+ | ==== PyQt-specific project support ==== | ||
+ | ^ IDE ^ PyQt proj ^ PyQt forms ^ qrc files ^ designer | ||
+ | ^ Eclipse+PyDev | ✘ | ?† | ~* | : | ||
+ | ^ Editra | ||
+ | ^ Eric 4 | -- | ||
+ | ^ Monkey Studio | :-) | :-) | ||
+ | ^ Netbeans+Py | ||
+ | ^ Spyder | ||
+ | ^ Stani' | ||
+ | |||
+ | * With Qt support from Nokia, has nice GUI for adding resources, but compile with pyrcc4 for python must be done manually. | ||
† Need to check what happens w/ Qt for Eclipse stuff from Nokia\\ | † Need to check what happens w/ Qt for Eclipse stuff from Nokia\\ | ||
‡ With just Eclipse+PyDev, | ‡ With just Eclipse+PyDev, | ||
p means untested plugin available\\ | p means untested plugin available\\ | ||
t means template, not wizard\\ | t means template, not wizard\\ | ||
- | :-\ means it's ill on Linux because of MIME issues (works with GNOME, Xfce (I think), and KDE (maybe), but not in others)\\ | + | !!! means it's ill on Linux because of MIME issues (works with GNOME, Xfce (I think), and KDE (maybe), but not in others)\\ |
- | ==== Code writing support ==== | + | †† has facility to add '' |
+ | |||
+ | ==== Python and PyQt code writing support ==== | ||
+ | |||
+ | ^ IDE ^ autocomp. ^ calltips ^ nav. ^ refac. ^ check ^ rt err. ^ | ||
+ | ^ Eclipse+PyDev | : | ||
+ | ^ Editra | ||
+ | ^ Eric 4 | :-)~* | : | ||
+ | ^ Monkey Studio | ~* | ||
+ | ^ Netbeans+Py | ||
+ | ^ Spyder | ||
+ | ^ Stani' | ||
- | ^ IDE ^ autocomp. ^ calltips ^ nav. ^ refac. ^ check ^ rt err. ^ | + | * API based\\ |
- | ^ Eclipse+PyDev | + | ? | + | † Needs custom config (adding lib to PYTHONPATH or tweaking Rope config or similar)\\ |
- | ^ Editra | + | ‡ With Eric4' |
- | ^ Eric 4 | +~ | + | |
- | ^ Monkey Studio | ~ | ? | + | |
- | ^ Netbeans+Py | + | |
- | ^ Spyder | + | |
- | ^ Stani' | + | |
- | * With the Rope plugin you can select the identifier, and then do navigation with // | ||
I have some results in [[pyqt ide autocompletion testing]]. | I have some results in [[pyqt ide autocompletion testing]]. | ||
Line 108: | Line 135: | ||
=== Eclipse+Pydev === | === Eclipse+Pydev === | ||
- | It's freaking heavy and bit obtuse. Setting up is a multi-step process. Once set up, to get code completion to work, you need to add PyQt lib path to project. (This is true of a lot of the IDEs.) Even then, the code completion doesn' | + | It's freaking heavy and bit obtuse. Setting up is a multi-step process. Once set up, to get code completion to work, you need to add the PyQt lib path (''/ |
* Enable/ | * Enable/ | ||
Line 122: | Line 149: | ||
== Conclusion == | == Conclusion == | ||
- | Yes. Autocompletion needs more testing. Biggest con: it's a resource hog and then some. | + | Yes. Autocompletion needs more testing. Biggest con: it's a resource hog. Setting up is a bit of a PITA. Setting the per-project PyQt4 stuff is definitely a PITA. |
=== Editra == | === Editra == | ||
Designed as a text editor, with plugins makes a decent IDE. It's in alpha now but usable. | Designed as a text editor, with plugins makes a decent IDE. It's in alpha now but usable. | ||
- | * Autocomplete seems promising! | + | * Autocomplete seems promising |
* No config was required out of the box (IIRC) | * No config was required out of the box (IIRC) | ||
- | * Nice icons with code completion -- definitely adds to usability, possibly more than Spyder' | + | * Nice icons with code completion -- definitely adds to usability |
* Does not seem to AC from the source file. Definitely doesn' | * Does not seem to AC from the source file. Definitely doesn' | ||
* Hover over stuff brings up calltip info (if it can figure it out) | * Hover over stuff brings up calltip info (if it can figure it out) | ||
Line 135: | Line 162: | ||
* Debug can be set up with external call to winpd or something else (in Launch bar) | * Debug can be set up with external call to winpd or something else (in Launch bar) | ||
* Needs a **refactoring** tool | * Needs a **refactoring** tool | ||
- | * Getting *.ui files to open in Designer not working consistently | + | * Getting *.ui files to open in Designer not working consistently |
* This is a mime issue: GNOME works as expected, Xfce also I think. But xdg-open is messed up. | * This is a mime issue: GNOME works as expected, Xfce also I think. But xdg-open is messed up. | ||
* Drag and drop to designer does not work | * Drag and drop to designer does not work | ||
Line 145: | Line 172: | ||
=== Eric 4 === | === Eric 4 === | ||
- | UI is painful by default but can be tweaked. Rope handles refactoring. Hg support listed on homepage but is only available in Eric 5. PyLint plugin available. Lotsa custom tweaks and plugin downloading required. | + | The default |
- | A project wizard exists but doesn' | + | A project wizard exists but doesn' |
<code python> | <code python> | ||
from PyQt4 import uic | from PyQt4 import uic | ||
Line 166: | Line 193: | ||
== Autocompletion == | == Autocompletion == | ||
- | There are there autocompletion/ | + | There are three autocompletion/ |
== QScintilla == | == QScintilla == | ||
- | To get QScintilla to give decent results, you need to point it to API files. This can be done by installing package eric-api-files and manually pointing Eric at them (// | + | To get QScintilla to give decent results, you need to point it to API files. This can be done by installing package eric-api-files and manually pointing Eric at them (// |
== Rope == | == Rope == | ||
Rope's offerings were quite poor until I changed its config to this one (which takes its values from a Rope testing script I downloaded from the Spyder Google Project Hosting site): | Rope's offerings were quite poor until I changed its config to this one (which takes its values from a Rope testing script I downloaded from the Spyder Google Project Hosting site): | ||
Line 270: | Line 299: | ||
== Assistant == | == Assistant == | ||
- | Setting up Assistant . Supposedly it "adds support for icons in completions determined from document." | + | Setting up Assistant |
== The experience == | == The experience == | ||
If the problem with Rope calltips can be solved (no arguments shown) then Eric4 would be the one to use. The best interim solution seems to be to let Rope do autocomplete and Assistant do calltips. This is a usable but imperfect setup. Eric ships with a command-line tool for generating API files from source files. | If the problem with Rope calltips can be solved (no arguments shown) then Eric4 would be the one to use. The best interim solution seems to be to let Rope do autocomplete and Assistant do calltips. This is a usable but imperfect setup. Eric ships with a command-line tool for generating API files from source files. | ||
- | Eric Assistant makes minimal use of icons in popups -- subjectively better than Spyder (but without the extra info) and not as nice as Editra (but more complete). | + | Eric Assistant makes minimal use of icons in its popups -- subjectively better than Spyder (but without the extra info) and not as nice as Editra (but more complete). |
- | At the moment, I am inclined to rate Spyder and Editra' | + | At the moment, I am inclined to rate Spyder and Editra' |
== Other == | == Other == | ||
Line 286: | Line 315: | ||
Debugger works but doesn' | Debugger works but doesn' | ||
+ | |||
+ | Has qt resource file support. | ||
== Conclusion == | == Conclusion == | ||
- | Maybe. Major hassle setting it up but can be simplified with by distributing an '' | + | Maybe. Major hassle setting it up but can be simplified with by distributing an '' |
=== Monkey Studio === | === Monkey Studio === | ||
Line 314: | Line 345: | ||
* Built-in CLI debugger (pdb) with menubar access to winpdb | * Built-in CLI debugger (pdb) with menubar access to winpdb | ||
* Winpdb doesn' | * Winpdb doesn' | ||
+ | * If the project path has spaces in it, opening files in external editors seems not to work. (More testing with a project whose name does not start with a number is required before submitting a bug.) | ||
* No way I found to add "user commands" | * No way I found to add "user commands" | ||
* Good looking PyLint results | * Good looking PyLint results |
qt/pyqt_ide_options.1303152036.txt.gz · Last modified: 2011/04/18 18:40 by mithat