Giter Site home page Giter Site logo

v2's Introduction

VSCodeConfigHelper (v1.x and v2.x)

⚠️ Warning

此仓库用于存放 1.x 和 2.x 旧版工具的代码。旧版工具将不再接受功能更新,请前往 VSCodeConfigHelper3 了解关于新版 3.x 的信息。

VSCodeConfigHelper 是一个配置 Visual Studio Code C++ 环境的工具。它专为编程新手打造,致力于让学生专注于编程的学习而非环境的配置工作上。

旧版工具下载地址

使用方法

此工具只能在 Windows (版本不低于 Windows 7 Service Pack 1)环境下使用。如果您使用的是 macOS,请参阅此处。如果您使用的是 GNU/Linux,您来这里做什么?

需要一个支持 7-Zip 解压缩的软件。您可以使用任何主流的工具包括 WinRAR、Bandizip 甚至“好压”。

然后,您只需要下载此工具,然后按照上面的提示进行即可:

  1. 第一步:输入一个不包含中文或者特殊字符的文件夹,作为您的工作文件夹。您的一切代码和程序都将存放在该文件夹下。若一切顺利,请点击下一步。
  2. 第二步:配置您的 MinGW-w64。
    • 如果您是第一次配置,请您点击下载链接,然后使用 7-Zip 解压缩工具解压。请妥善保存解压得到的文件,并将其路径输入到工具中。若一切顺利,你将看到绿色的输出。此时请您点击下一步。
    • 如果这不是您第一次配置,请您选中您想要使用的编译环境。请注意,如果该编译环境是红色字体,说明该编译环境并不推荐,可能导致异常。选择完毕后,请您点击下一步。
  3. 第三步:安装 VS Code 和插件。
    • 如果您已经安装了 VS Code,则工具会自动检测并提示您。如果您观察到了红色字体的输出,说明您当前安装的 VS Code 可能与 MinGW-w64 不兼容。建议您重新通过工具提供的链接下载并安装。安装完成后,请点击刷新按钮。
    • 如果您未安装 VS Code,请通过工具提供的链接下载并安装。安装完成后,请点击刷新按钮。
    • 请您点击下方的安装扩展按钮。若安装成功,则提示“已安装”。此时您可以点击下一步。
  4. 第四步:选择您喜爱的样式。建议您选择内置终端样式,避免意外情形发生。选择完成后,点击下一步进行配置。
  5. 第五步:您的配置已完成。您可以选择生成 “Hello World” 测试代码,或者启动 VS Code。

若您选择内置终端样式,请按 F5 (在不同设备上可能是 Fn+F5),期望在底部弹出一个终端并打印出 Hello,world!

若您选择弹出窗口样式,请安 F6(在不同设备上可能是 Fn+F6),期望在弹出一个终端窗口并打印出 Hello,world!

之后您启动 VS Code 时,请选择打开工作文件夹,也就是您第一步填写的文件夹。(不是 .vscode 文件夹。)

遇到了 Windows Defender SmartScreen ... 的问题

请您选择“仍要运行”。

遇到了 .NET Framework ... 的问题

如果您无法启动工具,出现这种情况:

.NET Framework not found

请前往 Microsoft 下载 获取 .NET Framework 4.6.2 环境。

参阅


关于此项目

本项目使用 Visual Studio 2019 开发,基于 .NET Framework 4.5 。代码采用 GPLv2 协议开源,欢迎您贡献出您自己的一份力量。您只需要克隆本仓库,然后使用 Visual Studio 打开解决方案文件即可生成、调试。

v2's People

Contributors

dependabot[bot] avatar guyutongxue avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

v2's Issues

更新 VS Code 版本到 1.45 后,弹出”任务出现错误“(There are task errors)提示框

此现象为 VS Code 更新后要求弃用 shell 作为扩展的任务类型(以更安全、快速地运行),改用类似 c\c++ 作为 type 属性的值。但是 C/C++ 扩展并没有及时跟进这一变化,从而导致错误

The task provider for "C/C++" tasks unexpectedly provided a task of type "shell".

的发生。 幸运的是,这只是一个警告,并不影响编译操作。

目前作为用户我们无法修复这一 bug ,请耐心等待 VS Code 或 C/C++ 扩展更新直至两者兼容。

详情参见:

建议加入编译参数配置存储以及常用编译参数勾选功能

0x00

在创建多个工作文件夹时,修改过的编译参数并不会自动存储,在下一次使用时,编译参数又会恢复成

-g
-std=c++20
"${file}"
-o
"${fileDirname}\${fileBasenameNoExtension}.exe"

(即默认编译参数)
但是这并不方便个性化使用。

0x01

此外,可以考虑在配置过程中增加常用编译参数的勾选功能。
比如-Wall-O2等。

出不来运行结果

The terminal process "C:\WINDOWS\System32\cmd.exe /c C:\Mingw64\bin\g++.exe -g -std=c++20 "E:\vscodeconfighelper\helloworld.cpp" -o "E:\vscodeconfighelper\helloworld.exe"" terminated with exit code: 1.

