GithubHelp home page GithubHelp logo

coder / code-server Goto Github PK

View Code? Open in Web Editor NEW
65.4K 724.0 5.3K 52.15 MB

VS Code in the browser

Home Page: https://coder.com

License: MIT License

TypeScript 81.57% HTML 1.01% CSS 0.65% Dockerfile 0.41% Shell 14.99% Makefile 0.04% Mustache 0.45% HCL 0.62% JavaScript 0.03% Nix 0.23%
vscode vscode-remote ide remote-work development-environment dev-tools browser-ide

code-server's Introduction

code-server

"GitHub Discussions" "Join us on Slack" Twitter Follow codecov See latest

Run VS Code on any machine anywhere and access it in the browser.

Screenshot Screenshot

Highlights

  • Code on any device with a consistent development environment
  • Use cloud servers to speed up tests, compilations, downloads, and more
  • Preserve battery life when you're on the go; all intensive tasks run on your server

Requirements

See requirements for minimum specs, as well as instructions on how to set up a Google VM on which you can install code-server.

TL;DR: Linux machine with WebSockets enabled, 1 GB RAM, and 2 vCPUs

Getting started

There are four ways to get started:

  1. Using the install script, which automates most of the process. The script uses the system package manager if possible.
  2. Manually installing code-server
  3. Deploy code-server to your team with coder/coder
  4. Using our one-click buttons and guides to deploy code-server to a cloud provider โšก

If you use the install script, you can preview what occurs during the install process:

curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run

To install, run:

curl -fsSL https://code-server.dev/install.sh | sh

When done, the install script prints out instructions for running and starting code-server.

Note To manage code-server for a team on your infrastructure, see: coder/coder

We also have an in-depth setup and configuration guide.

Questions?

See answers to frequently asked questions.

Want to help?

See Contributing for details.

Hiring

Interested in working at Coder? Check out our open positions!

For Teams

We develop coder/coder to help teams to adopt remote development.

code-server's People

Contributors

ackerapple avatar ammario avatar bdsoha avatar benz0li avatar bpmct avatar brunoquaresma avatar code-asher avatar cuining avatar deansheather avatar dependabot[bot] avatar edvincent avatar galesky avatar girlbossrush avatar greyscaled avatar hammady avatar jammspread avatar jawnsy avatar jlandowner avatar jsjoeio avatar kylecarbs avatar matthew-beckett avatar mgmachado avatar nhooyr avatar nol166 avatar renovate-bot avatar renovate[bot] avatar repo-ranger[bot] avatar shiv-tyagi avatar sr229 avatar supersandro2000 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

code-server's Issues

Crash on Debian 8

  • code-server version: 1.31.1-100
  • OS Version: debian 8
$ uname -a
Linux iZ28iwnpx2bZ 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u2 (2017-06-26) x86_64 GNU/Linux

$ cat /etc/debian_version
8.11

Steps to Reproduce

error message:

$ ./code-server -d /home/zoe/codes/vscode-workdir -h 127.0.0.1 -p 60443 --allow-http
INFO  code-server v1.31.1-100
INFO  Additional documentation: http://github.com/codercom/code-server
INFO  Initializing {"data-dir":"/home/zoe/codes/vscode-workdir","working-dir":"/home/zoe/codes/vscode-workdir/code-server-1.31.1-100-linux-x64","log-dir":"/home/zoe/codes/vscode-workdir/logs/20190307051426515"}
INFO  Starting shared process [1/5]...
INFO  Starting webserver... {"host":"127.0.0.1","port":60443}
WARN  No certificate specified. This could be insecure.
WARN  Documentation on securing your setup: https://coder.com/docs
INFO
INFO  Password: e9eb8d0a4d8c913247d49cc0
INFO
INFO  Started (click the link below to open):
INFO  http://localhost:60443/
INFO
INFO  Connected to shared process
ERROR SHARED stderr {"data":"Uncaught Exception:  Error: ENOENT: no such file or directory, open '/home/zoe/codes/vscode-workdir/Backups/workspaces.json'\n\nError: ENOENT: no such file or directory, open '/home/zoe/codes/vscode-workdir/Backups/workspaces.json'\n    at Timeout.eval [as _onTimeout] (eval at exports.requireModule (/home/zoe/codes/vscode-workdir/code-server-1.31.1-100-linux-x64/code-server:468:27371), <anonymous>:71445:31)\n    at ontimeout (timers.js:475:11)\n    at tryOnTimeout (timers.js:310:5)\n    at Timer.listOnTimeout (timers.js:270:5)\n"}
INFO  WebSocket opened / {"client":1,"ip":"127.0.0.1"}
INFO  Created data directory
internal/child_process.js:323
    throw errnoException(err, 'spawn');
    ^

