Qt VS Code Extensions Manual Tests
| Pre-requisit | Result | Annotation | 
|---|---|---|
| Have VS code installed (https://code.visualstudio.com/docs/setup/setup-overview) | ||
| Have a Qt installation (https://account.qt.io/s/downloads) | ||
| Remove any Qt related setting in VS Code User settings.json (Preferences: Open User Settings (JSON)) | 
| Testing | Result | Annotation | 
|---|---|---|
| Qt VS code extension packages | ||
| - In VS code, go to Extensions - Type "Qt Pack" in the Search Extensions in Marketplace - The result should show at the top: - Qt Extension Pack, with 4 extensions - Qt C++ Extension Pack, with 7 extensions - Qt WebAssembly Extension Pack, with 9 entensions - Select Qt Extension Pack, check that the extensions are Qt Core, Qt C++, Qt Qml, Qt UI - Select Qt C++ Extension Pack, check that the extensions are Qt Core, Qt C++, Qt Qml, Qt UI, CMake Tools (from microsoft), C/C++ (from microsoft) - Select Qt WebAssembly Extension Pack, check that the extensions are Qt Core, Qt C++, Qt Qml, Qt UI, CMake Tools (from microsoft), C/C++ (from microsoft) CMake, Live Preview, Qt WebAssembly Extension Pack (from microsoft) | ||
| Installation of the Qt VS-code Extentions | ||
| - In VS code, go to Extensions - Search for Qt Pack - Select Qt WebAssembly Extension Pack - Click install - Select each Qt extension and make sure the latest version is displayed (1.2.1) | ||
| Finding Qt Installation | ||
| - In VS code command palette -(shift+command+P) on MacOS or (shift+ctrl+P) on Windows/Linux- search for Qt register - Two option should appear: - Qt: Register Qt Installation - Qt: Register Qt Installation (by qtpaths or qmake) - Try both commands - Run Preferences: Open User Settings (JSON) - Check that the path to the selected Qt installation has been added under qt-core.qtInstallationRoot | modify when following suggestions have been implemented https://bugreports.qt.io/browse/VSCODEEXT-156 | |
| Opening, building, running a Qt project | ||
| - Get the projet from https://code.qt.io/cgit/qt-labs/vscodeext.git/tree/doc/tutorials/AddressBook - Open the AddressBook folder in VS code - From command palette run Qt: Set the recommended Qt Extensions settings - A .vscode folder should be created with a settings.json file - A "No active kit" button should appear in the bottom status bar - Click on adddialog.ui, a button with "Open this file with Qt Widgets Designer" should appear. - Click on "Open this file with Qt Widgets Designer" a pop up window should appear asking to select a CMake kit - Click on "Select CMake Kit" and select a Qt- kit - The selected kit should now show in place of the "No active kit" - Click again on "Open this file with Qt Widgets Designer", adddialog.ui should now open in Qt Widgets Designer - In VS code, select addressbook.ui, click on "Open this file with Qt Widgets Designer", it should open - Build the AddressBook - Execute it | ||
| Debugging the AddressBook Qt Project | ||
| - Following: opening, building and running the AddressBook project - Make sure a Qt Kit is selected - Remove .vscode/launch.json if present - Click on the debugger icon - Click on "create a launch.json file" - Select C++ (GDB/LLDB) in the selection window popping up - In the launch.json file click on "Add Configuration" if the option are not already open - Select a Qt configuration - Go to addressbook.cpp and place a breaking point at line 29 (item->setData(Qt::UserRole, email);) - Start the debugger - In the AddressBook window click on the "Add" button - Enter a Name and an Email then click "OK" - In VS code check that the name and email variable have the entered values - Finish debugging and close the AddressBook window | ||
| Qt: Scan for Qt Kits | ||
| - In VS code, open CMake: Edit User-Local CMake Kits - Remove all the Qt related kits - Run Qt: Scan for Qt Kits - Make sure the Qt kits reappeared in the cmake-tools-kits.json - Make sure the generated kits are compatible with the registered Qt version - Make sure the generated kits are compatible with the machine OS | ||
| Qt: Open Widget Designer | ||
| - Run the command in the palette | ||
| - One possibility appears corresponding to the selected kit | discuss this behaviour | |
| - In case of "No active kit", the previously available Qt Widget designer version still appears | discuss this behaviour | |
| Qt: Documentation commands | ||
| - In VS code run Qt: Documentation: Open Homepage - A browser to https://doc.qt.io should now be open in VS code - Run Qt: Documentation: Search | ||
| - In the dialog box type Qt related key words and check that the related documentation page opens | could be more specific here | |
| - Go to adddialog.cpp and click on QWidget - Run Qt: Documentation: Search for current word - Page https://doc.qt.io/qt-6/qwidget.html should now be open in the browser | ||
| QML language server related commands | ||
| - In VS code run Check for QML language server update - If a new version is available a pop up window offers to download the latest version - If the current version is up to date, a pop up window says so and gives the tag - Run Qt: Download the most recent QML language server | ||
| - Does so, even if the most recent version is already installed | discuss this behaviour | |
| - Run Qt: Restart QML language server | nothing visible happening | |
| Qt: Open Qt Settings | ||
| - In VS code run Qt: Open Qt Settings - The Settings should open in VS code, with the possibility to switch form User to Workspace - It should be possible to see the settings related to a given extension using the Extensions menu showing under User or Workspace - The following settings should be visible: - Qt-cpp: Do Not Ask For CMake Path (User) - Qt-core: Additional Qt Paths (User and Workspace) - Qt-core: Do Not Ask For Default Qt Installation Root (User) - Qt-core: Do Not Ask For VCPKG (User) - Qt-core: Open Online Documentation In External Browser (User and Workspace) - Qt-core: Qt Installation Root (User and Workspace) - Qt-qml: Do Not Ask For Qmlls Download (User) - Qt-qml › Qmlls: Additional Import Paths (User and Workspace) - Qt-qml › Qmlls: Custom Exe Path (User and Workspace) - Qt-qml › Qmlls: Enabled (User and Workspace) - Qt-qml › Qmlls: Trace Lsp (User and Workspace) - Qt-qml › Qmlls: Use Qml Import Path Env Var (User and Workspace) - Qt-qml › Qmlls: Verbose Output (User and Workspace) - Qt-ui: Custom Widgets Designer Exe Path (User and Workspace) | ||
| Qt: Create New Project | ||
| In the command palette run Qt: Create Create New Project and name the new project In the terminal the following choices should appear: → [Default] @projects/cpp/console [Default] @projects/cpp/qtquick [Default] @projects/cpp/qwidget [Manually select features] Each time you select a project type, the trust window pops up and you're being asked to select a kit. Selecting a kits triggers creation of the build folder. Configuration should end successfully. Select @projects/cpp/console. In the new project, the following should now be present: .gitignore CMakeLists.txt main.cpp Select @projects/cpp/qtquick. You should be asked to select a kit. .gitignore CMakeLists.txt main.cpp Main.qml | ||
| Select @projects/cpp/qwidget. You should be asked to select a kit. .gitignore CMakeLists.txt main.cpp widget.cpp widget.h widget.ui | Configuration error | VSCODEEXT-169 | 
| Select Manually select features. Questions should appear one after the other on the terminal. Answer and save the preset. Below the questions and an example of selected answers. ✔ Pick a preset [Manually select features] ✔ Pick an item to use: [Default] @projects/cpp/console ✔ Qt version: 6 ✔ Use translation: Yes ✔ Target language (e.g. en_US, ko_KR): en_US ✔ Save for later use? Yes ✔ Enter the preset name: my_own_preset Run Qt: Create Create New Project and make sure the saved preset is displayed → my_own_preset (projects/cpp/console) [Default] @projects/cpp/console [Default] @projects/cpp/qtquick [Default] @projects/cpp/qwidget [Manually select features] | ||
| Qt: Create New File | ||
| Run Qt: Create File. Give the file a name. The following option should appear in the terminal → [Default] @types/qml [Default] @types/qrc [Default] @types/ts [Default] @types/ui [Manually select features] Select [Default] @types/qml. Give a name to the new file. Check it looks like expected:  import QtQuick
 
 Item {
 }
Select [Default] @types/qrc. Give a name to the new file. Check it looks like expected:  <!DOCTYPE RCC>
 <RCC version="1.0"/>
Select [Default] @types/ts. Give a name to the new file. Check it looks like expected:  <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="en_US"></TS>
 | ||
| Select [Default] @types/ui. Give a name to the new file. A button to Open this file with Qt Widgets Designer appears. Select [Manually select features]. Questions should appear one after the other on the terminal. Answer and save the preset. Below the questions and an example of selected answers. ✔ Pick a preset [Manually select features] ✔ Pick an item to use: [Default] @types/qml ✔ Save for later use? Yes ✔ Enter the preset name: my_file Next time Qt: Create File is run, on should see: → my_file (types/qml) [Default] @types/qml [Default] @types/qrc [Default] @types/ts [Default] @types/ui [Manually select features] 
 | ||
| Qt: Reset Qt Tools Extension State (For troubleshooting) | ||
| to do |