Переглянути джерело

VS Code 配置 CodeRunner 使用 MSVC编译器 和 显示中文不乱码

蘭雅sRGB 5 місяців тому
батько
коміт
ce6b929668
4 змінених файлів з 44 додано та 5 видалено
  1. 28 1
      README.md
  2. BIN
      img/vscode-runner.png
  3. 13 0
      keybindings.json
  4. 3 4
      settings.json

+ 28 - 1
README.md

@@ -16,10 +16,37 @@ C/C++零基础入门 系列教程 不懂英文 从零开始
 ### C/CPP零基础入门编程软件资源
 https://wwcz.lanzout.com/b01urh63a   密码:7q5c
 
-
 - `算法动画图解_中文欢乐版.apk`  视频右侧的 算法动画图解 程序
 - `MSVC2015Mini.7z`    视频中 VSCODE 调用的 C/C++ 编译器
 
+https://wwm.lanzout.com/b0r9anaqb  密码:1diw
+- MSVC2022_编译器X64便携版.7z
+- tdm64-gcc-10.3.0-2.exe 等 C/C++编译器资源
+
+## VS Code 配置 CodeRunner 使用 MSVC编译器 和 显示中文不乱码
+- 下载 `MSVC2022_X64_mini.7z` 压缩包解压到任意目录下, 推荐 C:\MSVC2022
+- 配置环境变量,添加参考如下
+```
+INCLUDE=C:\MSVC2022\include
+LIB=C:\MSVC2022\lib
+Path=C:\MSVC2022\bin;%PATH%
+```
+
+- 配置 `CodeRunner`  修改配置文件 `settings.json` , 给 `cl.exe` 添加参数 UTF-8 编码、不显示警告、编译优化、链接库等参数
+```
+"cpp": "cd $dir &&  cl.exe /utf-8 /nologo /w /EHsc /Ox /DNDEBUG /MD $fileName  /link rpcrt4.lib msvcrt.lib shell32.lib user32.lib && $dir$fileNameWithoutExt",
+"c": "cd $dir  &&  cl.exe /utf-8 /nologo /w /EHsc /Ox /DNDEBUG /MD $fileName  /link rpcrt4.lib msvcrt.lib shell32.lib user32.lib && $dir$fileNameWithoutExt"
+```
+
+- 设置 PowerShell 的默认输出编码为 UTF-8:
+
+```
+[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
+```
+
+![](./img/vscode-runner.png)
+
+
 ## [使用GPT 3.5 学习C语言: 25个简单代码让你了解 C 语言基本语法](./base/)
 
 ## [C/C++零基础入门 学习收集的示例代码](./examples/)

BIN
img/vscode-runner.png


+ 13 - 0
keybindings.json

@@ -0,0 +1,13 @@
+// 将键绑定放在此文件中以覆盖默认值auto[]
+[
+    {
+        "key": "ctrl+d",
+        "command": "editor.action.copyLinesDownAction",
+        "when": "editorTextFocus && !editorReadonly"
+    },
+    {
+        "key": "shift+alt+down",
+        "command": "-editor.action.copyLinesDownAction",
+        "when": "editorTextFocus && !editorReadonly"
+    }
+]

+ 3 - 4
settings.json

@@ -62,10 +62,9 @@
         "fortran": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
         "sml": "cd $dir && sml $fileName",
         //  VS Code 配置 CodeRunner 使用 MSVC编译器
-        // "cpp": "cd $dir && astyle --ascii $fileName && cl.exe /nologo /w /EHsc /Ox /DNDEBUG /MD $fileName  /link rpcrt4.lib msvcrt.lib shell32.lib && $dir$fileNameWithoutExt",
-        // "c": "cd $dir  && astyle --ascii $fileName && cl.exe /nologo /w /EHsc /Ox /DNDEBUG /MD $fileName  /link rpcrt4.lib msvcrt.lib && $dir$fileNameWithoutExt"
-        "cpp": "cd $dir &&  cl.exe /nologo /w /EHsc /Ox /DNDEBUG /MD $fileName  /link rpcrt4.lib msvcrt.lib shell32.lib && $dir$fileNameWithoutExt",
-        "c": "cd $dir  &&  cl.exe /nologo /w /EHsc /Ox /DNDEBUG /MD $fileName  /link rpcrt4.lib msvcrt.lib && $dir$fileNameWithoutExt"
+        // "cpp": astyle --ascii $fileName 自动格式化
+        "cpp": "cd $dir &&  cl.exe /utf-8 /nologo /w /EHsc /Ox /DNDEBUG /MD $fileName  /link rpcrt4.lib msvcrt.lib shell32.lib user32.lib && $dir$fileNameWithoutExt",
+        "c": "cd $dir  &&  cl.exe /utf-8 /nologo /w /EHsc /Ox /DNDEBUG /MD $fileName  /link rpcrt4.lib msvcrt.lib shell32.lib user32.lib && $dir$fileNameWithoutExt"
 
     }
 }