VScode -跨平台编辑器使用-以及升级报错解决

1.Vscode项目

 用来开发C++项目 和Python项目
基本插件
   Remote-SSH
C++项目
   插件 C++ CMake
 配置文件
   launch.json
   tasks.json 
   settings.json
Python项目
   插件 Python
 配置文件
  1.选择  file-->preferences-->settings
  2.在search settings中搜索python.python path
  其实质是在 settings.json
  {
     "python.pythonPath": "/home/caic-00293/miniconda3/envs/dataenv/bin/python"
  }

2.使用Idea

用来开发Java项目和Python项目
  Java项目--Maven包管理
       Flink项目
	   Spark项目
  Python项目-安装Python插件

SQL和Linux命令

 DBeaver
 MobaXterm

跨平台编辑器VScode

VS (visual studio)
vs code <visual studio code>是通过SSH(Secure Shell)的方式连接到远程服务器
Visual Studio Code 跨平台编辑器

下载安装

 客户机
    (vscode安装机器)
     windows 10
 	  安装插件  Remote Development的插件
      所需的vscode插件:c/c++
 	  采用VSCode提供的解决办法,离线安装VS -- 开发机上的版本
 开发机:
   (c++程序运行机器):centos7
    开发机所需环境:g++,gdb

配置

开发
    01.tasks.json文件
     从菜单栏选择Terminal>Configure Default Build Task, 
	   在下拉栏里选择C/C++: g++ build active file. 这会生成tasks.json文件。  
	02.launch.json   Debug>Add Configuration, 选择C++ (GDB/LLDB), 在下拉栏中选择g++ build and debug active file.
	说明
	 C++的情况下,tasks可以被用来做编译,而launch用来执行编译好的文件
	 tasks用于在launch前执行任务,launch用于读取执行文件。这两者经常组合起来用于需要编译语言的自动编译+自动执行
	 
	 为什么选gdb不选 windows?因为这个不会执行预任务,也就没法编译文件了
     为什么选 launch不选attach,是因为attach用来给正在执行的文件用的,
	 C/C++ Compile Run
	 根本无需配置task.json和launch.json,保存后直接按F6自动编译运行

VScode的图表

文件目录-以及编辑-local和远程的内容
 全局搜索
 git管理
 debug 
 插件安装

VScode config

 VScode 设置字体
  01.'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback' 替换为 monospace
  02.Ubuntu上字体
   ubuntu的字体文件夹在/usr/share/fonts下
   查看命令  fc-list 

Vscode C++设置包含路径 c_cpp_properties 
"/usr/include/",
"/usr/local/include/",
"/opt/ros/melodic/include"
远程服务器没有开通外网的连接方式

升级报错解决方式

方案一

需要根据自己的Vscode的commit,
手动下载vscode-server-linux-x64.tar.gz,
01.本地Vscode 查看方式:Vscode的菜单栏中help–>>About

02.commit之后(我的commit:2d23c42a936db1c7b3b06f918cde29561cc47cd6, 
commit与vscode的版本号对应,我的vscode版本:1.14.1),
需要在可以连接该网址的电脑上打开,下载得到了vscode-server-linux-x64.tar.gz

 https://update.code.visualstudio.com/commit:2d23c42a936db1c7b3b06f918cde29561cc47cd6/server-linux-x64/stable
ssh登陆服务器的客户端上登陆账户,在账户的主目录下,
进入.vscode-server/bin/(commit)/目录下(注意:commit:需要自己根据vscode版本号更改),
上传下载好的vscode-server-linux-x64.tar.gz
cd ~/.vscode-server/bin/2d23c42a936db1c7b3b06f918cde29561cc47cd6/              注意:commit:需要自己根据vscode版本号更改


上传好了之后,在当前目录下执行下面的两行命令,重启vscode即可登陆
tar -zxvf vscode-server-linux-x64.tar.gz -C ./

