Package Details: code-features 1.95.0-3

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: 58
Popularity: 2.96
First Submitted: 2021-04-06 00:46 (UTC)
Last Updated: 2024-11-02 03:08 (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

1 2 3 4 5 6 Next › Last »

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.

iceyear commented on 2024-10-31 17:14 (UTC)

With ms-vscode.vscode-copilot-vision, Github Copilot Chat should add

        "chatReferenceBinaryData"

and ms-vscode.vscode-copilot-vision should add

    "ms-vscode.vscode-copilot-vision": [
        "chatReferenceBinaryData",
        "codeActionAI"
    ],

to make these two extenstions to work functionaly.

sainnhe commented on 2024-10-26 09:53 (UTC)

@she11sh0cked @iceyear Sorry for late reply, I've updated this package to the latest version and it should work now.

iceyear commented on 2024-10-09 05:16 (UTC)

The

            "inlineEdit"

could be added for Github Copilot Chat and

            "codeActionAI",
            "notebookVariableProvider"

could be added for ms.python.python to make the full features.

she11sh0cked commented on 2024-08-12 12:05 (UTC)

--- product.json    2024-08-12 10:58:30.917219333 +0200
+++ product.json    2024-08-12 10:58:56.490877625 +0200
@@ -474,7 +474,8 @@
            "testObserver",
            "aiTextSearchProvider",
            "documentFiltersExclusive",
-           "chatParticipantPrivate"
+           "chatParticipantPrivate",
+           "authGetSessions"
        ],
        "GitHub.remotehub": [
            "contribRemoteHelp",

This needs to be added for GitHub Copilot Chat to work.

sainnhe commented on 2024-06-08 10:30 (UTC)

@iceyear: This package has been updated. It should work out of the box now.

iceyear commented on 2024-06-08 08:29 (UTC)

New Copilot Patch that should be added in Code 1.90.0:

            "documentFiltersExclusive",
            "embeddings",
            "chatParticipantPrivate",
            "aiTextSearchProvider"

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

neitsab commented on 2024-05-14 20:47 (UTC) (edited on 2024-05-14 20:47 (UTC) by neitsab)

@sainnhe Could you confirm whether or not the Remote - SSH extension works with Code - OSS with this installed (for me it's not the case but you never know), and maybe pin your answer so that newcomers to the topic will quickly find it? Thanks! 🙏

C0rn3j commented on 2024-04-10 08:42 (UTC)

Seems severely broken now that 1.88 is out.

2024-04-10 10:40:17.137 [warning] Via 'product.json#extensionEnabledApiProposals' extension 'ms-vscode.vscode-selfhost-test-provider' wants API proposal 'testCoverage' but that proposal DOES NOT EXIST. Likely, the proposal has been finalized (check 'vscode.d.ts') or was abandoned.

2024-04-10 10:40:17.144 [warning] Via 'product.json#extensionEnabledApiProposals' extension 'ms-vscode.extension-test-runner' wants API proposal 'testCoverage' but that proposal DOES NOT EXIST. Likely, the proposal has been finalized (check 'vscode.d.ts') or was abandoned.

2024-04-10 10:40:17.144 [warning] Via 'product.json#extensionEnabledApiProposals' extension 'vscjava.vscode-java-test' wants API proposal 'testCoverage' but that proposal DOES NOT EXIST. Likely, the proposal has been finalized (check 'vscode.d.ts') or was abandoned.

2024-04-10 10:40:18.021 [error] Extension 'ms-python.debugpy' appears in product.json but enables LESS API proposals than the extension wants.
package.json (LOSES): portsAttributes, contribIssueReporter
product.json (WINS): portsAttributes

2024-04-10 10:40:18.021 [error] Extension 'ms-python.python' appears in product.json but enables LESS API proposals than the extension wants.
package.json (LOSES): contribEditorContentMenu, quickPickSortByLabel, testObserver, quickPickItemTooltip, terminalDataWriteEvent, terminalExecuteCommandEvent, contribIssueReporter
product.json (WINS): contribEditorContentMenu, quickPickSortByLabel, portsAttributes, handleIssueUri, testObserver, quickPickItemTooltip, terminalDataWriteEvent, terminalExecuteCommandEvent

2024-04-10 10:40:18.050 [warning] [redhat.vscode-yaml]: Cannot register 'redhat.telemetry.enabled'. This property is already registered.
2024-04-10 10:40:18.087 [error] [ms-python.debugpy]: issue/reporter is a proposed menu identifier. It requires 'package.json#enabledApiProposals: ["contribIssueReporter"]' and is only available when running out of dev or with the following command line switch: --enable-proposed-api ms-python.debugpy

2024-04-10 10:40:18.088 [error] [ms-python.python]: issue/reporter is a proposed menu identifier. It requires 'package.json#enabledApiProposals: ["contribIssueReporter"]' and is only available when running out of dev or with the following command line switch: --enable-proposed-api ms-python.python