Skip to content

PR: Browser Extension running inside devtools console as a shell #166840 #16

@lemanschik

Description

@lemanschik

Includes:

Hello i did it successfull already with my own fork and want to contribute back if your interrested.
I did replace the electron stuff with the devtools it self via creating a browser extension that exposes a devtools tab
that can configure additional devtools tabs,sidebars, panels to implement the vscode ui into devtools console it self and use its apis directly

i saw that there is a lot of overhead in bundling it into chrome it was always freezing my pc thats why i did hardfork it to
drop code tha can cause infinity loops and replace it by streams.

as i did so i found out that it is even overhead to run it in a browser tab or external app it made much more sense to drop the overhead and run it directly where the code executes so in devtools including the permission api's and all that to create a nice user experience.

Is any one interrested in that in general ? or do you love electron so much?

to use for example nodejs as a backend we have many interop methods ranging from passing ramdrive fileDescriptors till stdio pipe and so on. also WebRTC you know simple RPC

if this gets attention from the vscode team and or 20 thumbs up i will open a Backporting PR: directly. else i keep it as feature of my editor that then can get used via my code-oss-compat module which offers vsls and vscode and extension compat apis

Features

  • LiveShare Out of the box via devtools remote protocol
  • Instrumentation out of the box
  • browser integration out of the box
  • nodejs integration via browser interOp methods out of the box
  • permission system out of the box
  • virtual filesystem providers and context isolation out of the box.
  • Anything out of the box? ..... can drop over 80% of the vscode code base.
  • Standalone on existing browser: can be launched via devtools remote debug pipe from a ESHost like NodeJS OutOf the Box as App with and without window decoration. via chromium flags and firefox also supports that but has less priority for me as chromium contributor.

Examples

  • fileSystem access api as Workspace Provider
  • chromium workspaces as workspace provider
  • Standalone app launched via nodejs and devtools-remote-protocol in a single window without system menu bar.
  • WebRTC Clustered p2p shared Workspace provider using binary dat Tree of sha512 sums

Online Demos of core tech

It can Run linux builds in a browser on virtual x86 emulated via a wasm module.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions