各种语言的环境配置

其实这篇文在贴吧和b站都写过一遍,但鉴于某些情况下有些人的问题太诡异了,所以在这里写的更细致一些

开始

首先是vscode的下载,请访问 官网 进行下载安装,如果连下载安装都不会,建议放弃学编程。

此处提供一个截至今日为止最新版本的极速下载链接

极速下载方法源于此:国内下载vscode速度慢问题解决 - 孙志刚的文章 - 知乎

c/c++篇

编译器安装

使用choco进行mingw的安装,首先用管理员模式的shell输入

choco install mingw

接着在提示y或者n的时候选择y,等到脚本运行结束,mingw-w64会被下载到你的电脑上并自动设置环境变量。因为链接指向github,所以可能有无法下载的情况,如果无法下载自行寻找解决办法。

注意安装好之后重新开一个shell测试一下gcc指令,如果输入

gcc

的返回是"gcc.exe: fatal error: no input files compilation terminated."。就代表环境变量已经配置,如果不是这个结果,就先重启一次电脑。

插件的安装和推荐

现在是插件的安装和推荐,运行vscode,打开左边侧边栏有四个格子,右上角格子被分离的图标,搜索插件:chinese,点插件右下角的按键进行安装,重启之后就变成中文了。(11/19更新发现现在初次运行vscode会自动提醒安装本插件)

这一部分是我用来写c的插件:

c/c++
c++ intellisense(与上面那个功能重合,可排除)
code runner

基本安装了这几个插件你就可以开始写了,或者你可以选择C/C++ Extension Pack套餐,一次性来个圆满。

虽然可以只用两个插件就开始写,但我的建议是直接来个套餐。

在vscode里的资源管理器中打开文件夹(避免中文路径),然后写好你的代码,就可以ctrl+alt+n快捷键编译了(code runner插件的功能,这个插件配置好环境之后可以快捷配置各种语言的运行),切记,要在vscode侧边的资源管理器新建文件来编辑你的.c文件,不然tab补全和智能建议不会生效。

由于gdb默认使用的是utf8配置,而我们的系统默认为gb2312编码,所以如果使用中文路径或者文件名,会导致gdb找不到我们写的代码文件(无法调试)。

工作区

首先是.vscode文件夹的配置,打开文件夹的情况下,按下 ctrl+shift+p 然后黏贴 C_Cpp.ConfigurationEditJSON 打开 c/c++:编辑配置(json),然后c/c++插件会自动在当前文件夹下新建子文件夹 .vscode 并在.vscode下新建 c_cpp_properties.json 文件。

{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "D:\\PATH\\mingw64\\bin\\gcc.exe",
"cStandard": "gnu17",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}

这个大概就是新建的json的内容了,基本上没有太多要改的,(不要复制我的,不要复制我的,不要复制我的!!!)

打开你的cmd 输入

gcc -v -E -x c++ -

然后把红框中的部分复制下来,

添加到includepath项下,然后把所有的\改为\\或者/,每一行都用英文的双引号包裹起来,并且加上一个逗号,最后一项不用逗号(不要复制我的,用自己命令行输出的内容)。

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "c:\\programdata\\chocolatey\\lib\\mingw\\tools\\install\\mingw64\\bin\\../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../include/c++/11.2.0",
                "c:\\programdata\\chocolatey\\lib\\mingw\\tools\\install\\mingw64\\bin\\../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../include/c++/11.2.0/x86_64-w64-mingw32",
                "c:\\programdata\\chocolatey\\lib\\mingw\\tools\\install\\mingw64\\bin\\../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../include/c++/11.2.0/backward",
                "c:\\programdata\\chocolatey\\lib\\mingw\\tools\\install\\mingw64\\bin\\../lib/gcc/x86_64-w64-mingw32/11.2.0/include",
                "c:\\programdata\\chocolatey\\lib\\mingw\\tools\\install\\mingw64\\bin\\../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../include",
                "c:\\programdata\\chocolatey\\lib\\mingw\\tools\\install\\mingw64\\bin\\../lib/gcc/x86_64-w64-mingw32/11.2.0/include-fixed",
                "c:\\programdata\\chocolatey\\lib\\mingw\\tools\\install\\mingw64\\bin\\../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "cStandard": "c17",
            "cppStandard": "c++20",
            "intelliSenseMode": "windows-gcc-x64",
            "compilerPath": "C:/ProgramData/chocolatey/lib/mingw/tools/install/mingw64/bin/g++.exe"
        }
    ],
    "version": 4
}

现在,在.vscode文件夹之外写一个代码,然后按F5调试

#include <stdio.h>
int main(void)
{
printf("hello world");
return 0;
}

在弹出的窗口选中c/c++(gdb/lldb),然后选择生成和调试活动文件。

等待一会,会自动打开launch.json文件,如果需要,请把 stopAtEntry 项改为true,这个项目表示调试时自动在main开始的位置暂停。

如果你写的是c++,那么打开你的tasks.json文件,找到command项,把最后面的gcc.exe改为g++.exe,就我目前为止的尝试,g++可以生成能调试的c和c++程序,但gcc只能生成调试c。

目前为止工作区算是弄好了,如果没出错,那么你的文件树如下图

只要代码文件至最高和.vscode文件夹同层即可,可以在代码存放位置任意新建文件夹和文件

