VSCode

来自牛奶河Wiki
跳到导航 跳到搜索

Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux. It comes with built-in support for JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other languages and runtimes (such as C++, C#, Java, Python, PHP, Go, .NET). Begin your journey with VS Code with these introductory videos.

Visual Studio Code 是一个轻量级但功能强大的源代码编辑器,可在您的桌面上运行,可用于 Windows,macOS 和 Linux。它内置了对 JavaScript,TypeScript 和 Node 的支持 .js 并具有针对其他语言和运行时(如C++,C#,Java,Python,PHP,Go,.NET)的丰富扩展生态系统。通过这些介绍性视频开始您的 VS Code 之旅。(由:Bing翻译 提供)

Setup

Windows: Ctrl = Mac: Command

Download

设置成中文

  1. Ctrl+Shift+P
  2. configure language

远程开发配置

  • 扩展按钮(左侧,或:Ctrl+Shift+X)
  • Remote Development
  • 增加 SSH
    • Host mc1     HostName mc1     User bi
    • 在 .ssh 目录下增加 id_rsa
C++

打开 SSH 远程目录后,会建立 .vscode 目录。

工作区 vs 全局:

  • 工作区设置: 存储在项目根目录下的 .vscode 文件夹中,只影响当前项目。
  • 全局设置: 存储在用户目录下的一个特定位置(取决于操作系统),影响所有 VS Code 实例。
文件名 作用 影响范围 是否特定于语言 主要配置内容
tasks.json 定义和配置任务(Tasks)。任务可以是编译代码、运行测试、执行脚本等任何可以在终端中运行的命令。VS Code 可以运行这些任务,并将其集成到工作流程中(例如,通过快捷键 Ctrl+Shift+B 运行默认构建任务)。 工作区(项目) 任务的名称、类型(shell、process)、要执行的命令、命令行参数、问题匹配器(用于解析输出)、分组等。
launch.json 定义和配置调试器(Debugger)。它告诉 VS Code 如何启动和附加到你的程序,以便进行调试。你可以配置不同的调试配置(例如,调试本地程序、附加到远程进程、使用不同的调试器)。 工作区(项目) 调试配置的名称、类型(例如 cppdbg、python、node)、请求类型(launch 或 attach)、程序路径、参数、环境变量、调试器特定的选项(例如,GDB 或 LLDB 的设置)。
c_cpp_properties.json 配置 C/C++ 扩展(IntelliSense)的行为。它告诉 IntelliSense 如何解析你的代码,包括头文件搜索路径、预处理器定义、C/C++ 标准、编译器路径等。这会影响代码补全、错误检查、代码导航等功能。 工作区(项目) 或 全局(取决于配置位置) 包含路径、编译器路径、C/C++ 标准、IntelliSense 模式、预处理器定义、强制包含的头文件等。
settings.json 存储 VS Code 的各种设置。这些设置可以是全局的(影响所有 VS Code 实例),也可以是工作区特定的(只影响当前项目)。设置涵盖了编辑器的各个方面,包括外观、行为、语言特定设置等。 全局 或 工作区(项目) 编辑器行为(例如,字体、主题、缩进)、文件关联、语言特定设置(例如,Python 的 linting 规则)、扩展设置等。

编译

编译参数在: tasks.json,如指定 -std=c++17。右上角运行“C/C++ 文件”时,“选择调试配置”框中,可以看到 task label: “C/C++: g++ build”。以下内容基本上自动生成,除了特殊的参数,如:"-std=c++17"。

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ build",
            "command": "/usr/bin/g++",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}",
                "-std=c++17"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
            "detail": "Compiler: /usr/bin/g++"
        }
    ]
}

IntelliSense

编辑时,如在行:std::optional<T> get(const std::string& key) const { 出现错误:不允许使用限定名 可能原因:VS Code 的 IntelliSense(代码感知)功能使用的 C++ 标准设置与实际编译时使用的不一致。IntelliSense 负责提供代码补全、错误提示等功能,它需要知道使用的 C++ 版本才能正确工作。

{
    "configurations": [
        {
            "name": "mc2ConfigName",         // 配置名称
            "includePath": [
                "${workspaceFolder}/**"      // 包含路径
            ],
            "defines": [],
            "compilerPath": "/usr/bin/g++",  // 你的编译器路径
            "cStandard": "c11",              // C 标准,C++17 发布时,对应的 C 语言标准是 C11
            "cppStandard": "c++17",          // C++ 标准
            "intelliSenseMode": "gcc-arm64", // IntelliSense 模式
        }
    ],
    "version": 4
}

VSIX

Extensions(Ctrl+Shift+X) -> ...(右上角) -> Install From VSIX...

Plugin

Continue

使用 Continue 进行 AI 辅助代码编写。

OpenRouter 可配置使用免费模型,需要 OpenRouter API Key。

配置文件与用户相关,故可与 IntelliJ IDEA 共用,参考:Continue

Cline

Cline 是一款集成于 VSCode 的 AI 编程助手,通过智能化手段提升开发效率。它不仅能够实时检查语法错误,还能根据用户需求快速生成或修改代码文件,支持多种编程语言。此外,Cline 还可以通过无头浏览器启动网站,进行交互操作并捕获日志,助力调试和优化。

Cline 支持多语言模型,根据需求选择免费或付费的模型。支持通过 @url、@problems、@file 和 @folder 等指令添加上下文信息,优化任务处理。

配置使用:VSCode 侧边栏中的 Cline 图标

配置 OpenRouter 免费模型会出现禁止计算机上使用提示,非付费用户不要使用。