https://github.com/dotnet/try

Try .NET离线版

使用Try.NET创建可交互.NET文档

 

原文地址:Create Interactive .NET Documentation with Try .NET
原文作者:Maria
译文地址:https://www.cnblogs.com/lwqlun/p/10894497.html
译者:Lamond Lu

背景

当我们编写开发人员使用的文档时,我们需要捕捉他们的兴趣,并引导他们尽快走上成功的道路。开发人员生态系统一直在为社区提供可交互的文档,用户可以一个地方阅读文档,运行代码并进行编辑。

在过去的2年里,.NET语言团队一直在不断发展Try .NET, 以支持在线和离线的交互式文档。

什么是Try .NET

Try .NET是一个基于.NET Core的交互式文档生成器。

Try .NET 在线版

2017年9月,Try .NET第一次在docs.microsoft.com中使用,开发人员可以使用Azure Container实例运行代码。然而在过去的5个月内,我们改用Blazor和Web Assembly作为代码执行客户端。

你可以自己访问如下链接, 并打开开发者工具。在控制台标签页中,你可以看到如下信息WASM:Initialized, 切换到网络标签页,你将看到所有在客户端执行的DLL。

控制台标签页: *WASM Initialized*

网络标签页: DLLs

Try .NET离线版

对我们而言,离线版和在线版一样的重要。针对离线体验,对我们而言,创建一种可以融入内容作者工作流程的体验是非常重要的。

在我们的调查结果中,我们注意到内容开发人员(content developers)在创建开发人员文档时,经常使用2种说明方式

  • 一个用户可以下载并运行的实例。
  • 一些Markdown文件,其中包含一系列说明,以及从代码库复制黏贴的的代码片段。

Try .NET提供了全局工具dotnet try, 以方便.NET开发人员创建可交互的Markdown文件。

为了使你的Markdown文件具有交互性,你需要安装.NET Core的SDK, 全局工具dotnet try, 以及Visual Studio / VS Code。

我们该怎么做?

扩展Markdown

在Markown文件中,你会使用隔离代码块来突出显示代码段。在代码块的前后,你会使用```来包裹它们。你可以添加可选的语言标识符,启用针对代码段的语法突出显示。

例:C#的代码块

​``` cs
var name ="Rain";
Console.WriteLine($"Hello {name.ToUpper()}!");
​```

使用Try .NET, 我们可以扩展隔离代码块,给它添加一些额外的参数。

​``` cs --region methods --source-file .\myapp\Program.cs --project .\myapp\myapp.csproj
var name ="Rain";
Console.WriteLine($"Hello {name.ToUpper()}!");
​```

这里我们使用了3个参数

  • --region参数 - 指定一个C#的分块(region)
  • --source-file参数 - 指定程序文件的目录
  • --project参数 - 指定项目文件和引用的系统程序集

因此,以上示例中,我们做的事情是,当你运行Try .NET的解析你的Markdown文件的时候,程序会去尝试引用Program.cs文件中名为methods的分块代码。

使用#regions

在Markdown中,我们扩展了代码块,提供了--region参数,用它可以指定C#代码中的分块(region)。
所以,你的Program.cs文件看起来可能是这样的。

using System;

namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
#region methods
var name ="Rain"
Console.WriteLine($"Hello{name.ToUpper()}!");
#endregion
}
}
}

dotnet try verify

dotnet try verify是一个文档编译器。使用这个命令,你可以确保每个代码块都能正常工作,并且和项目代码保持一致。

dotnet try verify命令的目的是为了验证你的文档按照你期望的样子工作。

通过使用dotnet try verify命令,你可以检测Markdown文件并编译错误。例如,如果我将之前代码中移除一个分号,并且将methods代码分块改名为method。现在如果运行编译器,会出现以下错误。

尝试使用全局工具dotnet try

dotnet try现在已经可以使用了。这是一个dotnet try全局工具的早期预览版,你可以从我们的仓储克隆代码。

入门

  • 克隆代码仓储
  • 签出Samples分支
  • 安装.NET Core 2.1或3.0预览版
  • 打开控制台窗口
  • 安装Try .NET全局工具
dotnet tool install --global dotnet-try --version 1.0.19264.11

更新dotnet try也很简单,只需要运行如下命令

dotnet tool update -g dotnet-try

定位到当前仓储的Samples目录,输入dotnet try

浏览器会自动打开

Try .NET现在开源了

现在Try.NET已经在Github上开源了!由于我们仍处于早期开发阶段,所以目前我们无法接受任何功能的Pull Request, 但我们打算在未来这么做。请随时在我们的Issue列表中提交Bug报告。 如果你有任何功能建议,请在我们的Issue列表中使用社区建议的标签提交。

Try .NET离线版的更多相关文章

  1. [No00006D]下载离线版的github for windows【以Github for Windows 3.0.110.为例】

    目录 先上地址后讲原理: 原理: 11个目录的文件怎么一口气下载呢? 最后,把下好的文件批量名,同时将GitHub.exe.manifest也放到软件根目录下(与GitHub.exe同级): 今后的猜 ...

  2. Chrome Restful Api 测试工具 Postman-REST-Client离线安装包下载,Axure RP Extension for Chrome离线版下载

    [Postman for Chrome 离线下载] Postman-REST-Client离线安装包,可直接在Chrome浏览器本地安装使用,可模拟各种http请求,Restful Api测试, CS ...

  3. W3Cschool菜鸟教程离线版下载链接

    请在电脑上打开以下链接进行下载w3cschool 离线版(chm):http://pan.baidu.com/s/1bniwRCV(最新,2014年10月21日更新)w3cschool 离线版(htm ...

  4. 搭建Mono for Android开发环境(用离线版)

    上面为我现在的离线版的安装包内容(不知道为什么上传的图名字显示不出来,郁闷),这些文件可以到http://pan.baidu.com/s/1ntM8U4T这里去下载: 安装步骤如下: 1)jdk-6u ...

  5. Unity 3D 文件导入出错误解决方法以及unity圣典离线版下载地址

    1.安装unity 时我选择了free版的,打开已有项目时出现如下错误提示. 解决方法:先把要导入的文件先拷贝到unity3d安装目录下对应的文件夹内,之后再返回unity3d软件,右键选择“导入”. ...

  6. Chrome小技巧:如何下载离线版安装文件

    每当chrome有更新之后,都有不少用户想要下载离线版的安装文件,但苦于找不到下载地址而发愁,其实这个问题很简单,下面我来分享一下方法(仅针对Windows操作系统): 对于稳定版(正式版)Chrom ...

  7. visual studio 2015离线版msdn下载和安装

    2014年11月13日,微软发布了Visual Studio 2015 Preview,但是Visual Studio 2015 的msdn该如何安装呢?下面脚本之家就为大家分享一篇visual st ...

  8. VS Code C# 插件离线版 1.6.2

    VS Code C# 插件离线版,目前最新稳定版为:1.6.2 . 由于在扩展中下载C#插件总是缓慢,或者容易出现错误,特制作离线版本共享出来. 本离线版本为Windows版本,其他系统请在扩展中下载 ...

  9. .NET Framework 4.0/4.5离线版下载

    /******************************************************************************* * .NET Framework 4. ...

  10. VS2017离线版的SSDT安装包(包括SSIS)

    VS2017离线版的SSDT安装包(包括SSIS) 装好SQL2016和VS2017后发现没有创建SSIS项目的接口,原来VS2017里是没有包含SSDT的安装包的. 下面是我整理好的包含中英文的VS ...

随机推荐

  1. resEdit

    resEdit:一个图形界面编辑工具,它不但可以用来编写程序所图形界面(如修改图标.菜单.鼠标.版本信息等),还支持了对exe.dll等执行文件内的资源(图标.菜单.鼠标指针.位图.版本信息)等进行修 ...

  2. 博客和GitHup链接地址

    硕哥博客链接:http://www.cnblogs.com/999-/p/6073601.html 硕哥GitHup链接:https://github.com/xiaodoufu

  3. DDP入门

    DDP,即动态动态规划,可以用于解决一类带修改的DP问题. 我们从一个比较简单的东西入手,最大子段和. 带修改的最大子段和其实是常规问题了,经典的解决方法是用线段树维护从左,右开始的最大子段和和区间最 ...

  4. 结合Django+celery二次开发定时周期任务

    需求: 前端时间由于开发新上线一大批系统,上完之后没有配套的报表系统.监控,于是乎开发.测试.产品.运营.业务部.财务等等各个部门就跟那饥渴的饿狼一样需要 各种各样的系统数据满足他们.刚开始一天一个还 ...

  5. django 自定义日志配置

    如果不想使用 python 的 dictConfig 格式来配置 logger,可以制定自己的配置架构. LOGGING_CONFIG 配置定义了用来配置 django logger 的可调用函数,默 ...

  6. js动态加载activeX控件在IE11与低版本IE中的差异

    由于IE11更加遵循W3C规范,所以IE11与低版本IE在加载activeX时有差别. 1.IE11中动态加载activeX的顺序 var objectTag = document.createEle ...

  7. windows下vs2012用gsoap开发webservice实例

    零:说明 1.本文是根据网上前人经验结合自己动手操作写成,开发工具用的vs2012,gsoap用的是gsoap-2.8: 2.gsoap提供的工具简单介绍 1)wsdl2h.exe:根据WSDL文件生 ...

  8. float浮动改变display类型

    position:absolute和float都会隐式的改变display类型. 也就是说,不论之前是什么类型的元素(display:none除外),只要设置了position:absolute或fl ...

  9. SQL 优化总结(二) 索引

     索引 1.索引的建立 缺省情况下建立的索引是非群集索引,但有时它并不是最佳的:合理的索引设计要建立在对各种查询的分析和预测上. 一般来说: (1) 有大量重复值.且经常有范围查询(between, ...

  10. MyEclipse修改Servlet模板

    进入myeclipse的安装路径 然后进入plugins文件夹 打开搜索框,输入 *wizard* 找到名字是 com.genuitec.eclipse.wizards_11.5.0.me201310 ...