Visual Studio 2019 (VS2019) c++使用指南 (以及代码片段调校,和关于处理万能头文件和scanf、getch、kbhit编译错误的问题)

当你看完这篇博文,别忘了给初中生博主一个小小的赞哟~~
注:有关Microsoft Visual Studio 2019详情请访问此网址VS2019
想了解快捷键的朋友请戳这里—>快捷键篇

板块一:Visual Studio 2019 安装及配试指南

首先,进入VS2019官网 官网.下载VS2019,下载完毕后,会有这样一个界面:Visual Studio 2019 (VS2019) c++使用指南 (以及代码片段调校,和关于处理万能头文件和scanf、getch、kbhit编译错误的问题)_第1张图片
选择你自己语言的插件包(这里我选的是自己的语言c++)以及Visual Studio 拓展开发插件包,语言包就选择中文就行了(根据自己的喜好来),然后点击安装就可以了。安装完毕后,打开VS2019,开始的界面会持续5~10秒,请不要担心。进入之后,会有这样一个界面:Visual Studio 2019 (VS2019) c++使用指南 (以及代码片段调校,和关于处理万能头文件和scanf、getch、kbhit编译错误的问题)_第2张图片
点击创建新项目,然后点击空项目,在上方选择自己的编程语言,编译系统就选择windows所有平台,项目类型就选所有项目类型,再点击下一步。Visual Studio 2019 (VS2019) c++使用指南 (以及代码片段调校,和关于处理万能头文件和scanf、getch、kbhit编译错误的问题)_第3张图片
点击下一步后是这样一个界面,可以选择项目名称或位置,这里我们就按照它默认的来,然后再点击创建,我们的第一个项目就新建成功了。Visual Studio 2019 (VS2019) c++使用指南 (以及代码片段调校,和关于处理万能头文件和scanf、getch、kbhit编译错误的问题)_第4张图片
新建成功后,是这样的一片空白,这时,我们只需要右键点击右边资源管理器的源文件文件夹,选择添加,再选择新建项,就可以了。然后选择c++文件,名称就填你自己的文件名称.cpp,那么点击了添加后,就正式创建创建成功了。Visual Studio 2019 (VS2019) c++使用指南 (以及代码片段调校,和关于处理万能头文件和scanf、getch、kbhit编译错误的问题)_第5张图片
Visual Studio 2019 (VS2019) c++使用指南 (以及代码片段调校,和关于处理万能头文件和scanf、getch、kbhit编译错误的问题)_第6张图片
Visual Studio 2019 (VS2019) c++使用指南 (以及代码片段调校,和关于处理万能头文件和scanf、getch、kbhit编译错误的问题)_第7张图片
创建成功后,你就可以输入自己的代码,然后点击上方的本地Windows调试器,就可以编译运行了。如果有不满意它默认字体和主题的小伙伴,可以点击菜单栏的工具–>选项–>字体和颜色(调字体)以及常规(调主题)进行修改,这里我使用的是consolas字体和深色主题,有不满意字体大小的还可以点击ctrl+滚动鼠标滚轮调节。至此,我们的安装配试就告一段落了Visual Studio 2019 (VS2019) c++使用指南 (以及代码片段调校,和关于处理万能头文件和scanf、getch、kbhit编译错误的问题)_第8张图片

板块二:关于代码片段的snippet文件的编写

当你安装配试完毕后,你会发现:这个软件为什么不能像Dev-C++一样在编辑器选项里添加初始的代码片段,这软件跟Dev-C++相比有什么优势呢?别急,我们是有办法的,首先,你需要了解snippet文件是什么东东:SNIPPET file is a Visual Studio IntelliSense Code Snippet. IntelliSense Code Snippets are XML files with a .snippet file name extension that adhere to the IntelliSense Code Snippet XML schema.翻译后就是:代码片段文件是一个Visual Studio智能感知代码片段。IntelliSense代码片段是扩展名为. Snippet的XML文件,它遵循IntelliSense代码片段XML模式。那么看不懂没关系,我也不是很明白,但我们只要知道它是一种XML文件(注:XML文件),然后了解它的格式就可以编写了,这里我们可以参考一下VS2019自带的snippet文件,点击菜单栏中的工具–>代码片段管理器,然后在语言中选择Visual C++,点击下面框框里的Visual C++,里面就有很多代码片段的snippet文件,这时我们以for循环的for.snippet为例,在框框里点击它,复制他的文件地址,在搜索里搜索一下,再打开就行了。打开后,是这样的:


