Giter Site home page Giter Site logo

birdseye-vscode's People

Contributors

almenon avatar hunkyjimpjorps avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

birdseye-vscode's Issues

Doesn't pick up that birdseye is running

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.

about Chinese decode error

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

Interactive elements don't appear in the WebView tab

The extension properly opens a WebView and loads localhost:7778, but none of the function call pages have any interactive elements; they just display the timestamp and plain code. I think this might simply be because the WebView doesn't explicitly allow scripts.

image

automatically use python3

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.

telemetry reporting

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.

report installation progress

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.

move settings config to birdseye function

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.

Better error message if birdseye fails to start

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.

check for update when user launches birdseye

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)

Change name for seo

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

show user output of birdseye when birdseye is loading

When birdseye starts it outputs:

  • restarting with stat
  • Debugger is active!
  • Debugger PIN: XXX-XXX-XXX
  • Running on http://127.0.0.1:port (Press CTRL+C to quit)

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.

birdseye allows you to install using a pip that does not match your python

  1. Download python 2 and 3
  2. Make sure "python" references python 2.
  3. Set pip to reference python 3 pip.
  4. Launch vscode birdseye - it brings up installation prompt
  5. click on install - it installs and says install sucessful
  6. Close and reopen birdseye - it brings up same installation prompt.

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.

improve birdseye start speed

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

birdseye is not fully closed upon exit of birdseye

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.

image

There should be some way of identifying child process - but I did not see any grandchildren of my process in the debugger.

image

Or maybe there is a way of killing a process and all of its children all at once?

unit tests

So when the inveitable failure happens I catch it before it goes to production

Can't see the code that is run

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 !

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.