Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Official Support for ARM/Raspberry Pi Linux (armhf, arm64) #6442

Closed
Ash-Bash opened this issue May 17, 2016 · 141 comments · Fixed by #106289
Closed

Official Support for ARM/Raspberry Pi Linux (armhf, arm64) #6442

Ash-Bash opened this issue May 17, 2016 · 141 comments · Fixed by #106289
Assignees
Labels
feature-request Request for new features or functionality insiders-released Patch has been released in VS Code Insiders install-update VS Code installation and upgrade system issues linux Issues with VS Code on Linux on-release-notes Issue/pull request mentioned in release notes verification-needed Verification of issue is requested verified Verification succeeded

Comments

@Ash-Bash
Copy link

  • VSCode Version: > 1.1
  • OS Version: Ubuntu Mate / Linux

It would be good if VS Code Supports Raspberry Pi 2/3 or provide arm binaries alongside the x86 and x86-64 binaries for linux

@Ash-Bash Ash-Bash changed the title Officially Support Raspberry Pi 2/3 On Linux Official Support for Raspberry Pi 2/3 On Linux May 17, 2016
@Tyriar Tyriar added install-update VS Code installation and upgrade system issues linux Issues with VS Code on Linux feature-request Request for new features or functionality labels May 17, 2016
@Tyriar Tyriar self-assigned this May 17, 2016
@jieverson
Copy link

Having the same problem on my Raspbian (debian) running at a Raspberry Pi 3.
I've actually tried to compile it from source, but I got this:

npm ERR! notsup Unsupported
npm ERR! notsup Not compatible with your operating system or architecture: [email protected]
npm ERR! notsup Valid OS: darwin
npm ERR! notsup Valid Arch: any
npm ERR! notsup Actual OS: linux
npm ERR! notsup Actual Arch: arm

I tried using nodejs from apt-get, and tried again using this version (supose to build for ARM):
http://node-arm.herokuapp.com/node_latest_armhf.deb

For compiling, I wrote this:

./scripts/npm.sh install --arch=armhf

Not sure if the npm.sh support the arch parameter

@Tyriar
Copy link
Member

Tyriar commented Aug 18, 2016

What version of node and npm are you using? I think that error happened when optional dependencies weren't working properly for certain versions of npm 3.

@jieverson
Copy link

I'm using node v4.2.1

@Tyriar
Copy link
Member

Tyriar commented Aug 19, 2016

Can you try using node 6.4.0?

@jieverson
Copy link

jieverson commented Aug 19, 2016

The v4.2.1 is the last version I can get at apt-get form Raspbian. At night I will try to get a better version outside package manager.

[EDIT] My node is kind outdated, cause I've checked and I cant even use ES6 javascript, like const or let instead of var.

@Tyriar
Copy link
Member

Tyriar commented Aug 19, 2016

@jieverson vscode is TypeScript so it should be compiled down, regardless though according to the docs

You'll need Node.JS, at least v5.10.

Warning: npm/npm#12698 prevents us from using npm >= 3.9, be sure to install npm < 3.9.

https://github.com/Microsoft/vscode/wiki/How-to-Contribute#installing-prerequisites

@sleepyfoxen
Copy link

@jieverson sorry for bumping an old thread, but I did get it working on Raspbian on a RPi3 model B.

node --version
v6.4.0
npm --version
v3.8.9

Although [email protected] is not available in the default apt-get repositories, you can still install it with apt-get through these instructions.
You'll then have to manually downgrade npm -- I did this systemwide because I didn't need a super up-to-date version of npm: sudo npm install -g [email protected]. After that, the build just kind of worked to be honest. Either way, good luck!

@jieverson
Copy link

I really cant get it to work here.

# curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash

16-08-23-23 38 35

I got some errors trying to install nodesource repo. After the errors, if I try to apt-get nodejs, I still get the v4.

@sleepyfoxen
Copy link

Wow, that really is very strange! I guess you can try using the binaries from node themselves, since they do provide arm-packaged binaries?
For me, the nodesource installer only added (and installed keys for)

deb https://deb.nodesource.com/node_6.x jessie main
deb-src https://deb.nodesource.com/node_6.x jessie main

to my /etc/apt/sources.list.d/nodesource.list file, and didn't touch any mirrors in other apt settings.
I'm running the latest Raspbian image though - your sources seem to imply that you're running Ubuntu trusty?

pi@raspberrypi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 8.0 (jessie)
Release:    8.0
Codename:   jessie

@sleepyfoxen
Copy link

okay, for the sake of completeness, I tried to run a full build and package VSCode on a RPi to see if it is possible. On the RPi3 Model B, this fails because the optimize-vscode stage allocates too much memory.