终端过程“C: \ WINDOWS \ System32系统\用于cmd . exe / C C: \ Mingw64 \ bin \ g++ . exe - g化C + + 20”E: \ vscodeconfighelper \ helloworld。cpp“o”E: \ vscodeconfighelper \ helloworld。exe""退出代码:1。

关于出现没有有效的g++之类的问题 不需要重装

把"command": "C:/TDM-GCC-64-9.2.0/bin/g++.exe",这一行指令加上就可以
C:/TDM-GCC-64-9.2.0/bin/g++.exe这里为你的把mingw放的地址
给系统找到你的g++的绝对地址就行
原来的程序省的你配置了 不错 加油 造福人类 就是
提个建议:能不能不要自动打开设置的文件夹 直接显示开始 让他们自己打开文件夹比较好 ^-^
image

v3.0 计划

重构

  • 使用 WPF 重写此程序 抛弃 WinForm 框架,并优化代码结构。
  • 放弃 Windows 7 和 32 位操作系统支持
  • 解决 #14

考虑添加的功能

  • #6,如同 Dev-C++ 7 的功能(标准、警告、优化);
  • 更多的可配置选项:
    • 是否修改 Path 环境变量(默认勾选)
      - [ ] 检测并禁用无关插件(C++ Intellisense, Code Runner, etc.)(默认不勾选) 技术上无法实现(见 vscode#40239
    • 卸载无关插件
  • 调试前检测不合法文件名的机制(或类似手段避免中文文件名调试失败)
  • 新手模式:调整配置使得更适合新手(使用外部终端、添加桌面快捷方式、禁用无关插件等)

问题修复

  • 外部终端不应覆盖原有键盘快捷方式
  • 修改 Path 时应置顶选中项而非删除其它
  • 静态链接标准库(-static-libgcc -static-libstdc++)(添加选项,但不默认勾选。)
  • 其它小问题

欢迎在此 Issue 下提出新功能意见或建议。

作者学业较忙,只是先画一个饼,咕咕咕

已在 Guyutongxue/VSCodeConfigHelper3 中着手开发。

能做成离线包么

公司开发环境没有办法访问外网,vscode 的扩展包在哪里下的啊。。。

基于 MinGW-w64 的编译器在未知情形下因未知原因无法正常工作

近日我注意到,基于 MinGW-w64 的编译器(如我自己构建的版本以及老的 MinGW-w64 8.1.0 版本)都无法正常工作。具体表现为:编译文件时无输出文件,且返回值为 1,且 stderr 为空。

发生情形和发生原因均不清晰。测试环境:Windows 10 20H2,版本 19042.388。

如有知情者欢迎在此处讨论。

当 MinGW 路径中含有空格时,配置任务无法正常完成

按照安装步骤安装,出现了

'C:\vscode' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
终端进程“C:\WINDOWS\System32\cmd.exe /c "C:\vscode c\mingw64\bin\g++.exe" -g -std=c++17 "D:\Desktop\vscode\helloworld(1).cpp" -o "D:\Desktop\vscode\helloworld(1).exe"”启动失败(退出代码: 1)。

说明
之前我安装过vscode,然后我卸载了,重新按照给的链接安装。

调试的时候提示任务出现错误

任务出现错误。请查看输出结果,了解更多详细信息
去查看“输出”的时候看见:
The task provider for "C/C++" tasks unexpectedly provided a task of type "shell".

终端进程打不开

提示终端进程打不开
,有什么办法吗,万分感谢!

终端进程“C:\Windows\System32\cmd.exe /c C:\vscode1\mingw64\bin\g++.exe -g -std=c++20 "C:\code\helloworld.cpp" -o "C:\code\helloworld.exe"”启动失败(退出代码: 1)。

请问按了f5出现这个路径正常吗?

$ /usr/bin/env c:\Users\64613\.vscode\extensions\ms-vscode.cpptools-1.7.1\debugAdapters\bin\WindowsDebugLauncher.exe --stdin=Microsoft-MIEngine-In-oio5w422.o2u --stdout=Microsoft-MIEngine-Out-4qdwzx51.0s1 --stderr=Microsoft-MIEngine-Error-r5rtnldj.jpi --pid=Microsoft-MIEngine-Pid-kxtjgxfe.2zo --dbgExe=D:\mingw64\bin\gdb.exe --interpreter=miHello, world!

请问helloworld输出是输出了,但是上面跟着一段路径这是为什么?

Unrecognized command line option '-std=c++20'

当未使用工具提供的 MinGW 时,编译时会报此错误。

一个 bug 。我未考虑较旧版本的 MinGW,导致默认选项不兼容。

解决方案:配置时在设置-配置页手动调整标准到 C++17,或下载“谷雨同学”版本的 MinGW 来替代。

此 Issue 欢迎 PR。

CodeRunner

在使用helper时勾选了”自动删除卸载不必要或者干扰的插件“选项,发现卸载了coderunner,后来重装coderunner并配置后仍发现不能使用,请问这两个真的干扰吗
下图是错误提示
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.