Can you run a version of vscode inside the browser without a server? - visual-studio-code

Is there any way to run a version of VS Code inside a browser without a server? (inside a React or Angular app). Something like an enhanced version of the monaco editor.
Of course that means it will have some missing functionalities.
If not, are there any other options?

Try this https://securingsincity.github.io/react-ace/
its something of the same king what you want

As far as I could find, it is possible to run VSCode in the browser (since we have vscode.dev), but there doesn't seem to be anyway to deploy it yourself yet?
This Github issue is probably what you want, but there isn't any information there (or on the repo) yet.
It does strongly suggest that https://github.com/microsoft/vscode is the version used for vscode.dev, so there might be things to be found there, until official instructions/embedding is possible.

I think it depends on how you treat vscode.
if it is just a editor software, there'll be a lot of .
For you customerization purpose, it sounds something like 'https://github.com/cdr/code-server'

Not sure if it helps, but you can try looking up gitpod.io. It opens up a visual studio code instance on your browser with options of installing extensions as well.
Use the link like gitpod.io/#https://github.com/username/repo-name

You can possibly use Gitpod self-host, https://github.com/gitpod-io/gitpod or https://github.com/gitpod-io/openvscode-server they both have documentation on how to create your own version of VSCode for the web, however, as I've never tried to create one myself, I don't know if it accomplishes your specific use case.

Related

How to add a language to vscode web without using yeoman?

I use github.dev for a lot of my programming work because I don't like downloading programs. As such, I would not like to download either the vscode app or yeoman. Can I make my own extension inside github.dev (perhaps using the .vscode folder?)? I've read a bunch of documentation, but all of it seems to hinge on using yeoman.
You don't need Yeoman to create an extension. Yeoman is just a scaffolding tool, and only helps you in the initial process. Instead, you could simply copy/clone any other extension that seems similar to your need, and update it to make it the way you want.
Back to github.dev, unfortunately, you won't be able to use it to develop your extension, simply because it does not allow debugging. Without that, you won't be able to test your extension. Also, you will still need to install vsce, which is responsible for bundling/publishing the extension.
Instead, you should use services like Codespaces or Gitpod, because once they provide you a remote server, you could install yeoman and vsce there. But, services like Codespaces and Gitpode uses desktop-like extensions, and Github.dev/vscode.dev uses web-like extensions, which are a bit different (https://code.visualstudio.com/api/extension-guides/web-extensions)
Hope this helps

Are there apps built on top of VSCode open source base?

VSCode has a very customizable UI with Activity Bar, Sidebar, Tabs, Status Bar etc (https://code.visualstudio.com/docs/getstarted/userinterface); customizable via extensions and seems to have been developed without any of the common web frameworks (https://github.com/microsoft/vscode/issues/99845).
It is well maintained, works in different OSes and has automatic updates.
Even if we remove the code-editor part, there is a lot of work in that.
This makes me wonder if it is possible to write a totally different app (not a code editor) on top of VSCode. For example a Slack-like messaging app, an Obsidian-like knowledge base app, etc.
Is it possible? Are there apps built on top of this code? Have I missed an important point that makes this idea unviable?
EDIT:
Some have pointed a very valid point. Some of what I mentioned here as VSCode features are really Electron features that VSCode inherits. Having developed an Electron app (5yrs ago) I see many things in VSCode that are not in Electron (but maybe my concept of Electron is wrong).
I want to emphasize that VSCode UI (bars, tabs, etc) + its extensibility seems to be a valid development framework. And I am ignorant of anything in this sense.
EDIT (jan/2023):
I guess we can add StackBlitz as a product that just did that.
I think your question is very valid and I was wondering the same thing, so thanks for asking it.
One thing that VS Code gives you that Electron doesn't is a distribution model - the marketplace and how new versions of your app can be detected and downloaded automatically etc. This is a big deal.
I think the disadvantages are that a very fancy UX may not be possible directly - but you have to "work around" by putting HTML within a Web View perhaps. This is just my guess and I haven't directly tried it.
To answer your question - the only one I am aware of is Thunder Client - so think of Postman - but as a VS Code plugin.
See also https://stackoverflow.com/a/67069697/314780 , which points to Eclipse Theia which uses parts from Visual Studio Code (i.e "Code - OSS") - https://theia-ide.org/ . The site links to a number of IDE-style apps built on top of it.
VS Code is an electron app. You might want to research what electron is – because you mention it: The Slack app is built on that same framework.
So, you've just invented something that already is done, very widely, in practice.

Can I create VS Code extensions in Python/C++?

I am totally new to creating extensions in VS Code, and all the official examples of extensions are written in Typescript/Javascript, which I have no experience with. Is it possible to create VS Code extensions in other languages, such as Python or C++?
If so, could anyone point me to any resources to get me started?
It is possible by creating a C++ module for Node.js, which can then be loaded like any other node module. Of course, some glue code written in JS or TS is necessary to register the extension and translate calls to/from vscode.
I've gone this way in my ANTLR4 extension, but gave up eventually, because of the troubles I had due to incompatible dependencies (you have to make sure the extension uses the exact same V8 version, which was used to build the underlying Node.js used by vscode, on all supported platforms).
This situation might have change, I don't know, but with that in the background I don't recommend it.
If you want to add support for a new language in vscode you can also write a separate language server, as is mentioned in the linked SO answer. For other type of work, I'm afraid, you have no alternative to use.
No, as #rioV8 said, since VSCode is an electron app and runs on Javascript.

Human editable snippet store in eclipse

I am looking for a easier way to manage my eclipse code snippets. I know and have used Eclipse's template and snippets features. But as far as I have found, they can only be exported and imported as XML files.
Since I use many versions of eclipse and I keep migrating between machines managing the snippets is a hassle. I am looking for a UltiSnips like method to manage these snippets/templates. Is there one?
I also looked at snip2code, but it didn't appeal to me because I sometime work offline. Also, I want to have much greater control over the snippets using version control.
Oh well! I couldn't find anything that matched the set of requirements I had. So, I've ended up creating my own.

What are some GUI clients available for Mercurial?

Also, where would I find them?
Tortoise HG. All the tortoise goodness, now for Mercurial.
UPDATE july 2020:
The original official website linked above is abandoned.
The project moved to: https://foss.heptapod.net/mercurial/tortoisehg/thg
IMO best GUI Hg client for OSX is SoureTree - http://sourcetreeapp.com
I was using MacHg, which is ok (and free), but SourceTree has better support, ongoing development and better workflow.
GUI clients & Other tools: https://www.mercurial-scm.org/wiki/OtherTools
If your on OSX then MacHg is IMHO quite nice. (I wrote it and maintain it...)
If you're using eclipse:
http://bitbucket.org/mercurialeclipse/main
If you're an OS X user, Murky is pretty decent.
Visual Studio Code has a simple plugin for a few basic operations:
https://marketplace.visualstudio.com/items?itemName=mrcrowl.hg
The pending changes are highlighted in the editor and support for the basic commit/push/pull/update workflows.
If you want to use the console you can check out: https://bitbucket.org/lc2817/hgv
There is also hgview http://www.hgview.org/ which has a ncurses based CUI somewhat like tig as well as a GUI for viewing the logs. You can only view the logs from this program, but that is really all I want a user interface for.