tis-vscode icon

Visual Studio Code

Paquet d’installation silencieuse pour Visual Studio Code

1.108.2-44
Development
Development

Les paquets PREPROD sont des paquets construits via LUTI. Ils restent généralement 5 jours en PREPROD, après quoi un deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.

  • package: tis-vscode
  • name: Visual Studio Code
  • version: 1.108.2-44
  • categories: Development
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ,Jordan ARNAUD
  • editor: Microsoft
  • licence: MIT,TypeScript
  • locale: all
  • target_os: darwin
  • impacted_process: Code,code
  • architecture: arm
  • signature_date:
  • size: 157.20 Mo
  • installed_size: 415.31 Mo
  • homepage : https://code.visualstudio.com/

package           : tis-vscode
version           : 1.108.2-44
architecture      : arm
section           : base
priority          : optional
name              : Visual Studio Code
categories        : Development
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ,Jordan ARNAUD
description       : Visual Studio Code is a source-code editor developed by Microsoft
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : darwin
min_wapt_version  : 2.3
sources           : https://code.visualstudio.com/Download
installed_size    : 415312378
impacted_process  : Code,code
description_fr    : Visual Studio Code est un éditeur de code extensible développé par Microsoft
description_pl    : Visual Studio Code to edytor kodu źródłowego opracowany przez firmę Microsoft
description_de    : Visual Studio Code ist ein von Microsoft entwickelter Quellcode-Editor
description_es    : Visual Studio Code es un editor de código fuente desarrollado por Microsoft
description_pt    : Visual Studio Code é um editor de código-fonte desenvolvido pela Microsoft
description_it    : Visual Studio Code è un editor di codice sorgente sviluppato da Microsoft
description_nl    : Visual Studio Code is een broncode-editor ontwikkeld door Microsoft
description_ru    : Visual Studio Code - это редактор исходного кода, разработанный компанией Microsoft
audit_schedule    : 
editor            : Microsoft
keywords          : visual,studio,code,vs,vscode,editor,debugger
licence           : MIT,TypeScript
homepage          : https://code.visualstudio.com/
package_uuid      : 255d5784-983a-4f95-9572-fa16baacd433
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://code.visualstudio.com/updates
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 50b90b0ed98d91261db603bf1d2f762c0912d9f615961b92af1e483fbd129aa7
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-01-23T22:34:15.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature         : WGiThunPeKaYfPW527Hih5rAIhQP6y15hNJqj1xh+duELOKvVzpTBYip/wEO6pRaVYThd8kUV1ecoG3KHsYkraJ23VsSdRqLbmQWRVaY4ahss/FKtqAQiIL/PU7fWTfYCz17I1okHryZVMXueyC+mhfLjKrvuIb9q6bkQYyFh1UXpSUqaBK0PHLKZECHowEU+CNdTRnnBOyHYgtw5Bop209n2UIPSAH36JZDI++KiM8Fxn0WE5QAc2zFY7nI+QY4cPWFikvsXvUyTWOqA+bCy4OgFAtt81TrhIqXn2vkqR0mZUxaT4RoODI1zxW/bgVNwAKUj0grdoQ8WfGre2JrHQ==

# -*- coding: utf-8 -*-
from setuphelpers import *
import json


def install():
    app_dir = "/Applications/Visual Studio Code.app"
    bin_name = glob.glob("VSCode-darwin-arm64*.zip")[0]

    # Installing the package
    if isdir(app_dir):
        remove_tree(app_dir)

    run("unzip %s -d /Applications/" % bin_name)
    run('chmod -R 755 "%s"' % app_dir)
    run('chown -R root:wheel "%s"' % app_dir)

    # Removing the quarantine bit on the file (set by safari when downloaded from internet)
    run('xattr -d -r com.apple.quarantine "%s"' % app_dir)

    try:
        os.symlink("/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code", "/usr/local/bin/code")
    except:
        print("code is already in PATH")


def uninstall():
    # Uninstalling the package
    uninstall_app("Visual Studio Code.app")


def session_setup():
    print("Disabling: Telemetry, automatic updates, surveys")

    # Configuration procedure: https://supunkavinda.blog/vscode-editing-settings-json
    # C:\Users\username\AppData\Roaming\Code\User\settings.json

    # Initializing variables
    user_conf_dir = makepath(user_home_directory(), "Library", "Application Support", "Code", "User")
    user_conf_file = makepath(user_conf_dir, "settings.json")
    user_conf_content = r"""{
    "update.mode": "none",
    "update.enableWindowsBackgroundUpdates": false,
    "update.showReleaseNotes": false,
    "telemetry.telemetryLevel": "off",
    "typescript.surveys.enabled": false,
    "extensions.autoCheckUpdates": false,
    "extensions.autoUpdate": false
}"""

    user_conf_data = json.loads(user_conf_content.strip(","))
    if not isdir(user_conf_dir):
        mkdirs(user_conf_dir)
    if not isfile(user_conf_file):
        print("Creating: %s" % user_conf_file)
        json_write_file(user_conf_file, user_conf_data)
    else:
        new_user_conf_data = json_load_file(user_conf_file)
        new_user_conf_data.update(user_conf_data)
        print("Updating: %s" % user_conf_file)
        json_write_file(user_conf_file, new_user_conf_data)

# -*- coding: utf-8 -*-
from setuphelpers import *
import requests
import waptlicences


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name

    os_dict = {
        "windows-x64": "win32-x64",
        "windows-arm": "win32-arm64",
        "redhat_based-x64": "linux-rpm-x64",
        "debian(>=12),ubuntu(>=20)-x64": "linux-deb-x64",
        "debian(>=12),ubuntu(>=20)-arm64": "linux-deb-arm64",
        "darwin-x64": "darwin",
        "darwin-arm": "darwin-arm64",
    }

    os_type = control.target_os + "-" + ensure_list(control.architecture)[0]

    api_url = "https://api.github.com/repos/microsoft/vscode/releases/latest"

    # Getting latest version information from official sources
    print("API used is: %s" % api_url)
    json_load = wgets(api_url, proxies=proxies, as_json=True)
    version = json_load["tag_name"]
    download_url = f"https://update.code.visualstudio.com/{version}/{os_dict[os_type]}/stable"
    download_url = requests.head(download_url, proxies=proxies).headers['Location']
    latest_bin = download_url.rsplit('/', 1)[-1]
    latest_bin_extension = latest_bin.rsplit('.', 1)[-1]

    # Downloading latest binaries
    print(f"Latest {app_name} version is: {version}")
    print(f"Download URL is: {download_url}")
    if not isfile(latest_bin):
        print(f"Downloading: {latest_bin}")
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print(f"Binary is present: {latest_bin}")

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
        package_updated = True
    else:
        print(f"Software version up-to-date ({Version(version)})")

    for f in glob.glob(f'*.{latest_bin_extension}'):
        if f != latest_bin:
            remove_file(f)

    control.set_software_version(version)
    control.save_control_to_wapt()

    return package_updated

649d102aa905418cf757b4c46a5337b05267a989ca060415a8f5ddb22d9cfbcd : VSCode-darwin-arm64.zip
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
3d46785814ae49ee2ee3cd998bb032fb5bb16a6c2670f4f3a89ca540fdb87bd0 : WAPT/control
50b90b0ed98d91261db603bf1d2f762c0912d9f615961b92af1e483fbd129aa7 : WAPT/icon.png
88b32205c77ed2eec28962fd06c3e6c410ddddd4baf52633ad5f0328cd557f88 : luti.json
0cd535bc9808c99fb8e9e7c05ea52983b7b35332e6dfe4af1a2ebd042bfa97ce : setup.py
5c776bd9e4ce48cbae905abc72ee960d7066435247f84999df850c055bd0ca58 : update_package.py