Error: spawn ENOMEM
    at _errnoException (util.js:1024:11)
    at ChildProcess.spawn (internal/child_process.js:323:11)
    at Object.exports.spawn [as _spawn] (child_process.js:502:9)
    at t.async (/home/zoe/codes/vscode-workdir/code-server-1.31.1-100-linux-x64/code-server:716:35021)
    at e.exports (/home/zoe/codes/vscode-workdir/code-server-1.31.1-100-linux-x64/code-server:716:34522)
    at e (/home/zoe/codes/vscode-workdir/code-server-1.31.1-100-linux-x64/code-server:716:33324)
    at Timeout.c [as _onTimeout] (/home/zoe/codes/vscode-workdir/code-server-1.31.1-100-linux-x64/code-server:716:33617)
    at ontimeout (timers.js:475:11)
    at tryOnTimeout (timers.js:310:5)
    at Timer.listOnTimeout (timers.js:270:5)

more secure default setup

The default usage for code-server should be a command to ssh into a server and setup the code-server and open a reverse ssh tunnel from code-server to a local host port that the user can access code-server through.

This way no password.

Build instructions

No build instructions for this software. It would be helpful to know how to build it from the release tarball.

On Arch Linux server password param doesn't work, and ENOENT error on diretory that's not working directory

Problems

  1. Server password param doesn't work
  2. ENOENT error on working directory, trying to access subfolder that doesn't exist.
  3. Website is a blank screen after login, probably related to problem 2 directly above.
  4. Output version is 0.0.0 instead of 1.31.1-100.

Info

  • code-server version: server/0.0.0 linux-x64 node-v8.9.3 I had downloaded 1.31.1-100 from code-server-1.31.1-100-linux-x64.tar.gz
  • OS Version: Linux archlinux 4.20.12-arch1-1-ARCH #1 SMP PREEMPT Sat Feb 23 15:11:34 UTC 2019 x86_64 GNU/Linux on Linode
  • Setup is running code-server in a webdirectory through nginx.

Steps to Reproduce

  1. Setup systemd ide.service to run code-server as a user, in my case http, same as web user process for php and mysql.
  2. Run code-server --password=testing
    Notice when trying to enter password the generated one is what works, not the passed in one.
  3. ENOENT on /working/directory/here/plus/Backups/workspace.json. It seems to be looking for a Backups folder in my working directory, and a workspace file that doesn't yet exist.
  4. When running code-server --version for this bug, it output 0.0.0 for the server version.

Linux/x86 Support

I'd like a Linux/x86 binary so I can run this on my Linux/x86 box

Add back SSH popup

It would be nice to provide users quick access to their public IP, port and SSH password via a small popup in the bottom right of the IDE

Fix password feature

First of all, it's an awesome project. Thank you! By the way, do you plan to add fix password feature? Maybe it can be set as CLI argument like ./code-server --password 123456.

Or can I create a PR with this feature?

Keep up the good work!

Eslint extension not work

  • code-server version: 1.31.1-100
  • OS Version: Mac OS 10.13.6
  • Extension: dbaeumer.vscode-eslint

Steps to Reproduce

  1. Install eslint extension
  2. Open or create a js file, open eslint output

Translate documentation

It would be nice to have the documentation for this repo available in different languages for non-english speaking users.

This would definitely be a continuous ongoing community-driven effort. This issue will never truly be "complete" as it will have to evolve as our docs are updated, but I believe the efforts will be worthwhile.

  • Turkish
  • Spanish
  • French
  • German
  • Hebrew
  • Italian
  • Japanese
  • Korean
  • Mandarin
  • Cantonese
  • Arabic
  • Czech
  • Danish
  • Dutch
  • Finnish
  • Greek
  • Hindi
  • Hungarian
  • Indonesian
  • Norwegian
  • Polish
  • Portuguese
  • Romanian
  • Russian
  • Slovak
  • Swedish
  • Thai

