microsoft / vscode-powerquery-sdk

Power Query Connector Development SDK for VS Code
MIT License
72 stars 12 forks source link

Power Query SDK for Visual Studio Code Offline Install #287

Open DivingJoen opened 1 year ago

DivingJoen commented 1 year ago

Preflight Checklist

Power Query SDK

0.2.3

Regression From

No response

Platform

Windows

Architecture

x64

OS Version

Windows Server 2016

VSCode version

1.82.2

PQSdkTool Path

C:\Users\.vscode\extensions\powerquery.vscode-powerquery-sdk-0.2.3-win32-x64

Bug Description

How can I do an offline Install of the Power Query SDK für VSC?

Our ProxyServer and Firewall do not allow access to Nuget. Downloading and Installing the VSIX File triggers a call to download the Nuget file. Downloading the file and providing it doesn't work. Copying the complete Install from a working client (not behind the proxy) doesn't work.

Whenever starting VSC or trying to work with the SDK this error comes: "Failed to update PowerQuery.SdkTools package due to socket hang up".

What is needed for an offline Install to work?

Steps to Reproduce

Have a Proxy that blocks traffic to Nuget Install VSIX file for Power Query / M Language Install VSIX file for Power Query SDK Copy the .vscode\extensions\powerquery.vscode-powerquery-sdk-0.2.3-win32-x64 from a working installation Start VSC -> Error Open a PBI Custom Connector Project and try to evaluate. - > error

Actual Experience

Power Query SDK does not work allthough it seems all necessary files are there

Expected Experience

Power Query SDK works.

Additional Context

No response

mattmasson commented 10 months ago

You should be able to use the powerquery.sdk.tools.location setting to specify the directory of the unpacked SdkTools nuget package.

259 added a way to change the version of the tools you download, but I don't think we were considering offline scenarios.

There might be some additional work to prevent the extension from trying to download the package and erroring out.

Perhaps we could add an additional option for powerquery.sdk.externals.versionTag (something like Use Local) to indicate that the background fetch should not be done and to always use the pqtest binaries located at powerquery.sdk.tools.location.