最近想教授小学生c++,但是用Dev-C++,虽然软件设置里有代码提示功能设置,但是没有效果,对于小学生来讲没有代码提示和补全大大加大了学习难度,这就是为什么小学生学编程喜欢用scratch教,因为不用输入,也没有英文认知恐惧,虽然 成年人学习就是提倡不要代码提示,但是对小学生本来输入技能就差,再让他记忆关键字单词,去输入难度就是劝退级的,从见面到放弃,更不要谈入门了,所以一直想找一个具有代码提示功能的编辑器,vs当然有,但是那个安装 就要10多g,成功劝退我了,vscode不错轻量级,装 上插件有代码提示,但是他只是文本编辑器,不是ide,需要一系列的配置。但是一系列配置好之后又出现一个严重的问题,运行在vscode终端里,中文都是乱码。比如蓝桥杯一题:
#include <iostream>
using namespace std;
int main()
{
int s[3]; //定义一个数组,用来存放三个数的值
int temp; //定义一个中间变量用来交换比较值
for (int i = 1; i <= 3; i++)
{
cout << "请输入第" << i << "个整数: ";
cin >> s[i - 1];
}
if (s[0] > s[1])
{
temp = s[0];
s[0] = s[1];
s[1] = temp;
} //如果第一个值比第二个值大,交换两者的位置
if (s[1] > s[2])
{
temp = s[1];
s[1] = s[2];
s[2] = temp;
} //如果第二个值比第三个值大,交换两者的位置
if (s[0] > s[1])
{
temp = s[0];
s[0] = s[1];
s[1] = temp;
} //此步是容易忽略的地方,
//原始最后一个元素,并没有和比较后的最大值进行比较,
//存在这种情况,交换s[0] 和s[1]
cout << "从小到大输出:";
for (int i = 1; i <= 3; i++)
cout << s[i - 1] << " ";
return 0;
}
我在把写在Dev-C++复制在vscode里运行发现,如果 运行在终端里和运行编译出来的exe文件出来的cmd窗口都是乱码。于是各种百度。
第一次
按照网上说的,中文版的cmd默认编码是gbk,按照https://jingyan.baidu.com/article/f7ff0bfcee2dc22e26bb13d5.html这篇百度经验第二种方法写入注册表的方法把cmd编码改成utf-8,如果是active code page:65001就是utf-8编码
第二次
按照这个链接上的方法:vscode调用系统CMD输出窗口中文乱码 - 程序员大本营,设置就解决问题了,不过这里注意,win10版本分为 专业版和家庭版,我的笔记本预装的是家庭版跟链接里的方法有一点点不同,链接里的设置可能是专业版步骤如下:
最终结果
终端运行结果 :
cmd窗口运行结果
至此问题解决