键盘快捷键、宏列表、表达式
附录 A:SnapDevelop 的键盘快捷键
下表列出了 SnapDevelop 的所有键盘快捷键。
| 类别 | 功能 | 键盘快捷键 | 
|---|---|---|
| 菜单栏 | 文件 | |
| 新建 > 项目 | Ctrl + Shift + N | |
| 新建 > 文件 | Ctrl + N | |
| 打开 > 项目/解决方案 | Ctrl + Shift + O | |
| 打开 > 文件 | Ctrl + O | |
| 打开 > 文件夹 | Ctrl + Shift + Alt + O | |
| 保存 | Ctrl + S | |
| 保存全部 | Ctrl + Shift + S | |
| 退出 | Ctrl + F4 | |
| 编辑 | ||
| 快速查找 | Ctrl + F | |
| 快速替换 | Ctrl + H | |
| 在文件中查找 | Ctrl + Shift + F | |
| 在文件中替换 | Ctrl + Shift + H | |
| 视图 | ||
| 数据库服务器资源管理器 | Ctrl + Alt + B | |
| 错误列表 | Ctrl + W, E | |
| 输出 | Ctrl + W, O | |
| 编译 | ||
| 编译解决方案 | Ctrl + Shift + B | |
| 编译 | Ctrl + B | |
| 调试 | ||
| 开始调试 | F5 | |
| 停止调试 | Shift + F5 | |
| 断点 | Ctrl + D, B | |
| 异常设置 | Ctrl + Alt + E | |
| 调用堆栈 | Ctrl + D, C | |
| 线程 | Ctrl + D, T | |
| 模块 | Ctrl + D, M | |
| 进程 | Ctrl + D, P | |
| 监视 | Ctrl + D, W | |
| 自动窗口 | Ctrl + D, A | |
| 局部变量 | Ctrl + D, L | |
| 中断全部 | Ctrl + Alt + Break | |
| 不调试启动 | Ctrl + F5 | |
| 附加到进程 | Ctrl + Alt + P | |
| 逐语句 | F11 | |
| 逐过程 | F10 | |
| 切换断点 | F9 | |
| 跳出 | Shift + F11 | |
| 工具栏 | 标准工具栏选项 | |
| 向后导航 | Ctrl + "-" | |
| 向前导航 | Ctrl + Shift + "-" | |
| 新建项目 | Ctrl + Shift + N | |
| 保存 | Ctrl + S | |
| 保存全部 | Ctrl + Shift + S | |
| 开始调试 | F5 | |
| 开始(不调试) | Ctrl + F5 | |
| 编译工具栏选项 | ||
| 编译 | Ctrl + B | |
| 取消 | Ctrl + Break | |
| 调试器工具栏选项 | ||
| 中断全部 | Ctrl + Alt + Break | |
| 停止调试 | Shift + F5 | |
| 显示下一条语句 | Alt + 数字键 * | |
| 逐语句 | F11 | |
| 逐过程 | F10 | |
| 跳出 | Shift + F11 | |
| 文本编辑器工具栏选项 | ||
| 显示快速信息 | Ctrl + K , Ctrl + I | |
| 注释选定行 | Ctrl + K , Ctrl + C | |
| 取消选定行注释 | Ctrl + K , Ctrl + U | |
| 解决方案资源管理器 | 解决方案的右键菜单 | |
| 编译解决方案 | Ctrl + Shift + B | |
| 新建项... | Ctrl + Shift + A | |
| 现有项... | Shift + Alt + A | |
| 粘贴 | Ctrl + V | |
| 移除 | Del | |
| 重命名 | F2 | |
| 属性 | Alt + Enter | |
| 项目的右键菜单 | ||
| 编译 | Ctrl + B | |
| 剪切 | Ctrl + X | |
| 粘贴 | Ctrl + V | |
| 重命名 | F2 | |
| 属性 | Alt + Enter | |
| 删除 | Del | |
| 代码编辑器 | .cs 文件的右键菜单 | |
| 剪切 | Ctrl + X | |
| 复制 | Ctrl + C | |
| 粘贴 | Ctrl + V | |
| 删除 | Del | |
| 重命名 | F2 | |
| 输出 | 右键菜单 | |
| 剪切 | Ctrl + X | |
| 复制 | Ctrl + C | |
| 粘贴 | Ctrl + V | |
| 全选 | Ctrl + A | |
| 错误列表 | 右键菜单 | |
| 复制 | Ctrl + C | |
| 下一个错误 | Ctrl + Shift + F12 | |
| 查找和替换 | 查找和替换 | |
| 在文件中查找 | Ctrl + Shift + F | |
| 在文件中替换 | Ctrl + Shift + H | |
| 快速查找 | Ctrl + F | |
| 找下一个 | F3 | |
| 查找上一个 | Shift + F3 | |
| 快速替换 | Ctrl + H | |
| 调试 | 工具栏的调试 | |
| 断点 | Ctrl + D, B | |
| 异常设置 | Ctrl + Alt + E | |
| 局部变量 | ||
| 复制 | Ctrl+C | |
| 监视 | ||
| 复制 | Ctrl+C | |
| 删除 | Del | |
| 调用栈 | ||
| 复制 | Ctrl+C | 
附录 B:Pre-build 和 Post-build 的宏列表
下表列出了宏并说明了各个宏的含义。
| 宏 | 意义 | 
|---|---|
| OutDir | 输出文件目录的路径,相对于项目目录。 | 
| ConfigurationName | 当前项目配置的名称。 | 
| PlatformName | 目标平台的名称。 | 
| TargetName | 生成的主要输出文件的基本名称。 | 
| TargetExt | 生成的主要输出文件的文件扩展名。 | 
| TargetFileName | 生成的主要输出文件的文件名(定义为基本名称和文件扩展名)。 | 
| TargetPath | 生成的主要输出文件的绝对路径名(使用驱动器、路径、基本名称和文件扩展名定义)。 | 
| TargetDir | 生成的主要输出文件的目录(使用驱动器和路径定义)。 | 
| ProjectPath | 项目的绝对路径名(使用驱动器、路径、基本名称和文件扩展名定义)。 | 
| ProjectExt | 项目的文件扩展名。 | 
| ProjectDir | 项目的目录(用驱动器和路径定义)。 | 
| ProjectFileName | 项目的文件名(使用基本名称和文件扩展名定义)。 | 
| ProjectName | 项目的基本名称。 | 
| Configuration | 当前项目配置的名称。 | 
| Platform | 当前目标平台的名称。 | 
| SolutionFileName | 解决方案的文件名(使用基本名称和文件扩展名定义)。 | 
| SolutionPath | 解决方案的绝对路径名(使用驱动器、路径、基本名称和文件扩展名定义)。 | 
| SolutionDir | 解决方案的目录(用驱动器和路径定义)。 | 
| SolutionName | 解决方案的基本名称。 | 
| SolutionExt | 解决方案的文件扩展名。 | 
附录 C:正则表达式示例
下表包含一些正则表达式字符、运算符、构造和模式示例。
| 表达 | 描述 | 示例 | 
|---|---|---|
| . | 匹配任何单个字符(换行符除外)。 | a.o匹配 "around" 中的 "aro" 和 "about" 中的 "abo",但不匹配 "across" 中的 "acro"。 | 
| * | 匹配前面表达式的零次或多次出现(匹配尽可能多的字符)。 | a*r匹配 "rack" 中的 "r"、 "ark" 中的 "ar" 和 "aardvark" 中的 "aar"。 | 
| .* | 匹配任何字符零或多次。 | c.*e匹配 "racket" 中的  "cke"、 "comment" 中的  "comme" 和 "code" 中的 "code"。 | 
| + | 匹配前面表达式的一次或多次出现(匹配尽可能多的字符)。 | e+d匹配 "feeder" 中的 "eed" 和 "faded" 中的 "ed"。 | 
| .+ | 匹配任何字符一次或多次。 | e.+e匹配 "feeder" 中的 "eede",但在 "feed" 中找不到匹配项。 | 
| *? | 匹配前面表达式的零次或多次出现(匹配尽可能少的字符)。 | \w*?d匹配 "faded" 中的 "fad" 和 "ed",但由于惰性匹配而不匹配整个单词 "faded"。 | 
| +? | 匹配前面表达式的一次或多次出现(匹配尽可能少的字符)。 | e\w+?匹配 "sleep" 中的 "ee" 和 "faded" 中的 "ed",但在 "fade" 中找不到匹配项。 | 
| \^ | 将匹配字符串锚定到行或字符串的开头。 | \^car仅在出现在行首时才匹配单词 "car"。 | 
| \r?$ | 将匹配字符串锚定到行尾。 | car\r?$仅在出现在行尾时才匹配 "car"。 | 
| $ | 将匹配字符串锚定到文件末尾。 | car$仅在出现在文件末尾时才匹配 "car"。 | 
| [abc] | 匹配集合中的任何单个字符。 | b[abc]匹配 "ba"、"bb" 和 "bc"。 | 
| [a-f] | 匹配字符范围内的任何字符。 | be[n-t]匹配 "between" 中的 "bet"、"beneath" 中的 "ben" 和 "beside" 中的 "bes",但在 "below" 中找不到匹配项。 | 
| () | 捕获并隐性编号括号内包含的表达式。 | ([a-z])X\1匹配 "aXa" 和 "bXb",但不匹配 "aXb"。"\1" 指的是第一个表达式组 "[a-z]"。 | 
| (?!abc) | 使匹配无效。 | real(?!ity)匹配 "realty" 和 "really" 中的 "real",但不匹配 "reality"。它可以在 "realityreal" 中找到第二个 "real" (但不是第一个 "real" )。 | 
| [\^abc] | 匹配给定字符集外的任何字符。 | be[\^n-t]匹配 "before" 中的 "bef"、 "behind" 中的 "beh" 和 "below" 中的 "bel",但在 "beneath" 中找不到匹配项。 | 
| ` | ` | 匹配符号之前或之后的表达式。 | 
| \ | 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。 | \\^匹配字符\^。 | 
| {n},其中 "n" 表示出现次数 | 指定前一个字符或组的出现次数。 | x(ab){2}x匹配 "xababx"。x(ab){2,3}x匹配 "xababx" 和 "xabababx",但不匹配 "xababababx"。 | 
| \p{X},其中 "X" 是 Unicode 编号。 | 匹配 Unicode 类别中的文本。 | \p{Lu}匹配 "Thomas  Doe" 中的 "T" 和 "D"。 | 
| \b(在字符类外\b指定单词边界,字符类内\b指定退格。) | 匹配单词边界。 | \bin匹配 "inside" 中的 "in",但在 "pinto" 中找不到匹配项。 | 
| \r?\n | 匹配换行符(即回车后跟新行)。 | End\r?\nBegin仅在 "End" 是一行中的最后一个字符串并且 "Begin" 是下一行中的第一个字符串时才匹配 "End" 和 "Begin"。 | 
| \w | 匹配任何单词字符。 | a\wd匹配 "add" 和 "a1d" 但不匹配 "a  d"。 | 
| \s | 匹配任何空白字符。 | Public\sInterface匹配短语 "Public Interface"。 | 
| \d | 匹配任何十进制数字字符。 | \d匹配 "wd40" 中的 "4" 和 "0"。 |