# vscode-templates **Repository Path**: liruohrh/vscode-templates ## Basic Information - **Project Name**: vscode-templates - **Description**: vscode-templates - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-10-30 - **Last Updated**: 2024-04-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # VSCode-Template - 使用vscode作为编辑器时,VSCode的一般配置 # extension - java:Extension Pack for Java - c/c++:C/C++ Extension Pack - 命令面板: - C/C++ 编辑配置JSON/UI - C/C++ Add Debug Configuration: - C/C++: cl.exe 生成和调试活动文件:vs debug - C/C++: cl 生成和调试活动文件:gdb debug(不知道为什么debug不了,只能运行,而且还是使用`mingw64\bin\gdb.exe`,好像用gcc编译才能调试) - C/C++: gcc.exe 生成和调试活动文件:gdb调试,和(gdb) 启动差不多,只是多了preLaunchTask - 而且不知道为毛,和C/C++: cl 生成和调试活动文件一样的调试命令(这个cl配置有点问题,最好不要用) - ms-vscode.cpptools: - 包含 - LLVM - clang-format:A tool to format C/C++/Java/JavaScript/JSON/Objective-C/Protobuf/C# code. - clang-tidy:对C++代码进行静态分析 - 注意: - c/c++本来就没有说直接编译一个目录下的源码功能,如果需要多文件编译,需要构建工具如make、cmake - 但是如果是直接`include "xx.c"`而不是头文件,则也行,比较不规范而已 # 子项目 ## vscode-workspace - 单独打开一个目录上下文会认为只有一个Root Project,而workspace文件则多个 - 一个Root Project==一个项目==一个工作区 - 上下文:如RedHat的Java Language Server - 以RedHat的Java Language Server为例子 - 先打开一个目录java1-redhat,在file选项中保存为workspace - 打开workspace - 创建一个目录java2-reda,再在file选项中把这个目录加入当前工作区即可 - 其他 - 工作区插件建议:生成`extensions.json`,方便其他人安装项目需要的插件 ## Java-redhat-server - 可视化视图: - Project Manager for Java:资源管理器的JAVA PROJECT、MAVEN - Redhat Java Language Server:Bottombar中的Java: Ready - 有什么不是Java Language Server的配置修改,最好点击Java: Ready==>Clean Workspace Cache==>Reload And Delete - 比如,一般workspace`files.encdoing=UTF-8`,然而,打开eclipse项目(一般默认GBK),就会导致Java Language Server以UTF-8编译GBK - 修改`files.encdoing=GBK`,但是Java Language Server感知不到 - 此时就需要Reload And Delete - 容易误解的地方: - java.jdt.ls.java.home是运行插件的JAVA_HOME - java.configuration.runtimes不仅是编译还是运行项目的JAVA_HOME ## Java Maven - 容易误解的地方: - 首先需要理解,maven仅仅是构建工具,当然,如果需要运行,可以使用插件来运行项目(不过应该没有太大必要) - 设置JAVA_HOME方法有: 1. maven.terminal.useJavaHome=true+java.jdt.ls.java.home 2. maven.terminal.customEnv中,设置JAVA_HOME=xxxx - 看配置名字也知道,这只是配置终端,因此设置terminal.integrated.env.windows也可以 - 而且terminal.integrated.env.windows更好一点,如果是maven插件自己的配置,必须用到插件命令,如点击资源管理器中MAVEN的命令或者打开命令面板执行maven命令这些配置才会生效,JAVA_HOME也是。 - 但是设置terminal.integrated.env.windows,无是maven插件的命令还是直接打开终端执行maven命令都OK - 值得注意的是:maven可能会用到JAVA_HOME,比如system的依赖可能依赖JAVA_HOME中的tools.jar包 - 运行: 1. 打包后手动运行 2. 安装可以运行项目的插件来运行 3. 借助RedHat Java Language Server插件的java.configuration.runtimes机制运行 ## C/C++ - MSVC:[Configure Visual Studio Code for Microsoft C++](https://code.visualstudio.com/docs/cpp/config-msvc) - 简单来说:下载VS,安装C++桌面开发组件(自动包含MSVC环境),使用VS提供的命令行,在这个终端中使用code命令打开项目(VSCode会自动继承VS设置的环境变量) - 在这个环境下,可以编译,运行、调试 - 手动配置:仅编译、运行 - 需要配置c_cpp_properties.json的includePath(因为需要语法分析,以便不报错) - 写一个任务,如`MSVC(NO VsDevCmd, Custom Include And CL)`(仍然是本地的) - 需要手动设置环境变量:INCLUDE、LIB - 当然也可以写在terminal.integrated.env - 但最好写在这里,因为设置了环境变量,还是需要配置c_cpp_properties.json的includePath - 官方推荐任务写法:`MSVC(Run Task Cmd In VsDevCmd)`(适合场景:Remote Development through SSH) - 即配置`options.shell.executable` - Mingw:[Get Started with C++ and MinGW-w64 in Visual Studio Code](https://code.visualstudio.com/docs/cpp/config-mingw) - 官方推荐的是[MSYS2](https://www.msys2.org/) - 直接下Mingw,再加入PATH也行