博客地址:http://blog.csdn.net/FoxDave

Visual Studio Code不知道大家都有没有,界面清爽,编辑快速,是一个非常好的前端开发工具。本文介绍如何使用Google Chrome和Debugger for Chrome Visual Studio Code扩展来调试SharePoint Framework解决方案。

准备工作

首先安装Google Chrome,具体过程不表了,下载地址为:https://www.google.com/chrome/browser/desktop/index.html

接下来安装Debugger for Chrome Visual Code扩展

打开Visual Code,选左边图标菜单最下面的扩展面板,搜索Debugger for Chrome,如下图。

点击Install按钮,安装完成后,点击reload按钮重新加载,完成扩展的安装。安装完成后如下图所示:

使用本地的workbench调试SharePoint Framework解决方案

在编译SharePoint Framework解决方案时,你可以使用本地的workbench来验证你的web部件是否正确工作。使用本地workbench可以方便地测试不需要跟SharePoint交互的所有场景,包括离线开发。

为本地workbench创建一个调试配置

打开Visual Studio Code的Debug面板,如下图:

在面板的顶部,打开配置下拉框并选择Add Configuration...选项。

然后在环境下拉框处选择Chrome。

然后用下面的代码替换自动打开的launch.json文件:

{
"version": "0.2.0",
"configurations": [
{
"name": "Local workbench",
"type": "chrome",
"request": "launch",
"url": "https://localhost:4321/temp/workbench.html",
"webRoot": "${workspaceRoot}",
"sourceMaps": true,
"sourceMapPathOverrides": {
"webpack:///../../../src/*": "${webRoot}/src/*",
"webpack:///../../../../src/*": "${webRoot}/src/*",
"webpack:///../../../../../src/*": "${webRoot}/src/*"
},
"runtimeArgs": [
"--remote-debugging-port=9222"
]
}
]
}

该配置使用Debugger for Chrome扩展提供的chrome调试器。它指向了本地的workbench作为启动节点。在调试TypeScript时最关键的部分是配置源码映射,调试器用它来把在浏览器中运行的JavaScript映射到原始TypeScript代码。
下面我们来测试配置是否好用。

配置一个断点

在Visual Studio Code中打开主体web部件源码文件并在render方法的第一行添加一个断点。

启动SharePoint Framework解决方案

在Visual Studio Code中,点击View菜单->Integrated Terminal或者按下CTRL+`,并输入命令:

gulp serve --nobrowser

该命令之前的文章也介绍过,也可以在命令行中输入执行。该命令会编译你的SharePoint Framework解决方案并启动本地网络服务器来承载输出文件。由于编译器会启动它自己的浏览器实例,所以我们使用--nobrowser参数来防止任务打开一个浏览器窗口。

开始在Visual Studio Code中调试

等待gulp任务完成,让我们将焦点移回代码区域,按下F5启动调试(跟Visual Studio一样)。这里要说明一下,SharePoint Framework只会按需加载web部件,即只有你将web部件添加到页面之后,你的断点才会生效。

所以,F5打开页面之后,先点击加号将我们的web部件添加到页面,然后F5刷新一下浏览器,断点就加载上并且中断了。

SharePoint Framework 在Visual Studio Code中调试你的本地解决方案的更多相关文章

  1. SharePoint Framework 在Visual Studio Code中调试你的托管解决方案

    博客地址:http://blog.csdn.net/FoxDave 上一篇介绍了如何在本地调试你的SharePoint Framework解决方案,本篇介绍如何调试你的SharePoint Onl ...

  2. 在Visual Studio Code中配置GO开发环境

    一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github ...

  3. Visual Studio Code中文文档(一)-快速入门

    Visual Studio Code是一个轻量级但是十分强大的源代码编辑器,重要的是它在Windows, OS X 和Linux操作系统的桌面上均可运行.Visual Studio Code内置了对J ...

  4. 在 Visual Studio Code 中使用 PoweShell - CodeShell

    一直希望在 Visual Studio Code 中使用 PowerShell,插件 CodeShell 提供了对于 PowerShell 的支持. 安装 首先按 F1,打开命令窗口,输入安装插件的命 ...

  5. Visual Studio Code中文文档

    Visual Studio Code中文文档 Visual Studio Code是一个轻量级但是十分强大的源代码编辑器,重要的是它在Windows, OS X 和Linux操作系统的桌面上均可运行. ...

  6. Visual Studio Code中配置GO开发环境

    在Visual Studio Code中配置GO开发环境 一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的 ...

  7. Visual Studio Code中C/C++的环境配置

    Visual Studio Code 的功能十分强大,但是对我这种小白不是很友好,它和其它的集成开发工具不同,Visual Studio Code (以下简称VS)自身其实仅仅是一个编辑器, 是不具备 ...

  8. Mac上使用Visual Studio Code开发/调试.NET Core代码

    Mac上使用Visual Studio Code开发/调试.NET Core代码 .Net Core 1.0终于发布了,Core的一大卖点就是跨平台.这个跨平台不只是跨平台运行,而且可以跨平台开发.今 ...

  9. 如何在"Visual Studio Code"中使用" Git" 进行版本控制

    如何在"Visual Studio Code"中使用" Git" 进行版本控制 本来认为此类教程,肯定是满网飞了.今天首次使用VS Code的Git功能,翻遍了 ...

随机推荐

  1. 20171104xlVBA各人各科进退

    Sub 各班个人各科进步幅度() Dim dRank As Object Set dRank = CreateObject("Scripting.Dictionary") Dim ...

  2. java开学第一周测试代码

    Account.java /* 信1705-3 20173612  陈阳阳 */package ATM; public class Account { private String accountID ...

  3. Confluence 6 文档主题合并问答

    在 Confluence 官方 前期发布的消息 中,文档主题在 Confluence 6.0 及其后续版本中已经不可用.我们知道你可能对这个有很多好好奇的问题,因此我们在这里设置了一个问答用于帮助你将 ...

  4. SWUST OJ(953)

    单链表的删除操作的实现 #include <stdio.h> #include <stdlib.h> typedef struct LinkNode //单链表节点结构的定义 ...

  5. Oracle 三大范式

    范式:数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系.所以建立科学的,规范的的数据库是需要满足一些.规范的来优化数据数据存储方式.在关系型数据库中这些规范. 第一范式:数据库表中的 ...

  6. blog项目知识点梳理

    1.获取图片验证码: def get_validCode_img(request): # 方式1: # import os # path= os.path.join(settings.BASE_DIR ...

  7. python-day73--django-用户验证

    一.auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1 .authenticate()  ...

  8. 使用antd-mobile的ImagePicker组件实现图片的上传

    这篇文章主要是记录一下在开发钉钉微应用时,实现图片上传及显示功能的过程. 这个项目用的dingyou-dingtalk-mobile这个脚手架,可直接在NowaGui上创建.这是一个关于钉钉微应用的脚 ...

  9. iOS架构设计系列之解耦的尝试之变异的MVVM

    最近一段时间,在思考如何合理的架构一个可扩展性良好的界面编程方式.这一部分的成果做成了一个叫ElementKit的库.目前功能在不断的完善中. 关于iOS的架构,看多了MVVM,VIPER,MVC,M ...

  10. 大量的QT控件及示例发放

    QT属性控件项目https://github.com/lexxmark/QtnProperty 比特币交易软件https://github.com/JulyIGHOR/QtBitcoinTrader ...