<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
	<CodeSnippet Format="1.0.0">
		<Header>
			<Title>forTitle>
			<Shortcut>forShortcut>
			<Description>for 循环的代码片段Description>
			<Author>Microsoft CorporationAuthor>
			<SnippetTypes>
				<SnippetType>ExpansionSnippetType>
				<SnippetType>SurroundsWithSnippetType>
			SnippetTypes>
		Header>
		<Snippet>
			<Declarations>
				<Literal>
					<ID>typeID>
					<Default>size_tDefault>
					<ToolTip>控制变量类型ToolTip>
				Literal>
				<Literal>
					<ID>indexID>
					<Default>iDefault>
					<ToolTip>索引ToolTip>
				Literal>
				<Literal>
					<ID>maxID>
					<Default>lengthDefault>
					<ToolTip>最大长度ToolTip>
				Literal>
			Declarations>
			<Code Language="cpp">
			Code>
		Snippet>
	CodeSnippet>
CodeSnippets>

然后这段代码是什么意思呢,我们来解释一下:

  1. Title,Author和Description,显示在Code Snippets Manager中。
  2. Shortcut,在对应语言的源程序文件中输入Shortcut内容并按TAB键,插入对应的snippet code。
  3. Literal,定义在snippet中可编辑替换的代码片段,ID是snippet中唯一标识符,在Code中ID两侧用$符号表示可以被编辑替换,Default是默认显示的内容。
  4. Language,表明代码类型,如CPP表示C++。
  5. e n d end end表示snippet代码插入后光标位置。
  6. Ctrl+K,Ctrl+B,Imports导入.snippet。

看不懂?没关系,我们来看一下for循环的案例,首先,前面的不用管,主要是从title开始,那么title里写的就是这个代码片段的名称‘for’,而shortcut就表示输入‘for’再按tab,就可以显示此代码片段,接着description就是对此代码片段的描述,然后直接跳到declarations,这有点类似定义变量,里面括起来的是定义的变量,然后里面的literal就是一个变量,里面包按三个参数,id、default和tooltip,id就是此变量的名称,default是此变量在代码中默认的显示内容,比如for循环的代码里,变量type在代码中的默认显示就是size_t,以此类推,最后tooltip可以看做是对此变量的描述。最后,code language就是此代码的语言,比如我就是cpp,然后在后面最里面的中括号里输入你的代码片段就行了,其中变量要用$$包起来他的变量名,然后就大功告成了。Visual Studio 2019 (VS2019) c++使用指南 (以及代码片段调校,和关于处理万能头文件和scanf、getch、kbhit编译错误的问题)_第9张图片
Visual Studio 2019 (VS2019) c++使用指南 (以及代码片段调校,和关于处理万能头文件和scanf、getch、kbhit编译错误的问题)_第10张图片
那么知道了如何写一个snippet文件,我们就要看看在VS2019里怎么操作。首先,和板块一样,新建一个文件,就是右键点击源文件,点击添加,再点击新建项,但是要新建的,是一个XML文件,在Visual C++的web里面,点击XML文件,然后添加,这里我已经给大家写好了我的源代码初始头文件的代码,大家输入进去就可以了


<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
	<CodeSnippet Format="1.0.0">
		<Header>
			<Title>ccodeTitle>
			<Shortcut>ccodeShortcut>
			<Description>c++头文件代码片段Description>
			<Author>Microsoft CorporationAuthor>
			<SnippetTypes>
				<SnippetType>ExpansionSnippetType>
				<SnippetType>SurroundsWithSnippetType>
			SnippetTypes>
		Header>
		<Snippet>
			<Code Language="cpp">
				
				#include
				using namespace std;
				int main(){
					return 0;
		}]]>
			Code>
		Snippet>
	CodeSnippet>
CodeSnippets>

输入完毕后,另存为到桌面,注意:后缀要改为.snippet,然后再复制工具–>代码片段管理器中Visual C++文件夹的地址,搜索一下,打开,把此文件拖进去就可以了。那么我这个代码片段是在VS2019中输入ccode,然后点击tab,就可以自动生成这段代码:

