当前位置: 首页 > 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库…...

vue发版html 生成打包到docker镜像进行发版

将Vue项目打包成Docker镜像部署主要分为以下几个步骤&#xff1a; 1. Vue项目打包‌ 执行npm run build生成dist文件夹&#xff0c;包含静态资源文件 注意检查index.html中资源引用路径是否正确&#xff08;避免绝对路径问题&#xff09; 2. 编写Dockerfile Copy Code FROM…...

div或button一些好看实用的 CSS 样式示例

1&#xff1a;现代渐变按钮 .count {width: 800px;background: linear-gradient(135deg, #72EDF2 0%, #5151E5 100%);padding: 12px 24px;border-radius: 10px;box-shadow: 0 4px 15px rgba(81, 81, 229, 0.3);color: white;font-weight: bold;border: none;cursor: pointer;t…...

专业课复习笔记 11

从今天开始每天下午复习专业课。慢慢复习专业课。目标至少考一个一百分吧。毕竟专业课还是比较难的。要是考不到一百分&#xff0c;我感觉自己就废掉了呢。下面稍微复习一下计组。 复习指令格式和数据通路设计。完全看不懂&#xff0c;真是可恶啊。计组感觉就是死记硬背&#…...

muduo库的初步认识和基本使用,创建一个简单查询单词服务系统

小编在学习完muduo库之后&#xff0c;觉得对于初学者&#xff0c;muduo库还是有点不好理解&#xff0c;所以在此&#xff0c;小编来告诉大家muduo库的初步认识和基本使用&#xff0c;让初学者也可以更快的上手和使用muduo库。 Muduo由陈硕大佬开发&#xff0c;是⼀个基于 非阻塞…...

TypeScript 针对 iOS 不支持 JIT 的优化策略总结

# **TypeScript 针对 iOS 不支持 JIT 的优化策略总结** 由于 iOS 的 **JavaScriptCore (JSC)** 引擎 **禁用 JIT&#xff08;Just-In-Time 编译&#xff09;**&#xff0c;JavaScript 在 iOS 上的执行性能较差&#xff0c;尤其是涉及动态代码时。 **TypeScript&#xff08;T…...

HUAWEI交换机配置镜像口验证(eNSP)

技术术语&#xff1a; 流量观察口&#xff1a;就是我们常说的镜像口&#xff0c;被观察的流量的引流目的端口 流量源端口&#xff1a;企业生产端口&#xff0c;作为观察口观察对象。 命令介绍&#xff1a; [核心交换机]observe-port [观察端口ID或编号&#xff08;数字&am…...

如何优化Elasticsearch的搜索性能?

优化 Elasticsearch 的搜索性能需要从索引设计、查询优化、硬件配置和集群调优等多方面入手。以下是系统化的优化策略和实操建议: 一、索引设计优化 1. 合理设置分片数 分片大小:单个分片建议 10-50GB(超过50GB会影响查询性能)。分片数量: 总分片数 ≤ 节点数 1000(避免…...

如何使用 Redis 快速实现排行榜?

Redis 的 Sorted Set&#xff08;有序集合&#xff09; 是实现排行榜的高效工具&#xff0c;其天然支持按分数排序、范围查询和原子操作。以下是快速实现排行榜的步骤和核心方案&#xff1a; 一、核心数据结构&#xff1a;Sorted Set 特性&#xff1a; 每个成员&#xff08;me…...

【Vue Vapor Mode :技术突破与性能优化的可能性】

Vue Vapor Mode &#xff1a;技术突破与性能优化的可能性 前言 作为一名有着Vue 2经验和Vue 3经验的开发者&#xff0c;你一定深刻体会过Vue从Options API到Composition API的演进&#xff0c;也感受过Vue 3在性能上相比Vue 2的显著提升。现在&#xff0c;Vue团队正在开发一个…...

OpenSSL 与 C++ 搭建一个支持 TLS 1.3 的服务器

好的&#xff0c;我们可以使用 OpenSSL 与 C 搭建一个支持 TLS 1.3 的服务器。下面是&#xff1a; ✅ 一、完整示例代码&#xff08;基于 OpenSSL&#xff09; 使用 C 和 OpenSSL 创建一个简单的 TCP TLS 服务器&#xff0c;支持 TLS 1.3。 ✅ 代码&#xff1a;tls_server.cp…...