read VSCode settings as default

  1. If system has vscode installed previously, code-server read installed vscode's settings/extensions
  2. provide a option to loads system vscode settings/extensions

Thanks so much

Adher to the XDG base directory specification

Please use the XDG data dir for data and log dirs.

I just started it and got shown this: {"data-dir":"/home/jfowl/.code-server","working-dir":"/tmp/code-server-dir","log-dir":"/home/jfowl/.code-server/logs/20190305213428008"}. I personally don't like apps to create even more dotfils/dotdirs in my /home directory than it already has. Using the XDG basedir spec would be a great step towards using well-established standards in the unix world <3.

Vim extension is not working after installation

  • code-server version: 1.31.0-20
  • OS Version: Ubuntu 16.04
  • Extension: vim

Steps to Reproduce

  1. After installation of Vim extension and reload the vs code window, Vim mode is not toggled.
  2. When trying to toggle the Vim mode manually "command 'toggleVim' not found" popped up.

No error/warning for incorrect password.

  • code-server version: 1.31.0
  • OS Version: Mac OS 10.13.6

Steps to Reproduce

  1. Build binary
  2. Run binary
  3. Enter incorrect password

Expected:
Some kind of message saying "password is incorrect"

Actual:
ยฏ\(ใƒ„)/ยฏ

'.' and '..' do not resolve when starting code-server

The working directory when starting code-server with '.' or '..' ends up being '/'.

  • code-server version: 1.31.0
  • OS Version: Arch Linux

Steps to Reproduce

  1. Start code-server with code-server . or code-server ..
  2. Open in browser, see working directory is /

Does not list for Extensions with the "Preview" flag

Steps to Reproduce

  1. Go to the Extension Marketplace
  2. Search "Makerlog"
  3. No results appear, unlike in desktop VSCode

I was also unable to install CodeStream via VSIX because of this error... **edit: looks like this is #92 **
screenshot 2019-03-06 at 7 12 53 am

I'm otherwise loving it so far and I'm sure you guys are swamped... Keep up the great work!

Binary does not work with WSL

  • vscode-remote version: 1.31.0-20
  • OS Version: Windows 10 (rel 1809) - WSL Ubuntu 16.04.4 LTS

Steps to Reproduce

  1. Run WSL and try to run the executable
  2. Error: -bash: ./code-server: cannot execute binary file: Exec format error

Code Spell Checker extension crashes

Steps to Reproduce

  1. Download vsix file of the extension.
  2. Unzip vsix and copy extension directory under ~/.code-server/extensions/streetsidesoftware.code-spell-checker-1.6.10
  3. Enable the extension in code-server.
  4. The extension crashes with the following error message:
Error: Cannot find module 'vscode-languageserver'
    at Function.Module._resolveFilename (module.js:536:15)
    at Function.Module._load (module.js:466:25)
    at Module.require (module.js:579:17)
    at Module.r.require.e [as require] (/usr/local/bin/code-server:468:26234)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/ymmt/.vscode/extensions/streetsidesoftware.code-spell-checker-1.6.10/server/src/server.js:4:33)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
[Info  - 10:44:40] Connection to server got closed. Server will restart.

The IDE is not opening

I go to the login page, sign in with my github. Then i get redirected to ide.coder.com but then the page is unresponsive.

Not work on CentOS

  • code-server version: code-server-1.31.0-20-x86_64-linux
  • OS Version: CentOS release 6.10 (Final)

Steps to Reproduce

$ ./code-server --help
./code-server: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by ./code-server)
./code-server: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./code-server)
./code-server: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ./code-server)
./code-server: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by ./code-server)
./code-server: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by ./code-server)
./code-server: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./code-server)

automate releases

Every time a new tag is pushed, we should push a new image to docker hub and also create new binary releases on GitHub.

Related #57

ARM binary release

I have a RPi 3B+ module๏ผŒand i hope code-server will be running within this platform, thank u

VBox with VM Ubuntu 18.10 - TypeError: Cannot read property 'on' of undefined

  • code-server version: code-server-1.31.0-20-x86_64-linux
  • OS Version: Ubuntu 18.10

Steps to Reproduce

