Skip to content

VisualStudio

Visual Studio是一款功能强大的集成开发环境(IDE),适用于Windows、macOS和Linux操作系统。支持从代码编写、编辑、调试到应用发布的全过程。


VisualStudio下载

官方下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/

  • 选择社区版下载。
  • 安装需要的组件和环境。
  • 选择安装路径。

解决方案结构

解决方案是一个容器,用于包含一个或多个相关项目,以及生成信息。VS的每次运行的是一个一个的项目(如果有多个项目,则每次执行选定启动项目),但是不同项目在一起构成一个解决方案。


常见快捷键

功能快捷键
注释Ctrl+K+C(先Ctrl+K再Ctrl+C,下文类似);Ctrl+Shift+/
取消注释Ctrl+K+U;Ctrl+Shift+/(如果中间存在空行则无法取消)
开始执行Ctrl+F5
撤销Ctrl+Z
反撤销Ctrl+Y
调试F5
缩进Tab
减少缩进Shift+Tab
查找Ctrl+F
跳转到定义F12
折叠代码选中需要折叠的代码然后Ctrl+M+M
取消折叠选中需要取消折叠的代码然后Ctrl+M+M
复制一行到下一行Ctrl+D
复制Ctrl+C(光标在某一行直接Ctrl+C可直接复制这一行,不用选中)
粘贴Ctrl+V

调试程序

调试是软件开发中的一个重要环节。Visual Studio 提供了强大的调试工具,帮助我们发现和修复代码中的错误。

调试步骤

设置断点:
  • 在代码行号左侧点击,设置一个断点。断点用于暂停程序执行,便于查看程序状态和变量值。
启动调试:
  • 点击工具栏中的“开始调试”按钮(或按 F5)。
查看变量:
  • 程序运行到断点的会暂停,你可以在“本地变量”窗口查看当前变量的值。
逐步执行:
  • 使用“逐步执行”按钮(或按 F10),逐行执行代码,查看程序运行情况。

扩展与自定义

Visual Studio 支持通过扩展来增强功能,满足不同开发需求。

安装扩展步骤

打开扩展管理器:
  • 点击菜单栏中的“扩展”->“管理扩展”。
浏览和安装:
  • 在弹出的扩展管理器中,浏览或搜索你需要的是扩展。例如,搜索“ResHarper”进行安装。点击“下载”按钮,按照提示完成安装。
重启 Visual Studio:
  • 安装完成后,通常需要重启 Visual Studio 以启用扩展。

版本控制

Visual Studio 集成了 Git 版本控制,便于管理代码版本和协作开发。

使用 Git 的基本步骤

初始化 Git 仓库:
  • 在“解决方案资源管理器”中右键点击项目,选择“Git”->“初始化 Git 仓库”。
提交更改:
  • 在“团队资源管理器”中查看并提交代码更改。输入提交信息,点击“提交”。
推送到远程仓库:
  • 设置远程仓库(如 GitHub、Azure DevOps)。
  • 在团队资源管理器中,点击“推送”,将本地代码推送到远程仓库。

常用插件及使用技巧

ResHarper

ResHarper 是 JetBrains 提供的一款强大的代码分析和重构工具。

  • Alt + Enter:显示 ResHarper 提示和操作菜单。
  • Ctrl + T:快速查找类型。
  • Ctrl + Shift + R:重构菜单。
  • Ctrl + Shift + Alt + L:重新格式化代码。

Visual Assist

Visual Assist 是 Whole Tomato 提供的一款增强代码编辑和导航的插件。

  • Alt + G:跳转到定义。
  • Alt + O:在头文件和实现文件之间切换。
  • Shift + Alt + O:打开文件。
  • Alt + M:显示当前文件中的方法列表。

CodeMaid

CodeMaid 是一款用于清理和格式化代码的插件。

  • Ctrl + M, Ctrl + O: 折叠所有代码块。
  • Ctrl + M, Ctrl + P: 展开所有代码块。
  • Ctrl + K, Ctrl + M: 清理和格式化当前文档。

GitHub Extension for Visual Studio

GitHub Extension for Visual Studio 是一款集成 GitHub 功能的插件。

  • Ctrl + Shift + P: 打开 GitHub 扩展菜单。
  • Alt + G: 跳转到 GitHub 仓库页面。

