tonka3000 / vscode-qt-tools

Qt tools extension for Visual Studio Code
MIT License
41 stars 10 forks source link

[feature] Provide `Qt: Deploy executable` in Command Palette. #71

Open hwhsu1231 opened 2 years ago

hwhsu1231 commented 2 years ago

Problem to solve

For example, after building an executable depended upon Qt on Windows, here is a problem I usually face.

If I don't put the bin directory of Qt Kits into PATH environment variable, the system will pop up the error of "lack-of-dll". The solution of it is to copy those dll files that it need into the directory of executables generaeted by us. But it is quite complex for Qt, so we can use windeployqt tool to do so.

Proposal

I suggest that qttools provide a command called Qt: Deploy executable in Command Palette.

And set the configuration of deployment arguments in settings.json.

Further details

The configuration of deployment arguments in settings.json could be like:

{
  "qttools.deployqtArgs": {
    "executablePath": "${command:cmake.launchTargetPath}"
    "windeployqt": [
      "--verbose 1"
      "--no-translation",
      "--no-opengl-sw"
    ],
    "macdeployqt": [],
    "androiddeployqt": []
  }
}
tonka3000 commented 2 years ago

@hwhsu1231 Do you would use it for deploy the application or for the development process? For dev scenario it would be better to inject the PATH variable automatically into launch.json. There is a dedicated variable name environment for that. That way it would be automatically done for you without any copy of files.