Manage special defaults of the `virtualWorkspaces` property · Issue #122836 · microsoft/vscode · GitHub
Skip to content

Manage special defaults of the virtualWorkspaces property #122836

Closed

Description

@egamma

Extensions have started to adopt the new Virtual Workspace capability: Guide, Tracking Issue

Until extensions have adopted the new capability, we came up with an internal list of extensions that we think should be disabled in virtual workspaces. The list that is reflected in product's project.json.

The issue is used to keep the list updated. We can remove extensions as a soon as they adopted the virtualWorkspaces property.

  • ms-python.python
  • ms-vscode.cpptools
  • dbaeumer.vscode-eslint
  • esbenp.prettier-vscode
  • msjsdiag.debugger-for-chrome
  • redhat.java
  • eamodio.gitlens
  • HookyQR.beautify
  • ritwickdey.LiveServer
  • VisualStudioExptTeam.vscodeintellicode
  • vscjava.vscode-java-debug
  • octref.vetur
  • ms-azuretools.vscode-docker
  • vscjava.vscode-maven
  • vscjava.vscode-java-test
  • vscjava.vscode-java-pack
  • formulahendry.code-runner
  • felixfbecker.php-intellisense
  • vscjava.vscode-java-dependency
  • redhat.vscode-yaml
  • felixfbecker.php-debug
  • ms-mssql.mssql
  • christian-kohler.path-intellisense
  • eg2.tslint
  • eg2.vscode-npm-script
  • donjayamanne.githistory
  • Zignd.html-css-class-completion
  • christian-kohler.npm-intellisense
  • EditorConfig.EditorConfig
  • austin.code-gnu-global
  • ms-vscode-remote.remote-wsl
  • johnpapa.Angular2
  • ms-vscode.vscode-typescript-tslint-plugin
  • DotJoshJohnson.xml
  • techer.open-in-browser
  • DavidAnson.vscode-markdownlint
  • tht13.python
  • bmewburn.vscode-intelephense-client
  • Angular.ng-template
  • felixfbecker.php-pack
  • dbaeumer.jshint
  • msjsdiag.vscode-react-native
  • Dart-Code.dart-code
  • yzhang.markdown-all-in-one
  • Dart-Code.flutter
  • streetsidesoftware.code-spell-checker
  • rebornix.Ruby
  • ms-vscode.sublime-keybindings
  • batisteo.vscode-django
  • alefragnani.project-manager
  • mitaki28.vscode-clang
  • steoates.autoimport
  • donjayamanne.python-extension-pack
  • shd101wyy.markdown-preview-enhanced
  • mikestead.dotenv
  • GrapeCity.gc-excelviewer
  • pranaygp.vscode-css-peek
  • ikappas.phpcs
  • platformio.platformio-ide
  • jchannon.csharpextensions
  • gruntfuggly.todo-tree

Activity

  1. added this to the May 2021 milestone on May 3, 2021
  2. rebornix commented on May 3, 2021

    @rebornix
    Contributor

    Martin Aeschlimann (@aeschli) from the release note that it seems we generated list by checking if an extension is using fs. Do you have an idea how this will impact Vim. Vim's desktop version uses fs but it can work with a virtual file (textDocument). Asking as the wiki link is not valid yet.

  3. egamma commented on May 4, 2021

    @egamma
    MemberAuthor

    Peng Lyu (@rebornix) Martin Aeschlimann (@aeschli) has started to update the guide https://github.com/microsoft/vscode/wiki/Virtual-Workspaces and there is more info available.

    Just to share what I've found when I did the initial checking of the Vim extension. I found that it works OK, but I haven't tested all the features of Vim. From reviewing the code the extension already abstracts fs access in src/platform/node/fs.ts and uses vscode.workspace.fs where possible 👍 . However, vscode.workspace.fs is not used everywhere and it would be good investigate the impact of this in a virtual workspace setup and to handle it gracefully. For example, unlink is using fs directly.

  4. changed the title [-]Track the adoption of the `virtualWorkspaces` property[/-] [+]Manage special defaults of the `virtualWorkspaces` property[/+] on May 10, 2021
  5. cyrilletuzi commented on May 12, 2021

    @cyrilletuzi

    My Angular Schematics extension is doing a lot of files/paths management, and trying to comply with the virtual workspaces guide (PR cyrilletuzi/vscode-angular-schematics#551) revealed many things (being forced to use Node APIs because of missing methods on vscode.Uri, being forced to use fsPath in some place because of an issue with path in some scenarios, etc.). Where should I report these things?

  6. aeschli commented on May 14, 2021

    @aeschli
    Contributor

    Cyrille Tuzi (@cyrilletuzi) You can find path like utilities in the vscode-uri node module:
    See https://www.npmjs.com/package/vscode-uri, section Usage: Util

  7. cyrilletuzi commented on May 25, 2021

    @cyrilletuzi

    Martin Aeschlimann (@aeschli) Thanks, vscode-uri solved some of my issues.

    1. Is there a reason some methods (like joinPath()) are directly available in @types/vscode while some others (like dirname() and basename()) require vscode-uri? Now that you explicitly require to not use Node APIs directly, it would make sense to include everything directly in @types/vscode.

    Also, there is still some issues and missing features so I'm able to get rid of all Node APIs:

    1. I need path.relative() a lot, and it doesn't exist in vscode-uri. Can it be added? It would work the same (2 Uris as params, and returns a string representing the relative path).

    2. contextUri.path wrongly uppercased on Windows #116298, which was not taken into account properly, should be reopened and fixed (otherwise I'm forced to use .fsPath in some places, as .path is buggy in some scenarios explained in the issue).

    3. vscode.workspace.createFileSystemWatcher() only accepts a fsPath string, and not a Uri as all other VS Code APIs. Do you confirm it's intended and it can't be done with schemes other than file, and thus that extensions require a manual check (if (uri.scheme === 'file'))?

  8. aeschli commented on Sep 15, 2021

    @aeschli
    Contributor

    Only one more adoption since July. My guess is that given we provide the default, the listed extensions don't have any pressure to adopt.

    I'll close this issue now and will make changes to our default on request.

  9. locked and limited conversation to collaborators on Oct 31, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

plan-itemVS Code - planned item for upcoming

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions