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

Not compatible with Remote Development? #178

Closed
NMertsch opened this issue Apr 27, 2023 · 4 comments
Closed

Not compatible with Remote Development? #178

NMertsch opened this issue Apr 27, 2023 · 4 comments

Comments

@NMertsch
Copy link

I have VS Code 1.77.3 installed on a Windows PC and use the Remote Development extension to connect to a Linux VM via SSH, where I do most of my development work.

The Ruff extension is installed and works without issues in local projects:
image

When I switch to a remote project, I can click the button "Install in SSH: [vm hostname]", which worked fine for all other extensions (e.g. Python, Black Formatter):
image

But for the Ruff extension I get the error message "Can't install 'charliermarch.ruff' extension because it is not compatible with the current version of Visual Studio Code (version 1.77.3)."
image
image

I don't know much about VS Code internals (neither about extensions, nor about remote development) and have no clue what's the issue. I'm happy to try things, though :)

Also thank you for this great linter and IDE integration!

@charliermarsh
Copy link
Member

Hmm, strange. It's the same version of VS Code, right? So maybe that error message ("not compatible with the current version") is a red herring, and something else is going wrong.

@NMertsch
Copy link
Author

NMertsch commented May 5, 2023

EDIT: Solved it, the issue was totally unrelated to the content of this comment. Leaving it here for reference/findability.

Sorry for taking so long. I'm not familiar with VS Code internals or its Extension API, but here's what I found:

Since I'm connecting from Windows to Linux, could it be an issue with platform-specific components in the extension? The following issues suggest this could cause trouble (these specific issues got fixed, though):

--- Logs ---

Here are the log entries occuring when trying to install the ruff extension on the remote host (log level: trace).

Shared
2023-05-05 15:01:54.499 [debug] User data changed
Window
2023-05-05 15:02:44.591 [debug] Remote Install Error Name Incompatible
2023-05-05 15:02:44.598 [error] Incompatible: Can't install 'charliermarsh.ruff' extension because it is not compatible with the current version of Visual Studio Code (version 1.77.3).
    at ne.G (/home/my-user/.vscode-server/bin/704ed70d4fd1c6bd6342c436f1ede30d1cff4710/out/vs/server/node/server.main.js:142:32663)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async ne.installFromGallery (/home/my-user/.vscode-server/bin/704ed70d4fd1c6bd6342c436f1ede30d1cff4710/out/vs/server/node/server.main.js:142:24184)
2023-05-05 15:02:44.598 [trace] DialogService#prompt Can't install 'charliermarsh.ruff' extension because it is not compatible with the current version of Visual Studio Code (version 1.77.3).
2023-05-05 15:02:44.599 [error] Can't install 'charliermarsh.ruff' extension because it is not compatible with the current version of Visual Studio Code (version 1.77.3).: Incompatible: Can't install 'charliermarsh.ruff' extension because it is not compatible with the current version of Visual Studio Code (version 1.77.3).
    at ne.G (/home/my-user/.vscode-server/bin/704ed70d4fd1c6bd6342c436f1ede30d1cff4710/out/vs/server/node/server.main.js:142:32663)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async ne.installFromGallery (/home/my-user/.vscode-server/bin/704ed70d4fd1c6bd6342c436f1ede30d1cff4710/out/vs/server/node/server.main.js:142:24184)
2023-05-05 15:02:44.619 [trace] [editor auto save] triggering auto save with reason 4
2023-05-05 15:02:44.623 [trace] InteractiveSessionService#onWillSaveState: Persisting 0 sessions
2023-05-05 15:02:44.838 [trace] [File Watcher (node.js)] [raw] ["change"] globalStorage
2023-05-05 15:02:44.838 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\MyUser\AppData\Roaming\Code\User\globalStorage
2023-05-05 15:02:44.840 [trace] [File Watcher (node.js)] [raw] ["change"] globalStorage
2023-05-05 15:02:44.841 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\MyUser\AppData\Roaming\Code\User\globalStorage
2023-05-05 15:02:44.927 [trace] [File Watcher (node.js)] >> normalized [CHANGED] c:\Users\MyUser\AppData\Roaming\Code\User\globalStorage
2023-05-05 15:02:44.928 [debug] User data changed
Extension Host (Remote)
2023-05-05 15:03:56.943 [debug] ProxyResolver#resolveProxy envNoProxy http://our-company-server.local:8080/https://dc.services.visualstudio.com/api/profiles/AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217/appId DIRECT
Network Requests
2023-05-05 15:04:55.623 [trace] browser #20: https://charliermarsh.gallerycdn.vsassets.io/extensions/charliermarsh/ruff/2023.12.0/1680114403117/Microsoft.VisualStudio.Code.Manifest?targetPlatform=win32-x64 - begin GET {"X-Market-Client-Id":"VSCode 1.77.3","User-Agent":"VSCode 1.77.3 (Code)","X-Market-User-Id":"177392d9-ca3b-44fd-bffb-af9308f4f2e0","VSCode-SessionId":"85803733d373bc06195a4229d006550d123e6b24e4ff8dc27dcefb52f21ca0a9"}
2023-05-05 15:04:55.631 [trace] browser #20: https://charliermarsh.gallerycdn.vsassets.io/extensions/charliermarsh/ruff/2023.12.0/1680114403117/Microsoft.VisualStudio.Code.Manifest?targetPlatform=win32-x64 - end GET 200 {"cache-control":"public, max-age=31536000","content-encoding":"gzip","content-length":"1897","content-type":"application/json","date":"Wed, 12 Apr 2023 15:30:41 GMT","etag":"0x8DB3083269801E8","last-modified":"Wed, 29 Mar 2023 18:26:44 GMT","server":"ECAcc (frb/6754)","x-ms-blob-type":"BlockBlob","x-ms-lease-status":"unlocked","x-ms-request-id":"c2f16db4-701e-00dc-436c-62bf95000000","x-ms-version":"2009-09-19"}
Network Requests (Remote)
023-05-05 15:05:25.295 [trace] node #34: https://az764295.vo.msecnd.net/extensions/marketplace.json - begin GET {}
2023-05-05 15:05:25.299 [trace] node #34: https://az764295.vo.msecnd.net/extensions/marketplace.json - end GET 403 {"server":"squid/3.5.12","mime-version":"1.0","date":"Fri, 05 May 2023 13:05:25 GMT","content-type":"text/html;charset=utf-8","content-length":"3504","x-squid-error":"ERR_ACCESS_DENIED 0","vary":"Accept-Language","content-language":"en","x-cache":"MISS from our-company-server","x-cache-lookup":"NONE from our-company-server:8080","via":"1.1 our-company-server (squid/3.5.12)","connection":"close"}
2023-05-05 15:05:25.299 [trace] node #35: https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery - begin POST {"X-Market-Client-Id":"VSCode 1.77.3","User-Agent":"VSCode 1.77.3 (Code)","X-Market-User-Id":"3a05ee7e-5b7c-4599-923b-6e791e4414fb","VSCode-SessionId":"fa37bf3e09bffc09b5ad1400b06b2614c617408f7e97d56fffe96d2b23e8cd17","Content-Type":"application/json","Accept":"application/json;api-version=3.0-preview.1","Accept-Encoding":"gzip","Content-Length":"261"}
2023-05-05 15:05:25.302 [trace] node #35: https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery - end POST 403 {"server":"squid/3.5.12","mime-version":"1.0","date":"Fri, 05 May 2023 13:05:25 GMT","content-type":"text/html;charset=utf-8","content-length":"3522","x-squid-error":"ERR_ACCESS_DENIED 0","vary":"Accept-Language","content-language":"en","x-cache":"MISS from our-company-server","x-cache-lookup":"NONE from our-company-server:8080","via":"1.1 our-company-server (squid/3.5.12)","connection":"close"}
Server
2023-05-05 15:05:25.295 [trace] ExtensionManagementService.refreshReportedCache
2023-05-05 15:05:25.295 [trace] resolveShellEnv(): running (macOS/Linux)
2023-05-05 15:05:25.299 [trace] ExtensionManagementService.refreshControlCache - failed to get extension control manifest
2023-05-05 15:05:25.299 [trace] resolveShellEnv(): running (macOS/Linux)
2023-05-05 15:05:25.302 [error] Failed to install extension. charliermarsh.ruff
2023-05-05 15:05:25.302 [error] Incompatible: Can't install 'charliermarsh.ruff' extension because it is not compatible with the current version of Visual Studio Code (version 1.77.3).
    at ne.G (/home/my-user/.vscode-server/bin/704ed70d4fd1c6bd6342c436f1ede30d1cff4710/out/vs/server/node/server.main.js:142:32663)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async ne.installFromGallery (/home/my-user/.vscode-server/bin/704ed70d4fd1c6bd6342c436f1ede30d1cff4710/out/vs/server/node/server.main.js:142:24184)
