1、VSCode介绍

2、VSCode安装和连接服务器

(1)安装

(2)远程连接服务器

3、VSCode进行代码调试

(1)编译cpp程序

(2)调试cpp程序

4、VSCode配置cmake

(1)安装cmake    

(2)调试cmake程序 

5、VSCode配置python

(1)安装

(2)运行python


1、VSCode介绍

    2019 年 5 月 3 日 ,在 PyCon 2019 大会上,微软发布了 VS Code Remote,开启了远程开发的新时代!这次发布包含了三款核心的全新插件,它们可以帮助开发者在容器,物理或虚拟机,以及 Windows Subsystem for Linux (WSL) 中实现无缝的远程开发。通过安装Remote Development Extension Pack,你可以快速上手远程开发。Visual Studio Code Remote 允许开发者将容器,远程计算机,或 Windows Subsystem for Linux (WSL) 作为完整的开发环境。你可以:

  • 在部署相同的操作系统上进行开发,或者使用更大或更专业的硬件。
  • 把开发环境作为沙箱,以避免影响本地计算机配置。
  • 让新手轻松上手,让每个人都保持一致的开发环境。
  • 使用原本在本地环境不可用的工具或运行时,或者管理它们的多个版本。
  • 在 WSL 里开发 Linux 应用。
  • 从多台不同的计算机访问现有的开发环境。
  • 调试在其他位置(比如客户网站或云端)运行的应用程序。

    所有以上的功能,并不需要在你的本地开发环境有源代码。通过 VS Code Remote,轻松连接上远程环境,在本地进行开发。Remote Development extension pack 包括三个扩展:

  • Remote - SSH - 通过使用 SSH 打开远程计算机或者VM上的文件夹,来连接到任何位置。
  • Remote - Containers – 把 Docker 作为你的开发容器。
  • Remote - WSL - 在 Windows Subsystem for Linux 中,获得 Linux 般的开发体验。

2、VSCode安装和连接服务器

(1)安装

    目前这个插件只有VSCode Insider版本可以安装,正式版目前(2019年5月6日)无法成功安装这个插件,所以我们现在先要安装Insider版本。下载地址为:https://code.visualstudio.com/insiders/

    安装好VSCode之后,代开软件,点击扩展栏,然后搜索”Remote Development”,第一个就是了,然后点击Install安装。

     安装好之后,在扩展栏中输入@installed,可以看到已经安装好的插件:

(2)远程连接服务器

    我们可以通过Rmote-SSH连接远程Linux主机,这个功能目前只支持x86架构的Linux操作系统,它可以是你远程的服务器,也可以是你本地的虚拟机。如果你是Windows操作系统,如果没有安装SSH客户端,需要先安装一个SSH客户端。win10具体如何安装OpenSSH可以参考这里:https://blog.csdn.net/qq_24898865/article/details/80842892

    回到VSCode,点击Rmote-SSH的图标,再点击Configure: 

    在弹出来的窗口中配置文件地址,一般选第一个就可以了,再编辑这个文件:

  • Host:填服务器名称(想填什么就填什么)
  • HostName:填远程主机的IP地址或域名
  • User:填远程主机的用户(用户必须能用ssh登录)
  • identityFile:填本地主机中私钥文件的路径

    接着我们介绍如何生成私钥文件,打开cmd,然后进入.ssh目录,用ssh-keygen生成秘钥:

> ssh-keygen

     公钥保存在id_rsa.pub这个文件中,私钥保存在id_rsa这个文件中,接着我们用记事本打开id_rsa.pub文件,然后复制公钥的信息,通过ssh连接远程主机,把公钥加入到 /home/$use/.ssh/authorized_keys 文件中,接着在配置文件下面添加IdentifyFile跟上私钥文件id_rsa路径,最后保存文件。

             

    保存文件后右边Connections栏中就会出现一个连接:

    鼠标右击它,然后选择Connect to Host in Current Window:

                                             

    左下角出现SSH: <Host>就表示连接到了远程主机:

    打开Terminal会弹出远程主机的shell:

     接着我们可以点击:Add workerspace folder来设置默认的工作空间,以后我们关闭VSCode然后重新打开的时候,就可以直接进入到我们的工作空间。     

