Hi Lucian,

Sorry for my very late answer. My comments and suggestions are below:

El 15/08/13 18:10, Lucian Smith escribió:
I am trying to get started on writing a plugin or two for Spyder, and
I have a few questions.  First, I see by searching around that others
have been interested in a 'hello world' type plugin example for Spyder
in the past, but nobody ever seems to actually have a working copy of
one.  Do any of you have one you put together?  Barring that, the
thing to do seems to be to copy and modify the pylint plugin, which
can work, but starts off a bit complicated.  Are there particular
modules inside spyderlib/ that would also work as plugin examples,
were they to be renamed and moved to the plugin directory?

Perhaps easier than the pylint plugin is the breakpoints one (p_breakpoints.py). Please take a look at it to start with a more understandable plugin.

Inside spyderlib, you can look at all files in the plugins directory. It contains the plugins that form the core of Spyder, like the Editor, the Console or the Object Inspector, so they are more complex and integrated with one another (than pylint or breakpoints) but you could take some inspiration from them too.

Second, for anyone doing plugin development, how do you do your
debugging?  So far, I've been editing the plugin from within Spyder
itself, then shutting it down and re-launching (from bootstrap.py).
This works OK, but when something goes wrong, the diagnostics are
minimal, and I lose my undo/redo history.  And I can't run
'bootstrap.py' from another instance of Spyder, since this doesn't
seem to do anything (presumably since it sees Spyder is already
running).  Do you just launch bootstrap.py from a different IDE
altogether?  Any recommendations?

Yes, there is one important recommendation: use bootstrap.py with the following option to open a second instance:

python bootstrap.py -- --new-instance

This is what we the developers use to test Spyder changes while developing its code with Spyder itself. The -- in the middle is used to separate the bootstrap.py options from the ones of Spyder itself. Please read

python boostrap.py --help

to see how this works.

Without --new-instance, Spyder looks first for a running instance. If it can find it and no file name is passed, then it just returns to the prompt again. This is used by us to open python files on the same instance.

Finally, I am running into a smallish issue, but due to #2 above, I
can't figure out what the problem is.  If I change this line in
p_pylint.py:

         self.register_shortcut(pylint_act, context="Pylint", name="Run
analysis", default="F8")

to:

         self.register_shortcut(pylint_act, context="Pylint", name="Run
analysis", default="Ctrl+F9")

the shortcut will indeed change to F9.  However, if I try other things like:

         self.register_shortcut(pylint_act, context="Pylint", name="Run
analysis", default="Ctrl+F8")

And sometimes even changing it to F9 doesn't work, and it keeps the
old F8.  Is it caching the value somewhere?  Is there a way I can step
through what's going on?

Yes, the shortcut values are catched in ~/.spyder2/.spyder.ini (look for the "shortcuts" section at the end).

Thank you!

-Lucian


Please keep posting here if you have more doubts and don't get discouraged by our current lack of availability, I'll try to be more responsive from now on. The thing is I had I terrible cold last week and I was working with Pierre (our main contributor) to release 2.2.3 too.

Cheers,
Carlos

--
You received this message because you are subscribed to the Google Groups 
"spyder" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/spyderlib.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to