almenon / birdseye-vscode Goto Github PK
View Code? Open in Web Editor NEWvscode port of birdseye - a graphical Python debugger
License: MIT License
vscode port of birdseye - a graphical Python debugger
License: MIT License
The code checks for the string "Running" and with the latest version of Flask this doesn't work any more. This is what my server shows:
* Serving Flask app "birdseye" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: on
WARNING:werkzeug: * Debugger is active!
The effect is that the birdseye pane is stuck in "Starting birdseye..."
I think you should rather poll http://localhost:7778/ until you get a response. I can make birdseye explicitly log a message including "Running" but that won't help people who don't upgrade.
An error occurs when there is a Chinese comment in the code file。
UnicodeDecodeError: 'gbk' codec can't decode byte 0xb0 in position 1054: illegal multibyte sequence
see above - currently the user has to specify python3 in pythonPath in the settings if they are using python3.
The hacky way of doing this is to just use python3 if on non-windows OS, but because birdseye supports python 2 I'd like to also have an automatic fallback to python 2 if not present.
If birdseye is running outside of the extension, it fails to start because the port is already taken.
Started working on this already, nearly done.
Any error is sent back to azure application insights for analytics.
When user closes birdseye time spent with birdseye open and python path (2/3/virtual env) is logged.
Should be useful in finding out how many people actually use birdseye-vscode because VSCode's default analytics is complete crap. They only give you the download count and that includes updates so it is almost useless.
I'm now hosting proper documentation. There's a section about this extension here: https://birdseye.readthedocs.io/en/latest/integrations.html#visual-studio-code-extension
Is there anything you'd like me to add there?
I suggest linking to the documentation site rather than the birdseye repo.
VSCode recently accounced that they will offer notifications with progress bars. It would be nice to show the user the progress downloading birdseye as it can be slow on slow connections.
Clicking Repository on the extension page leads to https://github.com/almenon/vscode-birdseye which is a 404.
Settings should not be in activate - activate is only called the very first time the command is executed. It should be in the birdseye function so a new copy is gotten each time the command is invoked. This way users can change settings without having to restart VSCode or reload the extension.
TextDocumentContentProvider is being deprecated. Also I saw a rendering error with the TextDocumentContentProvider .
The first time I tried to start birdseye it failed because the port was taken (see #7). It took some guessing to figure out the problem because all it told me was that the exit code was 1. Some output from the failed command would be helpful, even just the last line.
Birdseye does not provide a __version__ attribute so I would either have to add it in or use pip.
pip list --outdated
Unfortunately there does not seem to be a pip argument for checking for new updates of only one package. (pip list --oudated lists all of them)
Replication:
Birdseye starts successfully so this is an error on my end.
This is in addition to the installation message.
Would be nice if it just showed the message instead.
Changing name to Birdseye for python will move Birdseye far up the extension ranking. I want to wait on this untill I have implemented some more features however
does not show up well against black background
user is not informed when pip command fails
spawn pip ENOENT: Error: spawn pip ENOENT
When birdseye starts it outputs:
The "restarting with stat" command happens ~3 seconds into the start sequence. By showing the user the start sequence they would be able to see that birdseye is starting properly instead of worrying that it is hung up.
At step 5 it should warn that the version of python being used does not match the version of pip being used.
I don't see this as a common scenario so this is a low-priority bug. (Also you can just install manually). If you run into this please comment below so I can recognize it as higher priority.
Birdseye takes ~5 seconds to load on my computer. It would be nice to get it under 3 seconds.
I'm using a regular ol' hard drive - for those using a SSD I imagine it would be a bit quicker.
On my end of things, implementing #12 would make the load time seem slightly faster
More stable that way. See #23
When the user closes birdseye I close the process I started. This works.
The problem is that birdseye launches a second python process (I'm guessing the server) - I need to find some multi-platform way of closing that as well.
There should be some way of identifying child process - but I did not see any grandchildren of my process in the debugger.
Or maybe there is a way of killing a process and all of its children all at once?
So when the inveitable failure happens I catch it before it goes to production
When I run birdseye from a terminal, the website allow me to click on a call to see the source code of the function that is called, and view the value of the variables in that call.
When I launch the command "Show birdseye" in VSCode, I do see the list of calls, but I can't click on it to see the source code. A pity !
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.