#pragma GCC optimize("Ofast","inline","-ffast-math")
#pragma GCC target("avx,sse2,sse3,sse4,mmx")
#define _CRT_SECURE_NO_WARNINGS 1
#include
#include
using namespace std;
int main(){
		return 0;
}

至于为什么要加一句#define _CRT_SECURE_NO_WARNINGS 1,我们下一板块再说,那么此时,我们的代码片段设置就结束了,我还给大家留了scanf和printf的代码片段,有需要的朋友可以拿去用。

scanf: (输入scanf点tab)


<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
	<CodeSnippet Format="1.0.0">
		<Header>
			<Title>scanfTitle>
			<Shortcut>scanfShortcut>
			<Description>scanf的代码片段Description>
			<Author>Microsoft CorporationAuthor>
			<SnippetTypes>
				<SnippetType>ExpansionSnippetType>
				<SnippetType>SurroundsWithSnippetType>
			SnippetTypes>
		Header>
		<Snippet>
			<Declarations>
				<Literal>
					<ID>typeID>
					<Default>size_tDefault>
					<ToolTip>控制变量类型ToolTip>
				Literal>
				<Literal>
					<ID>indexID>
					<Default>aDefault>
					<ToolTip>索引ToolTip>
				Literal>
			Declarations>
			<Code Language="cpp">
				
			Code>
		Snippet>
	CodeSnippet>
CodeSnippets>

printf:(输入printf点tab)


<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
	<CodeSnippet Format="1.0.0">
		<Header>
			<Title>printfTitle>
			<Shortcut>printfShortcut>
			<Description>printf的代码片段Description>
			<Author>Microsoft CorporationAuthor>
			<SnippetTypes>
				<SnippetType>ExpansionSnippetType>
				<SnippetType>SurroundsWithSnippetType>
			SnippetTypes>
		Header>
		<Snippet>
			<Declarations>
				<Literal>
					<ID>typeID>
					<Default>size_tDefault>
					<ToolTip>控制变量类型ToolTip>
				Literal>
				<Literal>
					<ID>indexID>
					<Default>iDefault>
					<ToolTip>索引ToolTip>
				Literal>
			Declarations>
			<Code Language="cpp">
				
			Code>
		Snippet>
	CodeSnippet>
CodeSnippets>

板块三:关于万能头文件和scanf、getch、kbhit编译错误的问题

Visual Studio 2019 (VS2019) c++使用指南 (以及代码片段调校,和关于处理万能头文件和scanf、getch、kbhit编译错误的问题)_第11张图片
那么看完前两个板块,最后一个问题来了,我们用万能头文件时,它显示编译错误,这是因为VS2019没有万能头文件的设定,所以需要我们手动弄一弄。首先找到这条路径:Program Files (x86)–>Microsoft Visual Studio–>2019–>Community–>VC–>Tools–>MSVC–>14.25.28610(此文件夹因设备不同文件名也可能不同)–>include,然后在include文件夹里新建一个文件夹bits(不能取其他文件名),然后返回我们的VS2019,新建一个头文件类文件,在里面输入万能头文件的定义:

#ifndef _GLIBCXX_NO_ASSERT
#include 
#endif
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#if __cplusplus >= 201103L
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#endif

// C++
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#if __cplusplus >= 201103L
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#endif

然后另存为到桌面,文件名为stdc++.h(还是不能取另外的文件名),最后拖到一开始新建的bits文件夹中,就可以了。
关于scanf报错,它说是不合法,那我们只要在头文件前加一段这个代码。

#define _CRT_SECURE_NO_WARNINGS 1

最后,关于getch()和kbhit()报错,只需把getch()改为_getch(),把kbhit()改为_kbhit()。

总结

总的来说,VS2019还是一款不错的编辑软件,因为我也是第一次使用,所以后续有什么问题,我都会再写博客的,那么除了VS2019这款编辑器,我还推荐sublime text 3这款编辑器,有兴趣的朋友可以在CSDN里搜搜。

当你看完这篇博文,别忘了给初中生博主一个小小的赞哟~~

你可能感兴趣的:(笔记,visual,studio,c++,xml)