vscode离线安装插件--终极解决方案
目录
- 离线安装插件
- 安装方法
- vscode连接远程服务器中的docker
- 远程连接
- python jupyter开发
离线安装插件
使用vscode开发过程中,有一些内网服务器没法连接外网,造成安装插件不方便,网络上很多文章提供了很多方法,比较常见的一种是:
- 使用一台联网的机器,浏览器搜索插件
- 下载插件*.vsix 格式的文件
- 复制到内网机器上并安装
经笔者实际使用,这种方法存在几个问题:
- 首先插件版本和vscode版本需要匹配,增加插件搜索的工作量;
- 其次,最新微软官网中,很多插件没有download按钮,需要在插件的github项目中自行查找release文件,或者很多插件很难找到;
- 最后,当插件数量较多时,这种方法无疑非常浪费时间!
- 并且vscode升级后,需要用同样的方法再次下载-复制-安装。
经过测试,笔者总结了一种相对简洁的方法,减少了查找版本、搜索插件的工作量,并且可批量安装多个插件
安装方法
- 同样需要寻找一台联网的机器(毕竟要从外网获取插件,这一步似乎是必不可少的)
- 检查机器的系统同目标机(一般是内网机器)操作系统及版本是否一致,如笔者所用为ubuntu18.04,这一步推荐在外网机上安装虚拟机完成。要求外网机和内网机的系统版本一致!!
- 在外网机上安装VScode,版本不进行限制,但是推荐使用离线包, 如deb包的形式进行安装,之后正常安装插件,安装完成后使用测试
- 外网机的vscode和插件安装,调试无误后,将外网机的 /home/waiwang/.vscode/extensions文件打包,如打包名称为extensions.tar.gz
- 将extensions.tar.gz和vscode的安装包一起复制到内网机
- 内网机安装vscode,随后将extensions.tar.gz解压并覆盖内网机中的/home/neiwang/.vscode/extensions目录
- 最重要一步 修改内网机/home/neiwang/.vscode/extensions/extensions.json文件,将路径替换成内网机的本机路径!
- 重启vscode,等待一段时间后,不出意外的话,可以在内网机的机器上看到所有的安装插件了!
vscode连接远程服务器中的docker
远程连接
安装remote-ssh插件
内网无法下载vscode-server.tar.gz 参考下面文章下载安装
vscode-server.tar.gz下载安装
需要注意的是:vscode-server.tar.gz 及其安装是在服务器端进行操作!!而不是打开vscode的客户端
python jupyter开发
- 提前在服务器端的 docker container中安装 ipykernel
python -m pip install ipykernel -i https://pypi.mirrors.ustc.edu.cn/simple/
内网一般无法访问 https://pypi.mirrors.ustc.edu.cn/simple/ 需要替换成内网的pip地址
- 如果希望成功使用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)文件传送协议
前言 一、文件传送协议(FTP) 概述: FTP(File Transfer Protocol)是互联网上使用得最广泛的文件传送协议。FTP提供交互式的访问,允许客户指明文件的类型与格式(如指明是否使用ASCII码࿰…...
C++ STL之容器介绍(vector、list、set、map)
1 STL基本概念 C有两大思想,面向对象和泛型编程。泛型编程指编写代码时不必指定具体的数据类型,而是使用模板来代替实际类型,这样编写的函数或类可以在之后应用于各种数据类型。而STL就是C泛型编程的一个杰出例子。STL(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学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:131. 分割回文串 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文串。返回 s 所…...
React-useState讲解
useState 让页面“动”起来 例如实现一个 click 计数功能,普通变量无法实现。即:修改普通变量无法触发组件的更新 rerender 通过 useState 即可实现。 state 是什么 State, A component’s memory —— 这个比喻非常好! 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 题目 实现一个登录页面、实现一个注册页面;实现一个主页 - 登录页面:login.html - 注册页面:register.html - 主页…...
CentOS 6.8 安装 Nginx
个人博客地址:CentOS 6.8 安装 Nginx | 一张假钞的真实世界 提前安装: # sudo yum install yum-utils 一般情况下这个工具系统已经安装。 创建文件/etc/yum.repos.d/nginx.repo,输入内容如下: [nginx-stable] namenginx stab…...
网络网络层ICMP协议
网络网络层ICMP协议 1. ICMP 协议介绍 ICMP(Internet Control Message Protocol)是 TCP/IP 协议簇中的网络层控制报文协议。用于在 IP 主机、路由器之间传递控制消息,提供可能有关通信问题的反馈信息。 以及用于网络诊断或调试(…...
当父级元素设置了flex 布局 ,两个子元素都设置了flex :1, 但是当子元素放不下的时候会溢出父元素怎么解决 (css 样式问题)
一、问题 遇到个样式问题,当父级元素设置了flex 布局 ,两个子元素都设置了flex :1, 但是当子元素放不下的时候会溢出父元素怎么解决 (拖拽浏览器 使页面变小) 二、解决方法 .father{min-height: 600px;width: 100%;display: flex…...
Vue.js组件开发-如何实现路由懒加载
在Vue.js应用中,路由懒加载是一种优化性能的技术,它允许在需要时才加载特定的路由组件,而不是在应用启动时加载所有组件。这样可以显著减少初始加载时间,提高用户体验。在Vue Router中,实现路由懒加载非常简单…...
灵活妙想学数学
灵活妙想学数学 题1:海星有几只? 一共有12只海洋生物,分别是5只脚的海星,8只脚的章鱼和10只脚的鱿鱼,这些海洋动物的脚一共有87只,每种生物至少有1只,问海星有几只? 解:…...
使用 Multer 上传图片到阿里云 OSS的两种方式
文件上传到哪里更好? 上传到服务器本地 上传到服务器本地,这种方法在现今商业项目中,几乎已经见不到了。因为服务器带宽,磁盘 IO 都是非常有限的。将文件上传和读取放在自己服务器上,并不是明智的选择。 上传到云储存…...
破解合同管理之痛,开启智能化管理新模式
合同管理是采购管理中的一项重要环节,涉及合同洽谈、草拟、签订、生效、履行、失效全过程。随着企业业务规模的发展壮大,企业与各类供应商之间的合作往来更加频繁,需要签署和管理的合同文件也不断增多,如何提升合同管理效率成为企…...
Linux-day06
第14章 进程管理(重点) 进程基本介绍 程序运行起来就是一个进程 1.程序和进程的关系 2.在Linux中有两种方式执行,一种叫前台,一种后台 ps指令详解 显示系统执行的进程 USER:进程执行用户 PID:进程号 …...
源码编译安装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库…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...
【安全篇】金刚不坏之身:整合 Spring Security + JWT 实现无状态认证与授权
摘要 本文是《Spring Boot 实战派》系列的第四篇。我们将直面所有 Web 应用都无法回避的核心问题:安全。文章将详细阐述认证(Authentication) 与授权(Authorization的核心概念,对比传统 Session-Cookie 与现代 JWT(JS…...
