当前位置: 首页 > news >正文

vscode离线安装插件--终极解决方案

目录

  • 离线安装插件
    • 安装方法
  • vscode连接远程服务器中的docker
    • 远程连接
    • python jupyter开发

离线安装插件

使用vscode开发过程中,有一些内网服务器没法连接外网,造成安装插件不方便,网络上很多文章提供了很多方法,比较常见的一种是:

  1. 使用一台联网的机器,浏览器搜索插件
  2. 下载插件*.vsix 格式的文件
  3. 复制到内网机器上并安装

经笔者实际使用,这种方法存在几个问题:

  • 首先插件版本和vscode版本需要匹配,增加插件搜索的工作量;
  • 其次,最新微软官网中,很多插件没有download按钮,需要在插件的github项目中自行查找release文件,或者很多插件很难找到;
  • 最后,当插件数量较多时,这种方法无疑非常浪费时间!
  • 并且vscode升级后,需要用同样的方法再次下载-复制-安装。

经过测试,笔者总结了一种相对简洁的方法,减少了查找版本、搜索插件的工作量,并且可批量安装多个插件

安装方法

  1. 同样需要寻找一台联网的机器(毕竟要从外网获取插件,这一步似乎是必不可少的)
  2. 检查机器的系统同目标机(一般是内网机器)操作系统及版本是否一致,如笔者所用为ubuntu18.04,这一步推荐在外网机上安装虚拟机完成。要求外网机和内网机的系统版本一致!!
  3. 在外网机上安装VScode,版本不进行限制,但是推荐使用离线包, 如deb包的形式进行安装,之后正常安装插件,安装完成后使用测试
  4. 外网机的vscode和插件安装,调试无误后,将外网机的 /home/waiwang/.vscode/extensions文件打包,如打包名称为extensions.tar.gz
  5. 将extensions.tar.gz和vscode的安装包一起复制到内网机
  6. 内网机安装vscode,随后将extensions.tar.gz解压并覆盖内网机中的/home/neiwang/.vscode/extensions目录
  7. 最重要一步 修改内网机/home/neiwang/.vscode/extensions/extensions.json文件,将路径替换成内网机的本机路径!
  8. 重启vscode,等待一段时间后,不出意外的话,可以在内网机的机器上看到所有的安装插件了!

vscode连接远程服务器中的docker

远程连接

安装remote-ssh插件

内网无法下载vscode-server.tar.gz 参考下面文章下载安装

vscode-server.tar.gz下载安装

需要注意的是:vscode-server.tar.gz 及其安装是在服务器端进行操作!!而不是打开vscode的客户端

python jupyter开发

  1. 提前在服务器端的 docker container中安装 ipykernel
python -m pip install ipykernel -i https://pypi.mirrors.ustc.edu.cn/simple/

内网一般无法访问 https://pypi.mirrors.ustc.edu.cn/simple/ 需要替换成内网的pip地址

  1. 如果希望成功使用jupyer功能,同样需要在服务器端的机器(docker container)中安装vscode插件,位置在~/.vscode-server/extensions,同样可以在有网机器中调试完毕,将 ~/.vscode-server 整体复制到服务器端。
    可参考链接:
    vscode中 ssh连接服务器后 无法为jupyter文件选择内核kernel

相关文章:

vscode离线安装插件--终极解决方案

目录 离线安装插件安装方法 vscode连接远程服务器中的docker远程连接python jupyter开发 离线安装插件 使用vscode开发过程中,有一些内网服务器没法连接外网,造成安装插件不方便,网络上很多文章提供了很多方法,比较常见的一种是&…...

LabVIEW启动时Access Violation 0xC0000005错误

问题描述 在启动LabVIEW时,可能出现程序崩溃并提示以下错误:Error 0xC0000005 (Access Violation) ​ Access Violation错误通常是由于权限不足、文件冲突或驱动问题引起的。以下是解决此问题的全面优化方案: 解决步骤 1. 以管理员身份运行…...

string(一)