解压好了最后一步,进入vscode-server-linux-x64/文件夹下,将所有文件移到上一级目录(commit)下
mv vscode-server-linux-x64/* .

在连接的过程中
cd ~/.vscode-server/bin/2d23c42a936db1c7b3b06f918cde29561cc47cd6/  

touch  vscode-scp-done.flag  

方案二:

卸载了,重新安装最新的VScode


在docker 环境中,将已启东的容器停止。命令:docker stop “容器名”发现此命令无效,
      使用命令docker ps 容器仍然处于“up”状态,
       使用docker kill “容器id”,显示该容器没有在运行,但是docker ps 仍处于运行状态
 解决方案:重启docker
 命令:systemctl restart docker
 命令:docker ps 显示没有容器在运行。

执行以下命令,可查看各文件夹空间占用情况:
  du -h -x --max-depth=1
   需要关闭进程才能释放空间
    如果先通过rm -f命令删除了日志文件,则需要kill掉进程才能是否空间,否则虽然文件被删除了但空间未被释放,
    此时可以通过 lsof|grep deleted 命令查看删除的文
    有时看 /下实际占用空间并没有满,有可能是只删除了文件,但实际进程还在文件还是打开的空间没有释放;

lsof | grep deleted : 列出当前系统已打开文件,但是deleted的状态
   当有其他进程打开某文件时文件被删除,就会将该文件标记为deleted,并删除其目录节点。
   使用du查看时,因为没有该删除状态文件的节点信息,所以就不做统计,从而导致与df的结果不一致。
   若要将deleted状态文件删除,则根据pid直接kill调相应进程即可
lsof 命令,“list opened files”的缩写,直译过来,就是列举系统中已经被打开的文件。
    通过 lsof 命令,我们就可以根据文件找到对应的进程信息,也可以根据进程信息找到进程打开的文件
	
查看linux进程占用端口步骤如下:lsof -i 用以显示符合条件的进程情况

fuser命令的用法是:fuser -uv 文件名 列出的结果里面,PID那一列就是占用该文件的进程PID,COMMAND那一列是占用该文件的进程名



Linux 服务管理有两种方式 service 和 systemctl
   旧的init启动脚本(System V的那个)是“一项一项任务依序启动”的模式,因此不相依的服务也是得要一个一个的等待
        systemV还要init,chkconfig,service...等等指令
		 on off status  start  stop  restart 
		 service ssh start
   而systemd是Linux系统最新的初始化系统(init) systemctl
       enable   disable  status  start  stop  restart

     systemctl start sshd

###
01. 可以先测试ssh是否能够远程登录容器
   启动一个容器,并将 端口映射到容器的22端口上
   进入容器, 
       设置容器密码	   修改配置,获取远程ROOT权限
       安装 ssh 服务   开启sshd服务
	   
	   sudo vim /etc/ssh/sshd_config,找到 PermitRootLogin without-password  修改为PermitRootLogin yes
	   注意-仅限于个人用容器使用root远程连接,其他情况谨慎使用root
 02.使用vscode,为了方便调试,远程连接服务器中的 docker 容器
      https://update.code.visualstudio.com/commit:2d23c42a936db1c7b3b06f918cde29561cc47cd6/server-linux-x64/stable
     VS Code Server 允许以新的方式使用 VS Code
  vscode 	 
	Remote - SSH 
	 https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh
 服务器上安装VS Code Server
   离线的情况	
    https://code.visualstudio.com/updates/v1_76 查看版本
	
	https://github.com/microsoft/vscode/tree/release/1.60
	
	https://github.com/microsoft/vscode/commits/release/1.60
	
	e7d7e9a9348e6a8cc8c03f877d39cb72e5dfb1ff
	https://update.code.visualstudio.com/commit:e7d7e9a9348e6a8cc8c03f877d39cb72e5dfb1ff/server-linux-x64/stable
	
	  
      bin 目录下面存放的是VS Code Server程序,
	  extensions 目录下是VS Code Server端安装的插件
	  data 目录下是用户数据	   
 
 参考:  
    SSH 远程连接docker容器 https://zhuanlan.zhihu.com/p/553478864

说明

ms-vscode-remote.remote-ssh
本机可以直接联网  启用remote.SSH.allowLocalServerDownload选项,
   即可先在本机下载VSCode服务器,然后自动通过SCP上传至远程机
  remote.SSH.allowLocalServerDownload	
	If downloading the VS Code server fails on the host, 
	this allows the extension to fall back to downloading on the client 
	and transferring it to the host with scp
 remote.SSH.localServerDownload	
    Whether the extension can download the VS Code Server on the client and transfer it to the host with scp, 
    instead of downloading it on the host.

关闭自动升级

   查找:文件>>首选项>>设置
   File >>  preference >> setting  然后搜索 update 

参考:

VScode免密登录
离线安装VS code 插件
     https://github.com/microsoft/vscode-cpptools/releases, 
	 then use the "Install from VSIX" command in VS Code to install it.
	 https://blog.csdn.net/binuogan_c/article/details/90372885
 本地vscode通过SSH远程连接Ubuntu服务器 https://blog.csdn.net/Deeachain/article/details/106981149	
 VSCode离线环境求生指南:远程SSH服务器 https://zhuanlan.zhihu.com/p/111324187
posted @ 2021-06-30 12:07  辰令  阅读(682)  评论(0)    收藏  举报