NuGet Package Manager

NuGet Package Manager 是 Visual Studio 内置的一款包管理工具。

  • Ctrl + Q: 打开搜索框,输入 “NuGet Package Manager” 快速访问。
  • Alt + Enter: 打开包管理器控制台。

自定义代码

代码片段(Code Snippets)是预定义的代码模板,可以通过快捷键快速插入到代码中。Visual Studio 提供了丰富的内置代码片段,也可以创建和导入自定义代码片段。

自定义代码片段格式

代码片段使用XML来进行自定义,代码片段的 XML 定义以 <codeSnippets> 作为根元素。它通常包含一个 xmlns 属性,用于指定命名空间:

xml
xmlns = "http://schemas.microsoft.com/visualstudio/2005/CodeSnippet"

这个命名空间是 Visual Studio 用来识别代码片段格式的标准。

<codeSnippet> 元素
  • 根元素不是 <codeSnippet> 元素,它有一个 Format 属性,通常设置为 "1.0.0" 来表示代码片段的格式版本。
<header> 元素
  • <codeSnippet> 元素内包含 <header> 元素,用于描述代码片段的一些基本信息。
  • <Title> 元素:定义代码片段的标题,这个标题会在代码片段管理器中显示,帮助用户识别代码片段的功能。
  • <Shortcut> 元素:定义一个快捷指令,用户在代码编辑器中输入快捷指令并按下特定组合键(通常是 Tab 键两次)时,该代码片段会被插入到当前光标位置。
  • <Description> 元素(可选):可以用来提供代码片段的高短描述。
  • <Author> 元素(可选):用于指定代码片段的作者。
  • <SnippetTypes> 元素(可选):用于指定代码片段的类型,例如是方法、类等。它包含一个或多个 <SnippetType> 子元素,其值可以是 Expansion(扩展)、Surroundswith(环绕)等。
<Snippet> 元素
  • <Snippet> 元素包含实际的代码内容。
  • <code> 元素:有一个 Language 属性,用于指定代码的编程语言:
语言值说明
VBVisual Basic 代码片段。
CSharpC# 代码片段。
CPPC++ 代码片段。
XAMLXAML 代码片段。
XMLXML 代码片段。
JavaScriptJavaScript 代码片段。
TypeScriptTypeScript 代码片段。
SQLSQL 代码片段。
HTMLHTML 代码片段。
  • 代码本身被包裹在 <![CDATA[...]]> 中,这是为了防止 XML 解析器对代码中的特殊字符(如 <、> 等)进行错误解析:
xml
<Code>
    <![CDATA[
    int randNumber = rand()%10;
    ]]>
</Code>
<Declarations> 元素(可选)
  • 用于定义代码片段中的变量。它包含一个或多个 <literal><object> 子元素。
  • <Literal> 元素:用于定义用户可编辑的文本字段:
xml
<Declarations>
    <Literal>
        <ID>number</ID>
        <ToolTip>输入整型</ToolTip>
        <Default>0</Default>
    </Literal>
</Declarations>
  • 其中 <ID> 是变量的唯一标识符,<ToolTip> 是鼠标悬停时显示的提示信息,<Default> 是变量的默认值。
  • <Object> 元素:用于定义基于类型的变量,通常用于引用项目中的对象,如类、方法等。

第三方库的使用

第三方库是指由独立的开发者或组织创建和维护的,用于特定功能或任务的软件模块集合。这些库提供了一系列预先编写好的函数、类、数据结构和算法等,可以被开发者引用和调用来完成特定的任务。

步骤流程

  • 从第三方库的官方网站或来源下载所需的库文件。
  • 打开已有的项目或在Visual Studio中创建一个新的项目。
  • 添加头文件路径:将库的头文件添加到项目中。右击项目,在弹出菜单中选择“属性”选项,然后进入“C/C++”->“常规”->“附加包含目录”,点击编辑,并添加包含库头文件的目录路径。
  • 添加库文件路径:将库的库文件添加到项目中。同样,在项目的属性设置中,进入“链接器”->“常规”->“附加库目录”,点击编辑,然后添加包含库文件的目录路径。
  • 链接库文件:在“链接器”->“输入”->“附加依赖项”,添加你要链接的库文件名(不需要完整路径,只需要文件名即可)。

知识如风,常伴吾身