一、了解string 可以看成是字符顺序表。 二、string遍历方式 1、下标[ ] 重载了[] for(int i 0; i < s.size(); i) {cout << s[i]; } 2、迭代器 auto it s.begin(); while(it ! s.end()) {cout << *it;it; } 3、范围for for(auto ch : s) {cout <&l…...

计算机网络 (41)文件传送协议

前言 一、文件传送协议&#xff08;FTP&#xff09; 概述&#xff1a; FTP&#xff08;File Transfer Protocol&#xff09;是互联网上使用得最广泛的文件传送协议。FTP提供交互式的访问&#xff0c;允许客户指明文件的类型与格式&#xff08;如指明是否使用ASCII码&#xff0…...

C++ STL之容器介绍(vector、list、set、map)

1 STL基本概念 C有两大思想&#xff0c;面向对象和泛型编程。泛型编程指编写代码时不必指定具体的数据类型&#xff0c;而是使用模板来代替实际类型&#xff0c;这样编写的函数或类可以在之后应用于各种数据类型。而STL就是C泛型编程的一个杰出例子。STL&#xff08;Standard …...

redisson 连接 redis5报错 ERR wrong number of arguments for ‘auth‘ command

依赖版本 org.redisson:redisson-spring-boot-starter:3.25.2 现象 启动报错 org.redisson.client.RedisException: ERR wrong number of arguments for ‘auth’ command. channel: [xxx] command: (AUTH), params: (password masked) 原因 redis6以下版本认证参数不包含用…...

LeetCode:131. 分割回文串

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode:131. 分割回文串 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是回文串。返回 s 所…...

React-useState讲解

useState 让页面“动”起来 例如实现一个 click 计数功能&#xff0c;普通变量无法实现。即&#xff1a;修改普通变量无法触发组件的更新 rerender 通过 useState 即可实现。 state 是什么 State, A component’s memory —— 这个比喻非常好&#xff01; props 父组件传…...

混币器是什么,波卡跨链交易平台

混币器是什么 混币器是一种加密货币工具,主要功能是将用户的加密货币与其他众多用户的加密货币混合在一起,打乱资金的流向和交易痕迹,使得加密货币的来源和去向难以追踪,从而增加交易的匿名性和隐私性。以下是对其工作流程和相关举例的介绍: 工作流程 用户首先将自己的加…...

【PHP】双方接口通信校验服务

请求方 使用 ApiAuthService::buildUrl($domain, [terminal > 1, ts > time()]); //http://域名/adminapi/login/platformLogin?signF7FE8A150DEC18BE8A71C5059742C81A&terminal1&ts1736904841接收方 $getParams $this->request->get();$validate ApiA…...

Web第一次作业

目录 题目 html代码 index login register css代码 base index login register 效果展示 index login register 题目 实现一个登录页面、实现一个注册页面&#xff1b;实现一个主页 - 登录页面&#xff1a;login.html - 注册页面&#xff1a;register.html - 主页…...

CentOS 6.8 安装 Nginx

个人博客地址&#xff1a;CentOS 6.8 安装 Nginx | 一张假钞的真实世界 提前安装&#xff1a; # sudo yum install yum-utils 一般情况下这个工具系统已经安装。 创建文件/etc/yum.repos.d/nginx.repo&#xff0c;输入内容如下&#xff1a; [nginx-stable] namenginx stab…...

网络网络层ICMP协议

网络网络层ICMP协议 1. ICMP 协议介绍 ICMP&#xff08;Internet Control Message Protocol&#xff09;是 TCP/IP 协议簇中的网络层控制报文协议。用于在 IP 主机、路由器之间传递控制消息&#xff0c;提供可能有关通信问题的反馈信息。 以及用于网络诊断或调试&#xff08;…...

当父级元素设置了flex 布局 ,两个子元素都设置了flex :1, 但是当子元素放不下的时候会溢出父元素怎么解决 (css 样式问题)

一、问题 遇到个样式问题&#xff0c;当父级元素设置了flex 布局 &#xff0c;两个子元素都设置了flex :1, 但是当子元素放不下的时候会溢出父元素怎么解决 &#xff08;拖拽浏览器 使页面变小&#xff09; 二、解决方法 .father{min-height: 600px;width: 100%;display: flex…...

Vue.js组件开发-如何实现路由懒加载

在Vue.js应用中&#xff0c;路由懒加载是一种优化性能的技术&#xff0c;它允许在需要时才加载特定的路由组件&#xff0c;而不是在应用启动时加载所有组件。这样可以显著减少初始加载时间&#xff0c;提高用户体验。在Vue Router中&#xff0c;实现路由懒加载非常简单&#xf…...

灵活妙想学数学

灵活妙想学数学 题1&#xff1a;海星有几只&#xff1f; 一共有12只海洋生物&#xff0c;分别是5只脚的海星&#xff0c;8只脚的章鱼和10只脚的鱿鱼&#xff0c;这些海洋动物的脚一共有87只&#xff0c;每种生物至少有1只&#xff0c;问海星有几只&#xff1f; 解&#xff1a…...

使用 Multer 上传图片到阿里云 OSS的两种方式

文件上传到哪里更好&#xff1f; 上传到服务器本地 上传到服务器本地&#xff0c;这种方法在现今商业项目中&#xff0c;几乎已经见不到了。因为服务器带宽&#xff0c;磁盘 IO 都是非常有限的。将文件上传和读取放在自己服务器上&#xff0c;并不是明智的选择。 上传到云储存…...

破解合同管理之痛,开启智能化管理新模式

合同管理是采购管理中的一项重要环节&#xff0c;涉及合同洽谈、草拟、签订、生效、履行、失效全过程。随着企业业务规模的发展壮大&#xff0c;企业与各类供应商之间的合作往来更加频繁&#xff0c;需要签署和管理的合同文件也不断增多&#xff0c;如何提升合同管理效率成为企…...

Linux-day06

第14章 进程管理&#xff08;重点&#xff09; 进程基本介绍 程序运行起来就是一个进程 1.程序和进程的关系 2.在Linux中有两种方式执行&#xff0c;一种叫前台&#xff0c;一种后台 ps指令详解 显示系统执行的进程 USER&#xff1a;进程执行用户 PID&#xff1a;进程号 …...

源码编译安装httpd 2.4,提供系统服务管理脚本并测试

总结需要安装的包 sudo yum groupinstall "Development Tools" -y #httpd的依赖包yum install tar -y #tar压缩包sudo yum install apr-devel apr-util-devel #APR库 提供跨平台接口的库sudo yum install pcre pcre-devel # PCRE库和 pcre-config工具--提供PCRE库…...

OpenCore Legacy Patcher终极指南:让老旧Mac焕发新生的完整方案

OpenCore Legacy Patcher终极指南&#xff1a;让老旧Mac焕发新生的完整方案 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher&#xf…...

OpenSees数值模拟从入门到进阶:理论、代码与实践

OpenSees数值模拟从入门到进阶:理论、代码与实践 摘要 OpenSees(Open System for Earthquake Engineering Simulation)作为开源的地震工程模拟系统,凭借其强大的非线性分析能力和开放的架构,已成为结构地震响应分析领域的重要工具。本文系统介绍OpenSees数值模拟的基本原…...

UE5材质编辑器进阶:手把手教你创建并调用自定义ush函数库(附避坑指南)

UE5材质编辑器进阶&#xff1a;打造高效可复用的自定义ush函数库 在虚幻引擎5的材质创作中&#xff0c;重复编写相同的HLSL代码不仅效率低下&#xff0c;还容易引入错误。本文将带你深入理解如何创建并调用自定义ush函数库&#xff0c;提升材质开发的专业性和可维护性。 1. 为什…...

Flutter项目打包未签名ipa的保姆级教程(含Xcode配置与常见错误解决)

Flutter项目打包未签名ipa的保姆级教程&#xff08;含Xcode配置与常见错误解决&#xff09; 当你完成了一个Flutter应用的开发&#xff0c;准备将其交付给第三方进行签名或部署到CI/CD流水线时&#xff0c;生成一个未签名的ipa文件是必经之路。对于刚接触iOS打包的Flutter开发者…...

StructBERT中文相似度模型保姆级教学:如何用TSNE可视化高维句向量空间分布

StructBERT中文相似度模型保姆级教学&#xff1a;如何用TSNE可视化高维句向量空间分布 1. 引言&#xff1a;为什么需要可视化句向量&#xff1f; 当你使用StructBERT这样的模型计算句子相似度时&#xff0c;你得到的只是一个0到1之间的数字。这个数字告诉你两个句子“有多像”…...

电商客服外包怎么选|避坑指南[特殊字符]2026 商家必看

做电商绕不开客服外包&#xff0c;但低价陷阱、转包兼职、大促掉链、响应超时、售后甩锅真的太坑了&#xff01;今天整理一套不踩雷选型攻略&#xff0c;全是行业干货&#xff0c;新手也能直接抄作业&#x1f447; &#x1f6ab;先避坑&#xff1a;这些雷区千万别碰 超低价诱惑…...

小白也能懂:将SPIRAN ART SUMMONER图像生成API封装成IDEA插件

小白也能懂&#xff1a;将SPIRAN ART SUMMONER图像生成API封装成IDEA插件 1. 为什么需要这个插件&#xff1f; 作为一名开发者&#xff0c;我经常遇到这样的场景&#xff1a;正在编写游戏角色设定文档时&#xff0c;突然需要一张概念图&#xff1b;设计UI界面时&#xff0c;想…...

Pixel Aurora Engine效果展示:像素极光系统生成的赛博忍者角色系列

Pixel Aurora Engine效果展示&#xff1a;像素极光系统生成的赛博忍者角色系列 1. 像素极光引擎简介 Pixel Aurora&#xff08;像素极光&#xff09;是一款基于AI扩散模型的高端绘图工作站&#xff0c;采用独特的复古像素游戏风格界面设计。这款工具将现代AI技术与经典8-bit美…...

基于LSTM的CasRel模型变体实现与性能对比分析

基于LSTM的CasRel模型变体实现与性能对比分析 最近在关系抽取这个领域&#xff0c;大家的目光似乎都被Transformer架构给吸引走了。确实&#xff0c;像BERT、RoBERTa这些基于自注意力机制的模型&#xff0c;在各类NLP任务上表现都相当亮眼。但这就让我产生了一个疑问&#xff…...

QT国际化实战:如何用tr和translate正确处理多语言(含中文乱码修复)

QT国际化实战&#xff1a;从源码到翻译的全流程解决方案 在全球化浪潮下&#xff0c;软件多语言支持已成为基础能力。作为跨平台开发框架的佼佼者&#xff0c;QT提供了完整的国际化工具链&#xff0c;但中文开发者常陷入编码混乱、翻译失效等困境。本文将系统梳理从源码规范到翻…...