Package Details: code-features 1.99.0-1

Git Clone URL: https://aur.archlinux.org/code-features.git (read-only, click to copy)
Package Base: code-features
Description: Unblock some features in Code OSS
Upstream URL: https://github.com/microsoft/vscode
Keywords: vscode
Licenses: unknown
Conflicts: code-features
Provides: code-features
Submitter: sainnhe
Maintainer: sainnhe
Last Packager: sainnhe
Votes: 63
Popularity: 3.49
First Submitted: 2021-04-06 00:46 (UTC)
Last Updated: 2025-04-06 13:16 (UTC)

Pinned Comments

sainnhe commented on 2024-11-01 14:53 (UTC) (edited on 2024-11-02 03:08 (UTC) by sainnhe)

New Command Available in 1.95.0-2

Now there is a new command /usr/bin/code-features-update that can update the patch to keep up with the official vscode release. You can use this command to manually update the patch when this package is out of date or some extensions don't work after an update in extra/code.

sainnhe commented on 2024-05-17 03:39 (UTC) (edited on 2024-10-26 10:10 (UTC) by sainnhe)

About this package

This package installs a hook that will patch product.json every time the code package is updated. The patch basically does the following:

  1. Syncs proposed APIs with the latest vscode release. Some extensions don't work in code oss because some specific APIs are not enabled in product.json.
  2. Enable built-in settings sync feature.
  3. Disable telemetry.
  4. Use ~/.vscode and ~/.Code instead of ~/.vscode-oss and ~/.Code OSS.

You might be confused why this package changes the data directory. There are two reasons:

  1. Some extensions (e.g. Pylance) require to use the data directory to work.
  2. Isolate settings sync data from the OSS version. People may want to install this package because they want to unlock some proprietary extensions, and may have some specific settings that only works with these extensions. Besides, this package will enable built-in sync feature, so isolating the settings may avoid some potential problems such as messing up your synced settings.

If you don't like this behavior, simply create a symlink.

About proprietary extensions

Proprietary extensions are not guaranteed to work, because some extensions will actively detect whether the current running environment is the official vscode release, and it's very hard to bypass their detection at all time.

If some extensions don't work, try:

  1. Run update.py in the project root. This scripts will update the patch to match the latest vscode release. Then execute makepkg -fsi to rebuild and install this package.
  2. Switch over a FOSS alternative, for example Pylance -> Basedpyright, C/C++ -> Clangd

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 Next › Last »

wooptoo commented on 2022-12-14 15:15 (UTC)

Excuse the ignorance, what does this package actually do? I've only needed to install this now with the upgrade to vscode v1.74 because of the python extension issue.

DroidFreak32 commented on 2022-11-26 23:16 (UTC) (edited on 2022-11-26 23:20 (UTC) by DroidFreak32)

Remote-SSH extension doesn't work, however there is a HACKY workaround in product.json:

1) Replace "serverApplicationName": "code-server-oss" With "serverApplicationName": "code-server" This could be added in the patch if you wish to do so, @sainnhe

2) Edit extension's javascript:

Open the Extension's extension.js file, as of this moment it is at: ~/.vscode-oss/extensions/ms-vscode-remote.remote-ssh-0.92.0/out/extension.js

Find this string:

\n\ttar -xf vscode-server.tar.gz\n\tTAR_EXIT

Replace it with:

\n\ttar -xf vscode-server.tar.gz\n\tsed -i 's/if(this._environmentService.isBuilt)/if(!this._environmentService.isBuilt)/' vscode-server*/out/vs/server/node/server.main.js\n\tTAR_EXIT

This just reverses the condition at remoteExtensionHostAgentServer.ts#L385 so the remote side accepts the OSS Build in "DEV" mode Source

jamazi commented on 2022-11-22 15:37 (UTC) (edited on 2022-11-22 15:44 (UTC) by jamazi)

pylance will try to lookup files in ~/.vscode/extensions directory then it will fail, solution :

ln -s ~/.vscode-oss ~/.vscode

sainnhe commented on 2022-09-30 04:19 (UTC)

@prettyvanilla: This package needs to be updated, but I don't have time recently. Anyone wants to be a maintainer?

prettyvanilla commented on 2022-09-28 18:09 (UTC)

Looking into the Developer Tools Console I noticed that there are currently mismatches between what some extensions want and what API proposals are currently enabled/patched in. The following seem to be missing:

"ms-vscode.js-debug" (and I presume "ms-vscode.js-debug-nightly" consequently as well) misses the "tunnels" API, and "ms-vscode.remote-repositories" misses "contribShareMenu" and "editSessionIdentityProvider". Unless there are reasons not to enable these it would be great if you could add them.

sainnhe commented on 2022-08-24 02:15 (UTC)

@xuiqzy: Thanks! I've added that.

xuiqzy commented on 2022-08-23 22:26 (UTC)

Should maybe optionally depend on icu69 for liveshare to work with the code package, since it is only usable with this package as a feature not available in the code build normally.

GFdevelop commented on 2022-06-02 17:55 (UTC) (edited on 2022-06-02 17:59 (UTC) by GFdevelop)

@sainnhe the real issue it's here https://github.com/MicrosoftDocs/live-share/issues/4669 and install the icu69 aur package it's the solution.

I have tried icu70 and work, it don't replace the icu package and you can have installed icu and icu70 together.

jongeduard commented on 2022-05-27 20:40 (UTC)

@sainnhe You're welcome!

sainnhe commented on 2022-05-05 12:56 (UTC)

@GFdevelop: I found the exact issue on github, looks like a packaging issue of community/code.

https://github.com/MicrosoftDocs/live-share/issues/4229