2023-05-05 15:05:25.457 [trace] Started scanning user extensions {"$mid":1,"fsPath":"/home/my-user/.vscode-server/extensions/extensions.json","external":"file:///home/my-user/.vscode-server/extensions/extensions.json","path":"/home/my-user/.vscode-server/extensions/extensions.json","scheme":"file"}
2023-05-05 15:05:25.474 [trace] Scanned user extensions: 13
Telemetry
2023-05-05 15:07:46.874 [trace] telemetry/extensions:action:install {"properties":{"id":"charliermarsh.ruff","name":"ruff","galleryId":"c2ca9b43-fa38-44fc-928e-5125970b9c00","publisherId":"ae7578b3-bd2b-455d-bbd6-cd231eee3c09","publisherName":"charliermarsh","publisherDisplayName":"Charlie Marsh","querySource":"searchText","queryActivityId":"a2941686-a056-47fc-a90d-04ac79fe0db5","actionId":"extensions.install","VSCode.ABExp.Features":"aa.noopcf;account-aacf;azure-dev_surveyOne;azuremlaa;codespacesAA;config.autoImportUserSymbols;config.C_Cpp.debugShortcut;config.jupyter.showOnlyOneTypeOfKernel;config.python.analysis.autoFormatStringscf;config.python.analysis.pylanceLspClientEnabledcf;config.python.analysis.refactoring.allowMovingSymbols;config.window.experimental.useSandboxcf;config.workbench.editor.preferHistoryBasedLanguageDetectioncf;gettingStarted.overrideCategory.ms-azuretools.azure-dev.azd.start.when;gettingStarted.overrideCategory.ms-azuretools.vscode-azurefunctions.functionsStart.when;gettingStarted.overrideCategory.ms-azuretools.vscode-azureresourcegroups.azure-get-started.when;gettingStarted.overrideCategory.ms-vscode.cpptools.cppWelcome.when;handshakeGitFileClients;inProductDoccf;jupyterEnhancedDataViewer;livesharecontinuousaacf;mindaroBinariesVersion;mindaroBinariesVersion-1.0.20210702;mindaroBinariesVersion-1.0.20210723;NativeNotebookEditor;partialActivation_showCMakeLists;portForwardingServiceEnabled-development;portForwardingServiceEnabled-production;portForwardingServiceEnabled-staging;pylanceAutoIndent;pylanceRenameFile;pythonPromptNewFormatterExt;pythonPromptNewToolsExt;PythonPyTorchProfiler;pythonTensorboardExperiment;redErrorTextcf;RemoveKernelToolbarInInteractiveWindowcf;resetFileClients;reusableLinks;shouldUseGrpcService;ShowLangStatBarcf;showStatusBarIntellisenseIndicator;testing-appver4cf;welcomeview","abexp.assignmentcontext":"vsliv368cf:30146710;vsreu685:30147344;python383cf:30185419;vspor879:30202332;vspor708:30202333;vspor363:30204092;vslsvsres303:30308271;vserr242cf:30382550;pythontb:30283811;vsjup518:30340749;pythonptprofiler:30281270;vshan820:30294714;vstes263cf:30335440;pythondataviewer:30285071;vscod805:30301674;binariesv615:30325510;bridge0708:30335490;bridge0723:30353136;cmake_vspar411:30581797;vsaa593cf:30376535;pythonvs932:30410667;cppdebug:30492333;vscaac:30438847;vsclangdc:30486549;c4g48928:30535728;dsvsc012cf:30540253;pynewext54:30695312;azure-dev_surveyone:30548225;282f8724:30602487;pyind779:30671433;f6dab269:30613381;pythonsymbol12:30671437;a9j8j154:30646983;6233i204:30730053;vsccsb:30705552;azdwalk:30721579;pythonms35:30701012;pythonfmttext:30731395;pythoncmvfstrcf:30731970;fixhidewlkth:30730051;showsbindicator:30730056;","common.machineId":"85803733d373bc06195a4229d006550d123e6b24e4ff8dc27dcefb52f21ca0a9","sessionID":"abec678b-35d2-498e-af8f-5b221d08cc781683291567956","commitHash":"704ed70d4fd1c6bd6342c436f1ede30d1cff4710","version":"1.77.3","common.platformVersion":"10.0.19044","common.platform":"Windows","common.nodePlatform":"win32","common.nodeArch":"x64","common.product":"desktop","timestamp":"2023-05-05T13:07:46.863Z","common.version.shell":"19.1.11","common.version.renderer":"102.0.5005.196","common.firstSessionDate":"Wed, 12 Apr 2023 14:06:35 GMT","common.lastSessionDate":"Wed, 03 May 2023 07:37:43 GMT","common.isNewSession":"0","common.remoteAuthority":"ssh-remote","common.sandboxed":"0"},"measurements":{"isPreReleaseVersion":0,"dependencies":1,"isSigned":1,"index":0,"common.timesincesessionstart":498907,"common.sequence":187,"common.cli":0}}
2023-05-05 15:07:51.939 [trace] telemetry/UnhandledError {"properties":{"msg":"Can't install 'charliermarsh.ruff' extension because it is not compatible with the current version of Visual Studio Code (version 1.77.3).","callstack":"Incompatible: Can't install 'charliermarsh.ruff' extension because it is not compatible with the current version of Visual Studio Code (version 1.77.3).\n    at ne.G (<REDACTED: user-file-path>:142:32663)\n    at runMicrotasks (<anonymous>)\n    at processTicksAndRejections (node:<REDACTED: user-file-path>:96:5)\n    at async ne.installFromGallery (<REDACTED: user-file-path>:142:24184)","VSCode.ABExp.Features":"aa.noopcf;account-aacf;azure-dev_surveyOne;azuremlaa;codespacesAA;config.autoImportUserSymbols;config.C_Cpp.debugShortcut;config.jupyter.showOnlyOneTypeOfKernel;config.python.analysis.autoFormatStringscf;config.python.analysis.pylanceLspClientEnabledcf;config.python.analysis.refactoring.allowMovingSymbols;config.window.experimental.useSandboxcf;config.workbench.editor.preferHistoryBasedLanguageDetectioncf;gettingStarted.overrideCategory.ms-azuretools.azure-dev.azd.start.when;gettingStarted.overrideCategory.ms-azuretools.vscode-azurefunctions.functionsStart.when;gettingStarted.overrideCategory.ms-azuretools.vscode-azureresourcegroups.azure-get-started.when;gettingStarted.overrideCategory.ms-vscode.cpptools.cppWelcome.when;handshakeGitFileClients;inProductDoccf;jupyterEnhancedDataViewer;livesharecontinuousaacf;mindaroBinariesVersion;mindaroBinariesVersion-1.0.20210702;mindaroBinariesVersion-1.0.20210723;NativeNotebookEditor;partialActivation_showCMakeLists;portForwardingServiceEnabled-development;portForwardingServiceEnabled-production;portForwardingServiceEnabled-staging;pylanceAutoIndent;pylanceRenameFile;pythonPromptNewFormatterExt;pythonPromptNewToolsExt;PythonPyTorchProfiler;pythonTensorboardExperiment;redErrorTextcf;RemoveKernelToolbarInInteractiveWindowcf;resetFileClients;reusableLinks;shouldUseGrpcService;ShowLangStatBarcf;showStatusBarIntellisenseIndicator;testing-appver4cf;welcomeview","abexp.assignmentcontext":"vsliv368cf:30146710;vsreu685:30147344;python383cf:30185419;vspor879:30202332;vspor708:30202333;vspor363:30204092;vslsvsres303:30308271;vserr242cf:30382550;pythontb:30283811;vsjup518:30340749;pythonptprofiler:30281270;vshan820:30294714;vstes263cf:30335440;pythondataviewer:30285071;vscod805:30301674;binariesv615:30325510;bridge0708:30335490;bridge0723:30353136;cmake_vspar411:30581797;vsaa593cf:30376535;pythonvs932:30410667;cppdebug:30492333;vscaac:30438847;vsclangdc:30486549;c4g48928:30535728;dsvsc012cf:30540253;pynewext54:30695312;azure-dev_surveyone:30548225;282f8724:30602487;pyind779:30671433;f6dab269:30613381;pythonsymbol12:30671437;a9j8j154:30646983;6233i204:30730053;vsccsb:30705552;azdwalk:30721579;pythonms35:30701012;pythonfmttext:30731395;pythoncmvfstrcf:30731970;fixhidewlkth:30730051;showsbindicator:30730056;","common.machineId":"85803733d373bc06195a4229d006550d123e6b24e4ff8dc27dcefb52f21ca0a9","sessionID":"abec678b-35d2-498e-af8f-5b221d08cc781683291567956","commitHash":"704ed70d4fd1c6bd6342c436f1ede30d1cff4710","version":"1.77.3","common.platformVersion":"10.0.19044","common.platform":"Windows","common.nodePlatform":"win32","common.nodeArch":"x64","common.product":"desktop","timestamp":"2023-05-05T13:07:51.937Z","common.version.shell":"19.1.11","common.version.renderer":"102.0.5005.196","common.firstSessionDate":"Wed, 12 Apr 2023 14:06:35 GMT","common.lastSessionDate":"Wed, 03 May 2023 07:37:43 GMT","common.isNewSession":"0","common.remoteAuthority":"ssh-remote","common.sandboxed":"0"},"measurements":{"count":1,"common.timesincesessionstart":503981,"common.sequence":188,"common.cli":0}}

@NMertsch
Copy link
Author

NMertsch commented May 5, 2023

As suggested here, I solved it by adding this to my settings.json:

{
    "remote.downloadExtensionsLocally": true,
}

This is equivalent to the setting Features -> Remote -> Remote: Download Extensions Locally.

Thank you again, looking forward to finally use this extension everywhere!

@NMertsch NMertsch closed this as completed May 5, 2023
@saurabh-pradhan-db
Copy link

wow. This does fix thing for me. Working on a remote linux mechine from a window's host.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants