Use python para obter a versão mais recente do vscode-server

Use python para obter a versão mais recente do vscode-server

Ao usar o vscode para se conectar ao servidor remotamente, o vscode irá baixar e instalar o vscode-server no lado do servidor, mas às vezes nosso servidor remoto não consegue se conectar diretamente ao endereço de download ou a velocidade de download é muito impressionante. O que devemos fazer?

https://update.code.visualstudio.com/commit:$(commit_id)/server-linux-x64/stable"

Este é o endereço de download do vscode-server. $(commit_id) corresponde ao número de envio da versão local do vscode, que pode ser encontrado em Help-About. notas de lançamento do vscode
É muito problemático baixá-lo manualmente sempre que o VS é atualizado, então escrevi um script para concluir o processo de download.

Análise de ideias

  1. Primeiro, você precisa obter o commit_id do vscode. O armazém do vscode está no github, então considere obter a versão mais recente do commit_id por meio da API fornecida pelo github.
  2. Primeiro, obtenha a página de lançamento mais recente da API do github e, em seguida, obtenha o commit_id da página de lançamento correspondente.

Código

  1. Obtenha a página de lançamento:
url = "https://api.github.com/repos/microsoft/vscode/releases/latest"
release_url = requests.get(url).json()["html_url"]

  1. Obtenha commit_id:
    Como você só precisa obter uma URL, não há necessidade de usar bibliotecas como bs4 e lxml para analisar a página da Web. Você pode simplesmente pesquisá-la diretamente com expressões regulares.
commit_id = (re.search("/microsoft/vscode/commit/(.+?)\"",
                requests.get(release_url).text).group(1))

fim

Finalmente, seja Linux ou Windows, você pode adicionar o script à tarefa agendada e executá-lo regularmente. Se você executá-lo regularmente, poderá primeiro detectar se o número da versão mudou.

with open("vscode_commit_id.txt","r+") as cid:
    if cid.read()==commit_id:
        print("exit")
        exit()
    else:
        cid.seek(0)
        cid.truncate()
        cid.write(commit_id)

Acho que você gosta

Origin blog.csdn.net/u013943146/article/details/118999174
Recomendado
Clasificación