`$ /home/dani/code-server-1.31.0-20-x86_64-linux/code-server .
INFO code-server v1.0.0
INFO Additional documentation: http://github.com/codercom/code-server
INFO Initializing {"data-dir":"/home/dani/.code-server","working-dir":".","log-dir":"/home/dani/.code-server/logs/20190306105306352"}
INFO Starting webserver... {"host":"0.0.0.0","port":8443}
WARN No certificate specified. This could be insecure.
WARN Documentation on securing your setup: https://coder.com/docs
INFO
INFO Password: 1QLwbiaSylKW
INFO
INFO Started (click the link below to open):
INFO http://localhost:8443/
INFO
INFO Starting shared process [1/5]...
/home/dani/code-server-1.31.0-20-x86_64-linux/code-server:340
*/var r=/["'&<>]/;e.exports=function(e){var t,n=""+e,i=r.exec(n);if(!i)return n;var o="",a=0,s=0;for(a=i.index;a<n.length;a++){switch(n.charCodeAt(a)){case 34:t=""";break;case 38:t="&";break;case 39:t="'";break;case 60:t="<";break;case 62:t=">";break;default:continue}s!==a&&(o+=n.substring(s,a)),s=a+1,o+=t}return s!==a?o+n.substring(s,a):o}},function(e,t,n){"use strict";e.exports=function(e,t){if(null==t)return function e(t,n){for(var r=0;r<t.length;r++){var i=t[r];Array.isArray(i)?e(i,n):n.push(i)}return n}(e,[]);return function e(t,n,r){for(var i=0;i<t.length;i++){var o=t[i];r>0&&Array.isArray(o)?e(o,n,r-1):n.push(o)}return n}(e,[],t)}},function(e,t){e.exports=function(e,t){if(e&&t)for(var n in t)e[n]=t[n];return e}},function(e,t,n){"use strict";const r=n(677),i=n(191),o=n(199),a=n(92),s=Buffer.from([0,0,255,255]),c=Buffer.from([0]),u=Symbol("permessage-deflate"),l=Symbol("write-in-progress"),p=Symbol("pending-close"),d=Symb

TypeError: Cannot read property 'on' of undefined
at t.emitLines (/home/dani/code-server-1.31.0-20-x86_64-linux/code-server:340:7474)
at t.async (/home/dani/code-server-1.31.0-20-x86_64-linux/code-server:716:35103)
at e.exports (/home/dani/code-server-1.31.0-20-x86_64-linux/code-server:716:34522)
at e (/home/dani/code-server-1.31.0-20-x86_64-linux/code-server:716:33324)
at Timeout.c [as _onTimeout] (/home/dani/code-server-1.31.0-20-x86_64-linux/code-server:716:33617)
at ontimeout (timers.js:475:11)
at tryOnTimeout (timers.js:310:5)
at Timer.listOnTimeout (timers.js:270:5)
dani@dani-VirtualBox:~/monitoring_pdxc_api_integration$
`

Kubernetes Support

I wanted to see if this project would be interested in Kubernetes as a deployment option. I worked on a proof of concept and have things mostly working. I'm happy to share this with the repo but wanted to check in and see if there was interest before cleaning things up with a PR.

Evaluate use of pkg to make single-binary server

pkg is a application that compiles the project into a single executable, which we currently do, but pkg seems to be flexible as you can provide runtime version and such with the sacrifice of requiring some of the requires to be __dirname'd

[Zeit pkg repo]

rebornix.ruby activation failure due to 'ruby-method-locate'

Steps to Reproduce

  1. Install extension via Extensions View.
  2. Open new .rb file.
  3. View console.

Additional Context

Logs:

Activating extension 'rebornix.ruby' failed: Cannot find module 'ruby-method-locate'.
ExtensionService._logMessageInConsole @ extensionService.ts?570e:800
ExtensionService._logOrShowMessage @ extensionService.ts?570e:814
MainThreadExtensionService.$localShowMessage @ mainThreadExtensionService.ts?9688:32
RPCProtocol._doInvokeHandler @ rpcProtocol.ts?e423:390
RPCProtocol._invokeHandler @ rpcProtocol.ts?e423:375
RPCProtocol._receiveRequest @ rpcProtocol.ts?e423:295
RPCProtocol._receiveOneMessage @ rpcProtocol.ts?e423:225
(anonymous) @ rpcProtocol.ts?e423:100
Emitter.fire @ event.ts?849f:567
deliverMessages @ ipc.net.ts?7859:295
(anonymous) @ ipc.net.ts?7859:302
Emitter.fire @ event.ts?849f:567
acceptChunk @ ipc.net.ts?7859:103
Protocol._socketDataListener @ ipc.net.ts?7859:132
EventEmitter.emit @ events.js?6840:81
(anonymous) @ helpers.ts?3313:335
EventEmitter.emit @ events.js?6840:81
(anonymous) @ client.ts?1107:92
(anonymous) @ events.ts?599d:37
Emitter.emit @ events.ts?599d:37
Client.handleMessage @ client.ts?1107:222
(anonymous) @ client.ts?1107:40
(anonymous) @ events.ts?599d:37
Emitter.emit @ events.ts?599d:37
(anonymous) @ client.ts?d5e3:58
15:00:41.443 console.ts?2412:134 [Extension Host] Activating extension 'rebornix.ruby' failed: Cannot find module 'ruby-method-locate'. (at Object.showMessage (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231217:37))
log @ console.ts?2412:134
MainThreadConsole.$logExtensionHostMessage @ mainThreadConsole.ts?29ee:39
RPCProtocol._doInvokeHandler @ rpcProtocol.ts?e423:390
RPCProtocol._invokeHandler @ rpcProtocol.ts?e423:375
RPCProtocol._receiveRequest @ rpcProtocol.ts?e423:295
RPCProtocol._receiveOneMessage @ rpcProtocol.ts?e423:225
(anonymous) @ rpcProtocol.ts?e423:100
Emitter.fire @ event.ts?849f:567
deliverMessages @ ipc.net.ts?7859:295
(anonymous) @ ipc.net.ts?7859:302
Emitter.fire @ event.ts?849f:567
acceptChunk @ ipc.net.ts?7859:103
Protocol._socketDataListener @ ipc.net.ts?7859:132
EventEmitter.emit @ events.js?6840:81
(anonymous) @ helpers.ts?3313:335
EventEmitter.emit @ events.js?6840:81
(anonymous) @ client.ts?1107:92
(anonymous) @ events.ts?599d:37
Emitter.emit @ events.ts?599d:37
Client.handleMessage @ client.ts?1107:222
(anonymous) @ client.ts?1107:40
(anonymous) @ events.ts?599d:37
Emitter.emit @ events.ts?599d:37
(anonymous) @ client.ts?d5e3:58
15:00:41.443 console.ts?2412:134 [Extension Host] Activating extension `rebornix.ruby` failed:  Cannot find module 'ruby-method-locate' (at eval (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231010:25))
log @ console.ts?2412:134
MainThreadConsole.$logExtensionHostMessage @ mainThreadConsole.ts?29ee:39
RPCProtocol._doInvokeHandler @ rpcProtocol.ts?e423:390
RPCProtocol._invokeHandler @ rpcProtocol.ts?e423:375
RPCProtocol._receiveRequest @ rpcProtocol.ts?e423:295
RPCProtocol._receiveOneMessage @ rpcProtocol.ts?e423:225
(anonymous) @ rpcProtocol.ts?e423:100
Emitter.fire @ event.ts?849f:567
deliverMessages @ ipc.net.ts?7859:295
(anonymous) @ ipc.net.ts?7859:302
Emitter.fire @ event.ts?849f:567
acceptChunk @ ipc.net.ts?7859:103
Protocol._socketDataListener @ ipc.net.ts?7859:132
EventEmitter.emit @ events.js?6840:81
(anonymous) @ helpers.ts?3313:335
EventEmitter.emit @ events.js?6840:81
(anonymous) @ client.ts?1107:92
(anonymous) @ events.ts?599d:37
Emitter.emit @ events.ts?599d:37
Client.handleMessage @ client.ts?1107:222
(anonymous) @ client.ts?1107:40
(anonymous) @ events.ts?599d:37
Emitter.emit @ events.ts?599d:37
(anonymous) @ client.ts?d5e3:58
15:00:41.444 console.ts?2412:134 [Extension Host] Here is the error stack:  Error: Cannot find module 'ruby-method-locate'
	at Function.Module._resolveFilename (module.js:536:15)
	at Function.Module._load (module.js:466:25)
	at Function.a../lib/vscode/src/vs/workbench/services/extensions/node/extensionHostProcess.ts.Module._load (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:391081:33)
	at Function.load (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:227210:33)
	at Function.load [as _load] (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:392300:37)
	at Module.require (module.js:579:17)
	at require (internal/module.js:11:18)
	at Object.<anonymous> (/root/.code-server/extensions/rebornix.ruby-0.20.0/out/locate/locate.js:3:17)
	at Module._compile (module.js:635:30)
	at Object.Module._extensions..js (module.js:646:10)
	at Module.load (module.js:554:32)
	at tryModuleLoad (module.js:497:12)
	at Function.Module._load (module.js:489:3)
	at Function.a../lib/vscode/src/vs/workbench/services/extensions/node/extensionHostProcess.ts.Module._load (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:391081:33)
	at Function.load (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:227210:33)
	at Function.load [as _load] (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:392300:37)
	at Module.require (module.js:579:17)
	at require (internal/module.js:11:18)
	at Object.<anonymous> (/root/.code-server/extensions/rebornix.ruby-0.20.0/out/providers/intellisense.js:5:18)
	at Module._compile (module.js:635:30)
	at Object.Module._extensions..js (module.js:646:10)
	at Module.load (module.js:554:32)
	at tryModuleLoad (module.js:497:12)
	at Function.Module._load (module.js:489:3)
	at Function.a../lib/vscode/src/vs/workbench/services/extensions/node/extensionHostProcess.ts.Module._load (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:391081:33)
	at Function.load (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:227210:33)
	at Function.load [as _load] (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:392300:37)
	at Module.require (module.js:579:17)
	at require (internal/module.js:11:18)
	at Object.<anonymous> (/root/.code-server/extensions/rebornix.ruby-0.20.0/out/ruby.js:12:24)
	at Module._compile (module.js:635:30)
	at Object.Module._extensions..js (module.js:646:10)
	at Module.load (module.js:554:32)
	at tryModuleLoad (module.js:497:12)
	at Function.Module._load (module.js:489:3)
	at Function.a../lib/vscode/src/vs/workbench/services/extensions/node/extensionHostProcess.ts.Module._load (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:391081:33)
	at Function.load (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:227210:33)
	at Function.load [as _load] (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:392300:37)
	at Module.require (module.js:579:17)
	at requireFilesystemModule (/dev/shm/bin/code-server:468:26068)
	at global.nativeNodeRequire.e (/dev/shm/bin/code-server:468:26916)
	at loadCommonJSModule (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231774:24)
	at ExtHostExtensionService.a../lib/vscode/src/vs/workbench/api/node/extHostExtensionService.ts.ExtHostExtensionService._doActivateExtension (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231428:17)
	at ExtHostExtensionService.a../lib/vscode/src/vs/workbench/api/node/extHostExtensionService.ts.ExtHostExtensionService._activateExtension (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231385:25)
	at Object.actualActivateExtension (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231227:34)
	at ExtensionsActivator.a../lib/vscode/src/vs/workbench/api/node/extHostExtensionActivator.ts.ExtensionsActivator._activateExtension (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231008:55)
	at eval (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:230992:74)
	at Array.map (<anonymous>)
	at ExtensionsActivator.a../lib/vscode/src/vs/workbench/api/node/extHostExtensionActivator.ts.ExtensionsActivator._activateExtensions (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:230992:42)
	at ExtensionsActivator.a../lib/vscode/src/vs/workbench/api/node/extHostExtensionActivator.ts.ExtensionsActivator.activateByEvent (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:230900:25)
	at ExtHostExtensionService.a../lib/vscode/src/vs/workbench/api/node/extHostExtensionService.ts.ExtHostExtensionService._activateByEvent (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231303:36)
	at eval (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231685:51)
	at <anonymous>
	at process._tickCallback (internal/process/next_tick.js:188:7) (at eval (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231011:25))

Full screen mode

In the top-right corner keep just a button to toggle fullscreen mode

Have some default interpreter languages available in ide.coder.com - Node/npm, Python, Ruby, etc.

This is a great cloud IDE, although the setup to get going is a little surprising. I was expecting some baseline versions of node/npm, or python, or even ruby to get going, but none were available from the get go. I manually curled the latest LTS node.js (10.15) and created an alias for it, but didn't have time to get an alias for npm or npx working. but I like vscode in the browser! just need to be able to build the code too...

Clicking "restart" on /ssh will result in a blank page

Mar 5, 2019 at 1:54:53 PM
Describe the bug
Users who click the reset button on the /ssh page will find that they are greeted with a blank page. Network request responds with:

{"error":{"expected":"ON","msg":"container was found in an unexpected state","state":"TURNING_ON"},"request_id":"5c7ed380-54bf5ad65901544548625a12"}

To Reproduce
Steps to reproduce the behavior:

  1. Open the ide
  2. Visit ide.coder.com/ssh
  3. Click "restart"

Expected behavior
The IDE or /ssh prompt loads eventually

Screenshots
screen shot 2019-03-05 at 1 56 22 pm

Desktop:

  • OS: MacOS
  • Browser: Chrome
  • Version: 70

Docker container to try out Coder.

I think you should add a docker container deployment one liner to your landing page similar to https://www.theia-ide.org/

Should be simple enough to create the image and add to your CI and keep an official one with Docker Hub...with docker for windows this also sorta meets your windows goals

Microsoft's cpptools extension is not able to start its language server

  • code-server version: 1.31 (latest)
  • OS Version: 16.04, on Google Cloud

Steps to Reproduce

  1. Install C++ extension
  2. Open any C++ File

The following Error message is displayed

Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: TypeError: Path must be a string. Received undefined

prevent ctrl+w from closing tab

I guess it's not possible to catch the ctrl+w shortcut before the browser interprets it, but would it be possible to show a "leave this page?" confirmation dialog to prevent the good old muscle memory from screwing up ones work?

terminal becomes unresponsive after socket disconnect

Mar 4, 2019 at 5:24:15 PM
Describe the bug
When using the IDE and losing focus of the browser window, the terminal seems unresponsive after regaining focus on the window. Nvm was installed on the container.

Update this seems related to the WebSocket disconnecting

To Reproduce
Steps to reproduce the behavior:

  1. Log in and open the IDE
  2. Open the terminal
  3. Open a new chrome window and do something else
  4. Come back to the window with the IDE and notice that you can no longer type in the terminal

Expected behavior
The terminal remains responsive when coming back to the browser window

Desktop:

  • OS: MacOS
  • Browser: Chrome
  • Version: 70

CPP Debug not work

  • code-server version: code-server v1.0.0
  • OS Version: Ubuntu 18.10
  • Extension: ms-vscode.cpptools

Steps to Reproduce

  1. install ms-vscode.cpptools extension
  2. write a cpp file, eg. a.cpp, and compile as target a.out
  3. edit .vscode/launch.json, add debug configuration:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "mydebug",
            "type": "cppdbg",
            "request": "launch",
            "program": "/path-to-out/a.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": ".",
            "externalConsole": true,
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "miDebuggerPath": "/path-to-gdb/bin/gdb",
            "logging": {
                "engineLogging": true,
                "trace": true,
                "traceResponse": true
            },
            "linux": {
                "MIMode": "gdb"
            },
            "osx": {
                "MIMode": "gdb"
            },
            "windows": {
                "MIMode": "gdb"
            }
        } 
    ]
}
  1. launch debug, and it will be blocked

output in Debug Console:

1: (333) DbgCmd:echo $$ > /tmp/Microsoft-MIEngine-Pid-aql0olr8.7a7 ; cd /Users/wangweibing/dev/demo/bc_out/baidu/bcloud-demo/hello-git/output/bin ; DbgTerm=`tty` ; set -o monitor ; trap 'rm /tmp/Microsoft-MIEngine-In-v0g5v6cv.yd2 /tmp/Microsoft-MIEngine-Out-eprffizq.g0y /tmp/Microsoft-MIEngine-Pid-aql0olr8.7a7 /tmp/Microsoft-MIEngine-Cmd-kbqexxnx.681' EXIT ; /opt/compiler/gcc-4.8.2/bin/gdb --interpreter=mi --tty=$DbgTerm < /tmp/Microsoft-MIEngine-In-v0g5v6cv.yd2 > /tmp/Microsoft-MIEngine-Out-eprffizq.g0y & clear; pid=$! ; echo $pid > /tmp/Microsoft-MIEngine-Pid-aql0olr8.7a7 ; wait $pid; 
--> C (runInTerminal-30): {"command":"runInTerminal","arguments":{"kind":"external","title":"cppdbg: child","cwd":"","args":["sh","/tmp/Microsoft-MIEngine-Cmd-kbqexxnx.681"],"env":{}},"seq":30,"type":"request"}
--> E (output): {"event":"output","body":{"category":"console","output":"1: (347) Wait for connection completion.\n"},"seq":32,"type":"event"}
1: (347) Wait for connection completion.