Specifically where we OOM seems to vary between runs, sometimes it's an Array.prototype.forEach call and sometimes it's JSON.stringify.

This isn't a huge problem as "fast" builds still complete, and VSCode does run, although it would be nice if the entire build process could be performed on a RPi.

@sleepyfoxen
Copy link

sleepyfoxen commented Aug 24, 2016

also, dpkg-dev seems like a requirement for packaging on Linux, but this is not listed on the Wiki - can someone confirm this?

Either way, it was possible without build errors to compile it targeting arm from another machine that has slightly more memory. The resulting .deb installed and ran fine on my RPi.
To build targeting arm requires about 4 lines of gulpfile changes -- in other words, it would be really nice, and really easy to provide binary packages for arm devices.

2016-08-24-203328_1920x1080_scrot

@hxlnt
Copy link

hxlnt commented Aug 25, 2016

I've been playing around with a build on a different ARMv7 Linux device (PocketC.H.I.P.), but no luck yet. I also hit the out-of-memory issue as well, which I was able to work around by creating a temporary swapfile on a USB stick. (So now I think I just need to find and tweak those four lines you mention, @aptgetmoo!)

I'd love to see a binary for this as well. If it bubbles up, I'm happy to test on the PocketC.H.I.P.!

@sleepyfoxen
Copy link

sleepyfoxen commented Aug 25, 2016

@hxlnt the gulpfile changes are only for packaging to .deb / .rpm mostly –– using these I was able to build a .deb with:

./scripts/npm.sh install --arch=armhf
gulp vscode-linux-arm-build-deb

I'm really inexperienced with packaging binaries though, so let me know if there's a better / supported way!

@ted-piotrowski
Copy link
Contributor

@aptgetmoo you had a typo in your gulp changes which cause the packaging for ARM to fail. I've submitted the fix.

#12486

@sleepyfoxen
Copy link

@ted-piotrowski sorry! Thank you for your fix, though

@ajstadlin
Copy link

ajstadlin commented Sep 24, 2016

Does anyone have a repeatable working procedure for installing VSCode in Raspbian Jessie on Raspberry Pi 3 Model B?

@ted-piotrowski
Copy link
Contributor

@ajstadlin
Copy link

Tried more than 4 variations on the themes described. I was unable to get any to work.

Platform = Clean Install Raspbian Jessie (Full Desktop) May 2016 version, clean install with sudo apt-get update and apt-get dist-upgrade.

I will monitor this thread to see if anyone after me has a procedure to build, install, and run VSCode run on Raspberry Pi 3 Model B in Raspbian Jessie or Stretch from clean (only locale config updated to match my US keyboard) Pi setup. I suspect that dependencies are missing or conflict with Raspbian Jessie versions. Whatever the problem - there appears to not be a repeatable procedure to get it working at this time.

@ted-piotrowski
Copy link
Contributor

@ajstadlin If you are using the default Jessie dependencies, NodeJS is the likely culprit. I believe 4.2.6 is the current NodeJS version included in Raspbian. To install a newer NodeJS version follow these steps:

https://nodejs.org/dist/v6.6.0/ (Latest download page)

sudo apt-get uninstall nodejs  # uninstall nodejs 4.2.6
wget https://nodejs.org/dist/v6.6.0/node-v6.6.0-linux-armv7l.tar.gz # get latest ARM build
tar -xvf node-v6.6.0-linux-armv7l.tar.gz # extract it
sudo cp node-v6.6.0-linux-armv7l /etc/node6.6 # copy extracted file to /etc folder
sudo ln -s /etc/node6.6/bin/node /usr/bin/node # link the nodejs executable
sudo ln -s /etc/node6.6/bin/npm /usr/bin/npm # link the npm executable
node --version # should output v6.6.0

Now you compilation should work (hopefully). I actually did this on a Chromebook Asus C100, but I don't see how the Raspberry PI should be any different.

@hxlnt
Copy link

hxlnt commented Sep 26, 2016

@ajstadlin At what point is the build failing? Are you getting error messages, or is the build failing silently?

Regarding @ted-piotrowski's comment above: As I recall, once I installed the newer version of node, I had to downgrade my npm version to avoid some kind of failure due to an Electron bug. Unless that's been patched up in the last few weeks, you might need to do that as well.

(FWIW, I got this working on the C.H.I.P. ARM v7, Debian Jessie but had to create a swapfile on USB to bypass OoM error and install the libnss3-dev dependency in addition to everything mentioned in the Microsoft Linux build instructions, including the npm downgrade.)

@incyi
Copy link

incyi commented Oct 10, 2016

I get this error:

pi@raspberrypi:~/Development/vscode $ ./scripts/code.sh
[4044:1010/222944:ERROR:browser_main_loop.cc(231)] Running without the SUID sandbox! See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md for more information on developing with the sandbox on.
[4044:1010/222948:WARNING:audio_manager.cc(314)] Multiple instances of AudioManager detected
[4044:1010/222948:WARNING:audio_manager.cc(275)] Multiple instances of AudioManager detected
{ errorCode: 'load',
moduleId: 'vs/code/electron-main/main',
neededBy: [ '===anonymous1===' ],
detail:
{ Error: ENOENT: no such file or directory, open '/home/pi/Development/vscode/out/vs/code/electron-main/main.js'
at Error (native)
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: '/home/pi/Development/vscode/out/vs/code/electron-main/main.js' } }

@er1c
Copy link

er1c commented Jul 22, 2020

Remote WSL doesn't work on my arm Chromebook when connecting to ubuntu

would love an official release or some guidance on what I'm doing wrong

[07:08:45.812] Install and start server if needed
[07:08:45.896] Checking ssh with "ssh -V"
[07:08:46.187] > OpenSSH_7.9p1 Debian-10+deb10u2, OpenSSL 1.1.1d  10 Sep 2019
[07:08:46.207] Using SSH config file "/home/eric/.ssh/config"
[07:08:46.215] askpass server listening on /run/user/1000/vscode-ssh-askpass-3bd43799c913573d371690ebac0aaad25ea62708.sock
[07:08:46.219] Spawning local server with {"ipcHandlePath":"/run/user/1000/vscode-ssh-askpass-529ecdbcc582d1c8f17950c0f1d5e5baa784c82a.sock","sshCommand":"ssh","sshArgs":["-v","-T","-D","41547","-o","ConnectTimeout=15","-F","/home/eric/.ssh/config","dev"],"dataFilePath":"/home/eric/.config/Code - OSS (headmelted)/User/globalStorage/ms-vscode-remote.remote-ssh/vscode-ssh-host-dev-9c341b3d8f2f41277be6dd59e7f4e847e6b594ac-0.51.0/data.json"}
[07:08:46.221] Local server env: {"DISPLAY":"1","ELECTRON_RUN_AS_NODE":"1","SSH_ASKPASS":"/home/eric/.vscode-oss/extensions/ms-vscode-remote.remote-ssh-0.51.0/out/local-server/askpass.sh","VSCODE_SSH_ASKPASS_NODE":"/usr/share/code-oss/code-oss","VSCODE_SSH_ASKPASS_MAIN":"/home/eric/.vscode-oss/extensions/ms-vscode-remote.remote-ssh-0.51.0/out/askpass-main.js","VSCODE_SSH_ASKPASS_HANDLE":"/run/user/1000/vscode-ssh-askpass-3bd43799c913573d371690ebac0aaad25ea62708.sock"}
[07:08:46.282] Spawned 8912
[07:08:46.803] Server delay-shutdown request failed: connect ENOENT /run/user/1000/vscode-ssh-askpass-529ecdbcc582d1c8f17950c0f1d5e5baa784c82a.sock
[07:08:46.981] > local-server> Spawned ssh: 8920
[07:08:47.001] stderr> OpenSSH_7.9p1 Debian-10+deb10u2, OpenSSL 1.1.1d  10 Sep 2019
[07:08:47.118] stderr> debug1: Server host key: ecdsa-sha2-nistp256 SHA256:wQnXXYU1Bf4mFaZYYlEusa4E/mnn7iKKWhsKvsRTA/E
[07:08:47.794] Got askpass request: {"request":"Enter passphrase for key '/home/eric/.ssh/id_rsa':"}
[07:08:47.803] Detected passphrase message
[07:08:47.812] Listening for interwindow password on /run/user/1000/vscode-ssh-askpass-35d0a391a3d4b3c4e64c2f05c6befd1331660959.sock
[07:08:47.813] Writing password prompt to globalState
[07:09:41.270] Got passphrase response
[07:09:41.300] Interactor gave response: ********
[07:09:41.358] Cleaning up other-window auth server
[07:09:48.563] stderr> Authenticated to dev ([192.168.1.31]:22).
[07:09:49.207] > Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-40-generic x86_64)
> 
>  * Documentation:  https://help.ubuntu.com
>  * Management:     https://landscape.canonical.com
>  * Support:        https://ubuntu.com/advantage
> 
>   System information as of Wed Jul 22 14:08:54 UTC 2020
> 
>   System load:  0.24               Temperature:           33.0 C
>   Usage of /:   9.1% of 195.86GB   Processes:             233
>   Memory usage: 15%                Users logged in:       1
>   Swap usage:   0%                 IPv4 address for eno1: 192.168.1.31
> 
>  * "If you've been waiting for the perfect Kubernetes dev solution for
>    macOS, the wait is over. Learn how to install Microk8s on macOS."
> 
>    https://www.techrepublic.com/article/how-to-install-microk8s-on-macos/
> 
> 25 updates can be installed immediately.
> 0 of these updates are security updates.
> To see these additional updates run: apt list --upgradable
> 
[07:09:49.233] > ready: d2c1e11f1431
[07:09:49.260] > Linux 5.4.0-40-generic #44-Ubuntu SMP Tue Jun 23 00:01:04 UTC 2020
[07:09:49.263] Platform: linux
[07:09:49.296] > d2c1e11f1431: running
[07:09:49.309] > Acquiring lock on /home/eric/.vscode-server-oss/bin/9c341b3d8f2f41277be6dd59e7f4e847e6b594ac/vscode-remote-lock.eric.9c341b3d8f2f41277be6dd59e7f4e847e6b594ac
> \ln /home/eric/.vscode-server-oss/bin/9c341b3d8f2f41277be6dd59e7f4e847e6b594ac/vscode-remote-lock.eric.9c341b3d8f2f41277be6dd59e7f4e847e6b594ac.target /home/eric/.vscode-server-oss/bin/9c341b3d8f2f41277be6dd59e7f4e847e6b594ac/vscode-remote-lock.eric.9c341b3d8f2f41277be6dd59e7f4e847e6b594ac
> Found existing installation at /home/eric/.vscode-server-oss/bin/9c341b3d8f2f41277be6dd59e7f4e847e6b594ac...
[07:09:49.326] > Found running server...
>  
> *
> * Reminder: You may only use this software with Visual Studio family products,
> * as described in the license (https://go.microsoft.com/fwlink/?linkid=2077057)
> *
>  
[07:09:49.331] > Checking server status on port 39811 with wget
[07:09:49.336] > d2c1e11f1431: start
> sshAuthSock====
> agentPort==39811==
> osReleaseId==ubuntu==
> arch==x86_64==
> webUiAccessToken====
> tmpDir==/run/user/1000==
> platform==linux==
> d2c1e11f1431: end
[07:09:49.357] Received install output: 
sshAuthSock====
agentPort==39811==
osReleaseId==ubuntu==
arch==x86_64==
webUiAccessToken====
tmpDir==/run/user/1000==
platform==linux==

[07:09:49.366] Remote server is listening on port 39811
[07:09:49.368] Parsed server configuration: {"agentPort":39811,"osReleaseId":"ubuntu","arch":"x86_64","webUiAccessToken":"","sshAuthSock":"","tmpDir":"/run/user/1000","platform":"linux"}
[07:09:49.383] Persisting server connection details to /home/eric/.config/Code - OSS (headmelted)/User/globalStorage/ms-vscode-remote.remote-ssh/vscode-ssh-host-dev-9c341b3d8f2f41277be6dd59e7f4e847e6b594ac-0.51.0/data.json
[07:09:49.409] Starting forwarding server. localPort 43767 -> socksPort 41547 -> remotePort 39811
[07:09:49.417] Forwarding server listening on 43767
[07:09:49.426] Waiting for ssh tunnel to be ready
[07:09:49.439] [Forwarding server 43767] Got connection 0
[07:09:49.455] Tunneled remote port 39811 to local port 43767
[07:09:49.458] Resolved "ssh-remote+dev" to "127.0.0.1:43767"
[07:09:49.805] ------




[07:09:50.329] [Forwarding server 43767] Got connection 1
[07:09:50.338] [Forwarding server 43767] Got connection 2
Error: Connection error: Version mismatch, client refused.
    at getErrorFromMessage (/usr/share/code-oss/resources/app/out/vs/workbench/workbench.desktop.main.js:102165)
    at /usr/share/code-oss/resources/app/out/vs/workbench/workbench.desktop.main.js:101854
    at Emitter.fire (/usr/share/code-oss/resources/app/out/vs/workbench/workbench.desktop.main.js:5723)
    at BufferedEmitter.fire (/usr/share/code-oss/resources/app/out/vs/workbench/workbench.desktop.main.js:28107)
    at PersistentProtocol._receiveMessage (/usr/share/code-oss/resources/app/out/vs/workbench/workbench.desktop.main.js:28330)
    at /usr/share/code-oss/resources/app/out/vs/workbench/workbench.desktop.main.js:28200
    at Emitter.fire (/usr/share/code-oss/resources/app/out/vs/workbench/workbench.desktop.main.js:5723)
    at ProtocolReader.acceptChunk (/usr/share/code-oss/resources/app/out/vs/workbench/workbench.desktop.main.js:27933)
    at /usr/share/code-oss/resources/app/out/vs/workbench/workbench.desktop.main.js:27902
    at Socket.listener (/usr/share/code-oss/resources/app/out/vs/workbench/workbench.desktop.main.js:28567)
    at Socket.emit (/usr/share/code-oss/resources/app/out/vs/code/electron-browser/workbench/events.js:203)
    at addChunk (/usr/share/code-oss/resources/app/out/vs/code/electron-browser/workbench/_stream_readable.js:295)
    at readableAddChunk (/usr/share/code-oss/resources/app/out/vs/code/electron-browser/workbench/_stream_readable.js:276)
    at Socket.Readable.push (/usr/share/code-oss/resources/app/out/vs/code/electron-browser/workbench/_stream_readable.js:210)
    at TCP.onStreamRead (/usr/share/code-oss/resources/app/out/vs/code/electron-browser/workbench/internal/stream_base_commons.js:166)

@kingkong404
Copy link

Apple silicon all the way!

@Helianthella
Copy link

Thanks a lot!

@RMeli
Copy link

RMeli commented Sep 11, 2020

Amazing! Thanks @joaomoreno

@meisenzahl
Copy link

Looking forward to use an official arm64 build on a Raspberry Pi 4. Thanks @joaomoreno

@davidrimshnick
Copy link

davidrimshnick commented Sep 11, 2020 via email

@joaomoreno
Copy link
Member

joaomoreno commented Sep 11, 2020

Hi all! Starting today we have archive, deb and rpm insider packages for Linux ARM 32 and 64 bits: #106289 (comment)

Looking forward to your feedback!

jpda added a commit to jpda/vscode that referenced this issue Sep 14, 2020
* Add back hideHover and use on tree context menu show
Fixes microsoft#106268

* Update distro

* 💄

* explorer: Fix TrustedTypes violation

microsoft#106285

* produce deb, rpm packages

* Add loginShell (microsoft/vscode-remote-release#3593)

* chore - tweak onDidAddNotebookDocument, onDidRemoveNotebookDocument event, use ResourceMap and fix confusion between models and editors

* notebook update

* pinned tabs - update setting enum name

* Use innerText over innerHTML, microsoft#106285

* rename to IHostColorSchemeService

* API proposal for tree item icon color
Part of microsoft#103120

* chore - when target might be undefined use `target?.dispose()` over `dispose(target)`

* deprecate onDidChangeCells

* Reenable notebook smoke test microsoft#105330

* deprecate onDidChangeContent

* Add numeric values support for terminal.integrated.fontWeight

* unified onDidChangeContent

* [email protected]

Fixes microsoft#105957

* 💄

* debt - remove _unInitializedDocuments

* remove `NotebookDocument#displayOrder` , fixes microsoft#106305

* no uninitialized documents.

* chore - update references viewlet

* debug: make serverReadyAction play nicely with js-debug

Fixes microsoft#86035
Fixes microsoft/vscode-js-debug#440

* fix rpm

* high contrast switching in browser

* Fix occasional bad custom selectbox layout
Fix microsoft#106302

* review comments

* Bump vscode-ripgrep for ARM
microsoft#6442

* Revert more specific class names for editor tokens

Reverts microsoft#103485
Fixes microsoft#106261

I believe that microsoft#103485 broke cases where the markdown renderer creates tokenized strings that are used outside of an editor's dom node (such as in hovers or in webviews)

The safest fix for now is to revert it. We can revist this and make the markdown renderer handle the tokenized output better next iteration

* remove emit selections.

* merge conflict resolve.

* fix integration tests.

* Disable errors in non-semantic supported files

Fixes microsoft#106299
Fixes microsoft#106314

Also enables js/ts features on the right side of PRs and in search results

* proper fix for microsoft#105202 (microsoft#106293)

* Only enable 'open with' on files

Fixes microsoft#106291

* Add WebviewView.description

Allow configuring the description for webview views.

This is rendered next to the title in a less prominently in the title

* Remove manual strikethroughs for deprecated properties in vscode.d.ts

Now that TS has support for `@deprecated`, these manual strike throughs should no longer be required.

* Add show method to webview view

Fixes microsoft#106085

* Skip failing test

* fix microsoft#106283

* enable test

* fix microsoft#106283

* pinnedTabSizing.standard => pinnedTabSizing.normal

* install dot net core sdk

* update distro

* tabs - align icon and text vertically centered in tab

* update distro

* distro

* fix microsoft#106308

* Update gitignore decorations when .git/info/exclude file is edited (microsoft#106270)

* detect local `exclude` file edits

* use `uri.path` to detect exclude file edits

`uri.path` uses forward slash as a path separator indepentent of
the host system, which makes it easier to use with regex

* updated searches

* editor - rename context keys variables

* fix microsoft#105999

* pinned tabs - prevent to close pinned tabs via Cmd+W (microsoft#100738)

* Reduce usage of `.innerHTML` (microsoft#106285)

* fix uninstalling extension

* remove unused import

* add `replaceNotebookMetadata` (should become `replaceMetadata`) to NotebookEditorEdit, microsoft#105283

* add `replaceNotebookMetadata`, microsoft#105283

* use textContent instead of innerHTML (for microsoft#106285)

* chore - move appyWorkspaceEdit from extHostTextEditors to (new) extHostBulkEdits and mainThreadBulkEdits

* chore - extract extHostNotebookDocument for the NotebookDocument and NotebookCell types and friends

* chore - extract ExtHostNotebookEditor into its own file

* chore - remove ExtHostNotebookEditor#uri and use document.uri instead

* chore - 💄 member order: property, ctor, method

* publish arm deb and rpm

* trusted types

related to microsoft#106285

* use async await

* distro

* update trusted types search

* trusted types - use textContent for style elements, fyi @rebornix

* fix arch

* Fix compile after merge

* Use instantiation service to create TerminalLinks

* Consolidate colon trim logic

* Avoid slice when checking colon

* Check length again

I prefer chatAt over slice as it's more obvious what's happening

* Move comment into helper function

* Update extensions/git/src/commands.ts

* Update extensions/git/src/commands.ts

* Update extensions/git/src/commands.ts

* Save prompt is shown while saving from settings split json editor (fix microsoft#106330)

* Only allow configurePlugin against main TS Server

Fixes microsoft#106346

Looks like the TS Server doesn't support this in partial mode at the moment

* Adding more explicit typings for promises

This gets us ready for TS 4.1

* Don't use async on abstract functions

* chore - use workingCopyService.isDirty instead notebook.isDirty

* Update Codicons
- Update 'pinned'
- Add 'export'
- Compress 'merge'
microsoft/vscode-codicons@5bcb1a0

* Add explicit undefined parameters / types

These errors come from the new stricter types for Promises in TS 4.1

* debt - IMainNotebookController#removeNotebookDocument

* debt - invoke resolve notebook when opening a notebook in an editor, not when loading a notebook from source

* do not need isUntitled.

* 💂 polish nb tests.

* remove selections from nb text model.

* replace changeCellLanguage to applyEdit

* fix microsoft#105916. expand metadata section if modified.

* move dirty state to NotebookEditorModel.

* chore, simply notebook text model event emitter

* refs microsoft#106285

* Add subscribers action

* Fix terminal ts 4.1 compile issues

Part of microsoft#106358

* Fix ts 4.1 issues in terminal api tests

* Update Codicons: add 'graph-left'
microsoft/vscode-codicons@dd1edb2

* initialize notebook text model data only through ctor.

* 💄

* Mark property readonly

* Enable webview commands for webview views

Fixes microsoft#105670

Previously our webview commands assumed that webviews were always going to be in an editor. This is no longer true with webview views.

To fix this, I've added an `activeWebview` to the `IWebviewService`. This  tracks the currently focused webview.

* microsoft#106358

* debug: bump js-debug-companion

* re microsoft#105735.

* re microsoft#105735. no more udpateMetadata api.

* Fix microsoft#106303

* Use destructuring to make code more clear

* Add isWritableFileSystem api

Fixes microsoft#91697

This new API checks if a given scheme allows writing

* Revert "Fix microsoft#106303"

This reverts commit 8e5eed1.

this is causing a layer check issue

* Cache webview view title across reloads

Fixes microsoft#105867

* fix some TS 4.1 errors (microsoft#106358)

* fix some TS 4.1 errors (microsoft#106358)

* fix TS 4.1 compile errors, microsoft#106358

* pinned tabs - flip default to "shrink"

* fix ts errors

related to microsoft#106358

* pinned tabs - closing pinned tab should open next non-pinned

* pinned tabs - add a tab.lastPinnedBorder color

* Adds commands for --no-verify commit variants (microsoft#106335)

* add `{allow,confirm}NoVerifyCommit`  options

* adds commit comands with no verify

* handles no verify command variants

* handle no verify commit option

* only display no verify variants when option is set

* trusted types

related to microsoft#106395

* more TS 4.1 fixes (microsoft#106358)

* update trusted types search

* Fix TS 4.1 errors for tasks and remote explorer
Part of microsoft#106358

* Adress microsoft#106358: Fix TS 4.1 errors in codebase

* debt - simplify metadata edit because we now have CellEditType.DocumentMetadata

* Fix Trusted Types violations (round #2) microsoft#106395

* debug: return result of a msg to debug adapter can be undefined

* add ExtHostFileSystemInfo which knows what schemes are reserved and which are used, microsoft#91697

* fixes microsoft#106334

* web - fix bad credentials lookup

* Correct path to code-workspace.xml

Fixes microsoft#106384

* Multi git executable paths (microsoft#85954)

* Multi git executable path

* update `git.path` setting description

* 💄

Co-authored-by: João Moreno <[email protected]>

* Correct linux code-workspace path

* fixes microsoft#104047

* Add defaultUriScheme to path service (microsoft#106400)

Fixes microsoft/vscode-internalbacklog#1179

* 💄

* Fix  microsoft#106303

* Avoid innerHTML (microsoft#106395)

* Avoid innerHTML (microsoft#106395)

* debt - REMOTE_HOST_SCHEME => Schemas.vscodeRemote

* fixes microsoft#106355

* pathService - defaultUriScheme() => defaultUriScheme

* Adjust active terminal tab when active tab moves (microsoft#106413)

Fixes microsoft#106300

* debt - adopt defaultUriScheme also for userHome

* debt - adopt defaultUriScheme over hardcoded vscode-remote in toLocalResource

* some integration tests for notebook editing, microsoft#105283

* refs microsoft#106358

* Bump yargs-parser in /extensions/markdown-language-features (microsoft#106373)

Bumps [yargs-parser](https://github.com/yargs/yargs-parser) from 13.1.1 to 13.1.2.
- [Release notes](https://github.com/yargs/yargs-parser/releases)
- [Changelog](https://github.com/yargs/yargs-parser/blob/master/docs/CHANGELOG-full.md)
- [Commits](https://github.com/yargs/yargs-parser/commits)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump yargs-parser in /extensions/css-language-features/server

Bumps [yargs-parser](https://github.com/yargs/yargs-parser) from 13.1.1 to 13.1.2.
- [Release notes](https://github.com/yargs/yargs-parser/releases)
- [Changelog](https://github.com/yargs/yargs-parser/blob/master/docs/CHANGELOG-full.md)
- [Commits](https://github.com/yargs/yargs-parser/commits)

Signed-off-by: dependabot[bot] <[email protected]>

* Remove arrays.findIndex

For microsoft#103454

This should be a direct map to the `.findIndex` mathod

* Use textContnet for style element

For microsoft#106395

* use textcontent in menu css
refs microsoft#106395

* Fix one innerHTML usage microsoft#106395

* Use `@example` tags in vscode.d.ts (microsoft#106352)

`@example` is the standard way to document code examples. This also gets us syntax highlighting of code examples in hovers

* - reload only local user configuration after initi
- add perf mark up and logs

* re microsoft#105735. batch apply edits.

* notebook text model initialization does not increment version

* private outputs slice and unknown change.

* applyEdit supports begin/end selections.

* replace insertCell with applyEdit.

* do not copy execution related metadata

* 💄

* fix build.

* Document view.type contribution

Fixes microsoft#105821

* Improve views contribution point

- add required properties
- add default snippet
- use `markdownDescription` for markdown string

* Replace our arrays.find with stdlib find

For microsoft#103454

* Pin blob storage dep
see Azure/azure-sdk-for-js#11187

* unit tests for batched edits.

* remove spliceNotebook api from textmodel.

* update exploration branch

* Fix some trusted type violations, microsoft#106395

* fix fonts in monaco menu

* update distro

* some jsdoc for microsoft#54938

* try to fix build (linux)

* electron - set spellcheck: false again for windows

* update search file, microsoft#106395

* 🆙 web playground

* Trusted types - don't use innerHTML for rapid render, microsoft#106395

* Remove Schemas.vscodeRemote from simple file dialog

* debt - remove some any casts from window

* update distro

* fix linux build

* argh

* proxy authentication does not work on 1.49 (microsoft#106434)

* do not use hasClass and first

microsoft#103454

* debug and explroer: do not use dom.addClass, dom.toggleClass

* do not use deprecated dom helper methods

microsoft#103454

* adopt new amd loader with support for TrustedScriptURL, add typings for TrustedTypesFactory et al, microsoft#106396

* explorer: Should maintain row focus after deleting a file

fixes microsoft#71315

* Update Codicons: add 'magnet' icon
microsoft/vscode-codicons@4c61155

* Remove unused 'SettingSearch' issue type

* notebook document data loss.

* cell language should not be freezed.

* Add preferred_username to the list of msft token claims (microsoft#106511)

* debug: update js-debug

* fix microsoft#106430.

* hide outputs if it is transient.

* Add optional typing for webview state in WebviewPanelSerializer

This makes it easier for extensions to correctly type their state if they wish

* Add comment to WebviewViewResolveContext

* use optional chaining

* Use `Set` instead of array

Sets should offer faster checking to see if a property has been seen

* Create webview.web.contribution

Fixes microsoft#106516

Creates an explicit contribution file for web. This makes sure we only don't register the `IWebviewService` twice. Not 100% sure this fixes the issue since I couldn't repo the original bug with our oss builds

* Revert "API proposal for tree item icon color"

This reverts commit 52e557f.

* Skip formatting when during format-on-save, the configured formatter cannot be found (continue to show silent notification), microsoft#106376

* don't use renderCodicons any more, microsoft#105799

* remove old renderCodicons-function, rename renderCodiconsAsElement to renderCodicons

* NotebookEditorEdit-api changes, microsoft#105283

* WorkspaceEdit-api changes, microsoft#105283

* adopt notebook integration tests, microsoft#105283

* add NotebookCell#index, microsoft#106637

* fix delay issue for provideCodeLenses, microsoft#106267

* rename RunOnceScheduler#timeout to delay

* use debian stretch images (microsoft#106656)

* remove deprecated function calls

related to microsoft#103454

* workaround, maybe fix for microsoft#106657

* update search files

* debt - make class list utils functions so that @deprecated works for them

* fixes microsoft#106406

* notebook - when creating a notebook, check that no notebook with another viewtype exists

* fix bad classList usage

* add regression test for microsoft#106657

* fixes microsoft#86180

* fixes microsoft#100172

Co-authored-by: Alex Ross <[email protected]>
Co-authored-by: Daniel Imms <[email protected]>
Co-authored-by: João Moreno <[email protected]>
Co-authored-by: isidor <[email protected]>
Co-authored-by: Christof Marti <[email protected]>
Co-authored-by: Johannes Rieken <[email protected]>
Co-authored-by: Benjamin Pasero <[email protected]>
Co-authored-by: Martin Aeschlimann <[email protected]>
Co-authored-by: rebornix <[email protected]>
Co-authored-by: Rob Lourens <[email protected]>
Co-authored-by: IllusionMH <[email protected]>
Co-authored-by: Daniel Imms <[email protected]>
Co-authored-by: Connor Peet <[email protected]>
Co-authored-by: Matt Bierner <[email protected]>
Co-authored-by: Jean Pierre <[email protected]>
Co-authored-by: Peng Lyu <[email protected]>
Co-authored-by: Sandeep Somavarapu <[email protected]>
Co-authored-by: Vyacheslav Pukhanov <[email protected]>
Co-authored-by: Alex Dima <[email protected]>
Co-authored-by: João Moreno <[email protected]>
Co-authored-by: Miguel Solorio <[email protected]>
Co-authored-by: SteVen Batten <[email protected]>
Co-authored-by: Jackson Kearl <[email protected]>
Co-authored-by: Rachel Macfarlane <[email protected]>
Co-authored-by: Dirk Baeumer <[email protected]>
Co-authored-by: WhizSid <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: deepak1556 <[email protected]>
Co-authored-by: Oleg Demchenko <[email protected]>
@CuriousTommy
Copy link

@joaomoreno Apologizes if this is the wrong place to ask, but are there plans to update the insider download page to include Linux arm64/armhf?

Screenshot_20200920_073908

@koutsenko
Copy link

Cannot find download link for ARM linux deb.
Only ARM windows link provided :(

@Sleuth56
Copy link

@koutsenko use headmelted or VSCodium https://vscodium.com/

@koutsenko
Copy link

@lerker100 , thanks , but i installed insiders version mentioned here - #106289 (comment)

@joaomoreno joaomoreno added verification-needed Verification of issue is requested verified Verification succeeded on-release-notes Issue/pull request mentioned in release notes labels Sep 28, 2020
@davidrimshnick
Copy link

davidrimshnick commented Oct 10, 2020

Looks like ARM supported now:

https://code.visualstudio.com/updates/v1_50#_linux-arm-builds

Guess this can be closed.

@ShalokShalom
Copy link

This is already closed.

@github-actions github-actions bot locked and limited conversation to collaborators Oct 26, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-request Request for new features or functionality insiders-released Patch has been released in VS Code Insiders install-update VS Code installation and upgrade system issues linux Issues with VS Code on Linux on-release-notes Issue/pull request mentioned in release notes verification-needed Verification of issue is requested verified Verification succeeded
Projects
None yet
Development

Successfully merging a pull request may close this issue.