到了这一步,可以把当前的工作区保存成文件放在桌面。

那么工作区是什么呢,举个例子,我的vscode同时有c和java和python相应的插件和运行环境,但不同环境下的.vscode文件夹不同,而且在只需要写某一类语言时,加载其他的插件也是一笔完全不需要的内存开销。

这个时候就可以使用工作区,把所有不需要的插件全局禁用,仅在需要的工作区打开,就可以把开发环境分割开,同时工作区内也可以添加多个文件夹,这些文件夹共用工作区内的设置。

如图就是工作区文件 这个code-workspace后缀的就是刚才保存的工作区文件,正常情况下只要运行该文件就能打开相应的工作区。

乱码问题

由于拷锟斤和烫烫烫的问题见到太多,所以一起讲下。下面是三个方法,可以任选一个使用。

1、把系统语言改为utf8编码。(极其不推荐,所以不提供方法)

2、在设置里搜索 Code-runner: Executor Map ,然后点击在settings.json中编辑,接着在code-runner.executorMap项下找到c和cpp,并在他们的内容里插入 -fexec-charset=GBK ,插入到$fileName后面就行,记得前后留一个空格。(推荐)

c和cpp都可以添加。

关于这里,其实就是code runner这个插件会使用这里写好的命令,带有$的参数会在实际使用时被替换成相应的内容,这一部分不需要在意。

code runner插件的指令

这里稍微解释一下,coderunner实际上有三个指令。

cd $dir && gcc $fileName -fexec-charset=GBK -Wall -o $fileNameWithoutExt && $dir$fileNameWithoutExt

进入当前当前文件的位置,并且(&&分割)调用gcc编译当前文件,并且运行编译好的文件。

重点在于两个&&指令中间的:

gcc $fileName -fexec-charset=GBK -Wall -o $fileNameWithoutExt

这里的:

-fexec-charset=GBK

实际上就是告诉gcc,编译完成后的运行环境是gbk,所以加入之后可以避免windows的终端下乱码。

至于后面的-Wall参数,则是我出于个人喜好添加的,它表示生成所有警告信息,你们可加可不加。

注意code runner只是为了给新手快速适应,可以的话多手动编译。

有关gcc的使用请参阅官方文档或者菜鸟教程。链接-> https://www.runoob.com/w3cnote/gcc-parameter-detail.html

3、在设置(json)里,找到"[c]",并且在它里面加入一行,“files.encoding”:“gbk”,让以后新建的.c文件默认都为gbk编码,一般也不会再出现什么问题,记得添加上行行末尾的逗号。

我的配置处于注释状态

这个方法记得在生成文件时把后缀名也打出来,比如main.c,如果是各种原因导致的编码变了,只需要点击右下角的编码,选择"通过编码重新打开"就行了。

注意方法2和3有冲突,使用方法2时文件编码注意保持为utf8

python篇

编译器

因为我是vs2022+vscode都用的,所以我的python直接用的vs2022自带的版本。

如果你是和我一样的用法,那就先运行Developer Command Prompt for VS 2022。也即是vs2022的cmd,然后在里面输入

set > %USERPROFILE%/desktop/环境变量.txt

然后你的桌面就会生成一个环境变量.txt ,在里面的path部分搜索两个带着python的路径,然后复制出来,加到电脑系统本身的环境变量就可以了。

比如我的路径就是

C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python39_64;

C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python39_64\Scripts;

如果你没有vscode,请使用choco安装

choco install python

插件

接着打开vscode,直接安装python插件,安装了这个插件会额外下载Pylance,Jupyter Notebook Renderers,Jupyter Keymap,Jupyter等插件,可以直接通过启用/禁用python插件同时管理他们。

编辑中在进行某些操作时会需要额外插件,一般提示你需要什么直接选择install就行,比如alt+shift+f进行格式化的时候就会需要autopep8这个插件,否则无法格式化。

java篇

依旧是熟悉的choco

choco install openjdk

在安装完之后可以使用[Extension Pack for Java](Extension Pack for Java - Visual Studio Marketplace),之后就自己摸索一下吧。

go篇

安装

choco install golang

插件

正常来说go这一个插件就够了,不过他会提醒你安装一些工具,这里就要解释一下了

安装tools

首先使用七牛云 - Goproxy.cn作为你的代理,否则基本是无法直接下载的。

shell运行一下两条代码,

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

接着vscode在提醒你更新的时候直接选all install就可以了。

如果还是不能下载可能是验证包的有效性需要访问的sum.golang.org被高墙卡住了,设置一下

go env -w GOSUMDB=off

关掉检验就行。

如果他不提醒你下载插件的话,按下ctrl+shift+p然后搜索Go:Install/Update Tools自行下载就可以。

提升体验的插件

首先是一个喜欢的主题:One Dark Pro ,至今为止你们在我这里看到的配色都是这个插件的。

第二个是花括号插件:Bracket Pair Colorizer 2,它的作用是把括号成对的上色,并且用高亮线连接,可以快速检查括号的配对。虽然只是一个小细节,但我觉得还是很棒的。

第三个是一个快捷键扩展插件,macros

我早期打c代码最烦的事,手动末尾添加分号,装了这个插件就可以快捷键添加了,具体的配置请参考:https://blog.csdn.net/m0_46230476/article/details/115637879

Q.E.D.


hamster&璃茉骰主