Skip to content

v1.0.0

Compare
Choose a tag to compare
@afri-bit afri-bit released this 03 Feb 22:11
· 50 commits to main since this release

Breaking Changes

  • Following settings in settings.json are OBSOLETE

    • vsconan.general.pythonInterpreter
    • vsconan.general.conanExecutable
    • vsconan.general.conanExecutionMode

    Instead, you can define multiple profiles according to your need in the settings.json. See example below:

    "vsconan.conan.profile.configurations": {
      "myprofile_1": {
        "conanVersion": "1",
        "conanPythonInterpreter": "python",
        "conanExecutable": "conan",
        "conanExecutionMode": "pythonInterpreter",
      },
      "myprofile_2": {
        "conanVersion": "2",
        "conanPythonInterpreter": "/home/user/.venv/bin/conan",
        "conanExecutable": "/home/user/.venv/bin/conan",
        "conanExecutionMode": "conanExecutable",
        "conanUserHome": "/home/user/your/path/to/.conan2"
      }
    },
    "vsconan.conan.profile.default": "myprofile_2",

    Using vsconan.conan.profile.default you can switch the profile easily, in case you have multiple conan setup or multiple python virtual environments with different conan versions. conanUserHome is optional parameter, in case you want to have a different location for conan home folder.

  • The workspace configuration to execute conan command, such as build, install, etc., is slightly changed, but it has a big impact to your workflow / usage of this configuration.

    The python attribute is no longer available!

    Instead of using hard coded python path inside this json file, it will rely on the selected conan configuration profile. So with this change, you can use the same json file but using in the different conan version (Easy switch between conan 1 and 2).

    {
      "commandContainer": {
          "create": [
              {
                  "name": "create",
                  "description": "Create command",
                  "detail": "Create command detail",
                  "conanRecipe": "conanfile.py",
                  "profile": "default",
                  "user": "",
                  "channel": "",
                  "args": []
              }
          ],
          "install": [
              {
                  "name": "install",
                  "description": "Install command",
                  "detail": "Install command detail",
                  "conanRecipe": "conanfile.py",
                  "installFolder": "install",
                  "profile": "default",
                  "user": "",
                  "channel": "",
                  "args": []
              }
          ],
          .
          .
          .
          .
      }
    }

    Due to the fact that there are some differences in the commands between conan 1 and 2, some attributes are added to some commands, that might not be used in one conan version or the other.
    Following example might give you clarity.

    • Conan 1 - conan source

      optional arguments:
        -h, --help
        -sf SOURCE_FOLDER, --source-folder SOURCE_FOLDER
        -if INSTALL_FOLDER, --install-folder INSTALL_FOLDER
    • Conan 2 - conan source

      optional arguments:
        --name NAME
        --version VERSION
        --user USER
        --channel CHANNEL

Added

  • Conan 2 - Browsing the recipe with UI
    • Delete recipe
    • Open in VSCode
    • Open in explorer
  • Conan 2 - Browsing the packages with UI
    • Delete Package
    • Open in VSCode
    • Open in explorer
  • Conan 2 - Browsing the package revisions with UI
    • Delete package revision
    • Open in VSCode
    • Open in explorer
  • Conan 2 - Working with remotes with tree view
    • Same functionality as conan1
  • Conan 2 - Working with profiles with Tree view
    • Same functionality as conan1
  • Multiple profile definition for conan configuration in settings.json
  • Easy switch between conan configuration profile using status bar
  • Status bar view of selected conan configuration profile
  • Added new treeview for package revision (Only meant for conan2)

Changed

  • New color palette for the VSConan logo :) Adapted the color according to the new official conan logo (roughly)