3、VSCode进行代码调试

(1)编译cpp程序

    hello.cpp的源码如下:

     接着我们点击:Terminal  --> configuge task,然后选择g++ build active file

                             

    自动生成的task.json的文件内容如下:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558 
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "mytask",                # 我们需要修改的内容
            "command": "/usr/bin/g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "/usr/bin"
            },
            "problemMatcher": [
                "$gcc"
            ]
        }
    ]
}

     我们只需要修改文件中label的值,这个label表示任务task的任务名,在这里我修改为mytask,然后保存。配置好任务task任务之后,我们就可以运行这个task,对我们的源码进行编译:点击Terminal  --> Run Task,然后选择我们刚才建立的mytask,就可以对我们的源文件进行编译。

                                  

    编译好之后,我们就可以在下面的shell中运行我们编译好的可执行程序,那如果我们需要对程序进行调试需要怎么办呢,这里就需要另外一个文件 launch.json

(2)调试cpp程序

    点左侧“蜘蛛”进入调试界面,上面齿轮处点击选择“C++(GDB) ”,然后选择“Default Configuration”,接着就会自动生成launch.json文件:

    launch.json的文件内容如下:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",   # 第一个需要修改的地方
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "preLaunchTask": "mytask",                   # 第二个需要修改的地方
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

    在这个文件中我们需要修改两个地方:

  • 第一个是“program”:它表示我们需要调试的可执行文件的地址,这里为修改为:
"program" : "${fileDirname}/${fileBasenameNoExtension}"  # 它表示当前目录下的可执行程序。
  • 第二个是我们需要增加一个preLaunchTask的参数,它表示我们调试之前的编译任务名,这里我设置为:
"preLaunchTask": "mytask",

    这样修改之后,我们每次修改代码进行调试时,会关联响应的编译任务,自动编译最新的文件,不用我们重新运行task重新编译。接着我们在代码中添加一个断点:

    接着按F5进行调试,运行结果如下: 

4、VSCode配置cmake

(1)安装cmake    

    在编译大型程序时, cmake是一个非常好的工具,而VSCode上支持使用cmake进行调试。首先我们需要在服务器上安装cmake:

sudo apt-get install cmake

    接着我们需要在VSCode中添加两个插件,分别是CMakeCMake Tool ,安装这两个插件之后,我们需要在VSCode的配置文件中进行配置:

    在setting.json文件中,我们需要添加两个选项,分别是:

  • "cmake.cmakePath": "/usr/bin/cmake"

  • "cmake.configureOnOpen": true 

    第一个表示cmake的可执行文件的路径,第二个表示开启cmake的配置

{
    "remote.SSH.showLoginTerminal": true,
    "editor.fontSize": 16,
    "cmake.cmakePath": "/usr/bin/cmake",
    "cmake.configureOnOpen": true
}

(2)调试cmake程序 

     编写hello.cpp文件:

#include <iostream>
using namespace std;

int main()
{
    cout << "first" << endl;
    cout << "second" << endl;
    cout << "third" << endl;
    cout << "hello" << endl;
    return 0;
}

    编写CMakeLists.txt文件:

CMAKE_MINIMUM_REQUIRED(VERSION 2.8) 
PROJECT(hello)

set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g") 

add_executable(hello hello.cpp)

     在shell中执行:

$ mkdir build
$ cd build
$ cmake ..
$ make

    接着我们在程序中添加一个断点,按F5进行调试,在launch.json中把program的路径修改为cmake编译后的可执行文件路径:

"program": "${fileDirname}/build/hello"

    F5调试结果如下:

5、VSCode配置python

(1)安装

  • 首先在VSCode中安装插件Python和Python for VSCode;
  • ctrl + shift + p ,然后输入:Python:Select Interpreter,选择python执行的解释器;

(2)运行python

    编写helloworld:

#coding=utf-8
import os
import sys

def test():
    print ("hehehe")

def main():
    test()

if __name__ == "__main__":
    main()
    

    然后右键 ---> Run Python File in Terminal 

参考:https://blog.starunity.dev/2019/05/08/remote-ssh-configure/

           https://blog.csdn.net/u013187057/article/details/82687429

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