Crashes on Debian 9

Running releases on Debian 9 container crashes after 1-2min

  • vscode-remote version: both available releases
  • OS Version: Debian 9

Steps to Reproduce

root@cortana:/tmp/test# code-server $(pwd)
INFO  code-server v1.0.0
INFO  Additional documentation: http://github.com/codercom/code-server
INFO  Initializing {"data-dir":"/root/.code-server","working-dir":"/tmp/test","log-dir":"/root/.code-server/logs/20190305212210780"}
INFO  Starting webserver... {"host":"0.0.0.0","port":8443}
WARN  No certificate specified. This could be insecure.
WARN  Documentation on securing your setup: https://coder.com/docs
INFO
INFO  Password: PmH3ge09215X
INFO
INFO  Started (click the link below to open):
INFO  http://localhost:8443/
INFO
INFO  Starting shared process [1/5]...
/usr/bin/code-server:340
 */var r=/["'&<>]/;e.exports=function(e){var t,n=""+e,i=r.exec(n);if(!i)return n;var o="",a=0,s=0;for(a=i.index;a<n.length;a++){switch(n.charCodeAt(a)){case 34:t="&quot;";break;case 38:t="&amp;";break;case 39:t="&#39;";break;case 60:t="&lt;";break;case 62:t="&gt;";break;default:continue}s!==a&&(o+=n.substring(s,a)),s=a+1,o+=t}return s!==a?o+n.substring(s,a):o}},function(e,t,n){"use strict";e.exports=function(e,t){if(null==t)return function e(t,n){for(var r=0;r<t.length;r++){var i=t[r];Array.isArray(i)?e(i,n):n.push(i)}return n}(e,[]);return function e(t,n,r){for(var i=0;i<t.length;i++){var o=t[i];r>0&&Array.isArray(o)?e(o,n,r-1):n.push(o)}return n}(e,[],t)}},function(e,t){e.exports=function(e,t){if(e&&t)for(var n in t)e[n]=t[n];return e}},function(e,t,n){"use strict";const r=n(678),i=n(191),o=n(199),a=n(92),s=Buffer.from([0,0,255,255]),c=Buffer.from([0]),u=Symbol("permessage-deflate"),l=Symbol("write-in-progress"),p=Symbol("pending-close"),d=Symbol("total-length"),f=Symbol("callback

TypeError: Cannot read property 'on' of undefined
    at t.emitLines (/usr/bin/code-server:340:7474)
    at t.async (/usr/bin/code-server:716:35103)
    at e.exports (/usr/bin/code-server:716:34522)
    at e (/usr/bin/code-server:716:33324)
    at Timeout.c [as _onTimeout] (/usr/bin/code-server:716:33617)
    at ontimeout (timers.js:475:11)
    at tryOnTimeout (timers.js:310:5)
    at Timer.listOnTimeout (timers.js:270:5)
root@cortana:/tmp/test#
root@cortana:/tmp/test# uname -a
Linux cortana 4.15.18-7-pve #1 SMP PVE 4.15.18-27 (Wed, 10 Oct 2018 10:50:11 +0200) x86_64 GNU/Linux
root@cortana:/tmp/test#

[ide.coder.com] increase starting cpu & memory ram for users

after I downloaded and unzipped the latest node.js 10.15 (see #37), I touched a hello.js file to write and execute a simple console.log('hello'); it ran after I had aliased the node bin cmd, but I saw that CPU usage went up to 92% and mem maxed out at 1.0/1.0. Pretty sure that the VSCode GUI is hogging the majority of the resources there, so you may want to keep that in mind.

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.