当前位置: 首页 > 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
http://www.lryc.cn/news/521440.html

相关文章:

  • LabVIEW启动时Access Violation 0xC0000005错误
  • string(一)
  • 计算机网络 (41)文件传送协议
  • C++ STL之容器介绍(vector、list、set、map)
  • redisson 连接 redis5报错 ERR wrong number of arguments for ‘auth‘ command
  • LeetCode:131. 分割回文串
  • React-useState讲解
  • 混币器是什么,波卡跨链交易平台
  • 【PHP】双方接口通信校验服务
  • Web第一次作业
  • CentOS 6.8 安装 Nginx
  • 网络网络层ICMP协议
  • 当父级元素设置了flex 布局 ,两个子元素都设置了flex :1, 但是当子元素放不下的时候会溢出父元素怎么解决 (css 样式问题)
  • Vue.js组件开发-如何实现路由懒加载
  • 灵活妙想学数学
  • 使用 Multer 上传图片到阿里云 OSS的两种方式
  • 破解合同管理之痛,开启智能化管理新模式
  • Linux-day06
  • 源码编译安装httpd 2.4,提供系统服务管理脚本并测试
  • Linux固定ip
  • Java 输入输出流(上)
  • mysql、oracle、sqlserver的区别
  • Java+Maven+GDAL
  • 初识算法和数据结构P1:保姆级图文详解
  • 【Go】Go Gorm 详解
  • 【IDEA版本升级JDK21报错方法引用无效 找不到符号】
  • Node.js 版本管理工具完全指南
  • JavaSE学习心得(多线程与网络编程篇)
  • 平均精确率均值(mAP)
  • VUE学习笔记1__创建VUE实例