精华内容
下载资源
问答
  • 简介 是一种基于 的排版系统。由美国计它常用于算机学家莱斯利·兰伯特(Leslie Lamport)在20世纪80年代初期开发。它最常用于大中型技术或科学文件,但几乎可以用于任何形式的出版。 不是文字处理器!相反, 鼓励...

    cb241160a5a6e41ad4bf98682c2f1a1e.png

    简介

    是一种基于
    的排版系统。由美国计它常用于算机学家莱斯利·兰伯特(Leslie Lamport)在20世纪80年代初期开发。它最常用于大中型技术或科学文件,但几乎可以用于任何形式的出版。
    不是文字处理器!相反,
    鼓励作者不要太担心文档的外观,而应专注于获取正确的内容。

    功能
    • 排版期刊文章,技术报告,书籍和幻灯片演示。
    • 控制包含节,交叉引用,表格和图形的大型文档。
    • 复杂数学公式的排版。
    • 使用AMS-LaTeX进行数学的高级排版。
    • 自动生成书目和索引。
    • 多语言排版。
    • 包含艺术品,以及原色或专色。
    • 使用PostScript或Metafont字体。

    VS Code下的

    环境设置

    1. 下载TeX Live

    直接去官网下载:http://www.tug.org/texlive/

    15b3742c75df08c5b4f116a7e8233f5d.png

    选择on DVD下载完整的iso。若学则第一项download则会下载一个下载器,其会下载剩余的文件。但速度实在太慢,所以推荐前者。如果前者的下载速度依然很慢,则建议切换为国内的下载源。

    点击downloading the Tex Live ISO image and burning your own DVD

    e16c8cab57711d4310ff11d65bc76cfb.png

    点击download from a nearby CTAN mirror

    123be9b314f4a9c3b4a45410f5be7bd5.png

    最后选择iso文件下载即可。

    5528483054c4591d0961394596db065c.png

    2. 安装TeX Live

    双击install-tl-windows.bat,然后根据提示完成安装即可。安装过程可能长达一小时,请耐心等待。

    478094409f342b7bfa04ec847def2782.png

    3. VS Code 的配置

    安装插件LaTeX Workshop

    0c1e618dd3e5e338b374f9bc0ae5e915.png

    在setting.json中插入如下代码:(源自于网络)

    "latex-workshop.latex.recipes": [{
          "name": "xelatex",
          "tools": [
              "xelatex"
          ]
        }, 
        {
          "name": "latexmk",
          "tools": [
              "latexmk"
          ]
        },
    
        {
          "name": "pdflatex -> bibtex -> pdflatex*2",
          "tools": [
              "pdflatex",
              "bibtex",
              "pdflatex",
              "pdflatex"
          ]
        },
        {
          "name": "xelatex -> bibtex -> xelatex*2",
          "tools": [
          "xelatex",
          "bibtex",
          "xelatex",
          "xelatex"
          ]
          }
        ],
        "latex-workshop.latex.tools": [{
        "name": "latexmk",
        "command": "latexmk",
        "args": [
          "-synctex=1",
          "-interaction=nonstopmode",
          "-file-line-error",
          "-pdf",
          "%DOCFILE%"
        ]
        }, {
        "name": "xelatex",
        "command": "xelatex",
        "args": [
          "-synctex=1",
          "-interaction=nonstopmode",
          "-file-line-error",
          "%DOCFILE%"
        ]
        }, {
        "name": "pdflatex",
        "command": "pdflatex",
        "args": [
          "-synctex=1",
          "-interaction=nonstopmode",
          "-file-line-error",
          "%DOCFILE%"
        ]
        }, {
        "name": "bibtex",
        "command": "bibtex",
        "args": [
          "%DOCFILE%"
        ]
        }],
        "latex-workshop.view.pdf.viewer": "tab",
        "latex-workshop.latex.clean.fileTypes": [
        "*.aux",
        "*.bbl",
        "*.blg",
        "*.idx",
        "*.ind",
        "*.lof",
        "*.lot",
        "*.out",
        "*.toc",
        "*.acn",
        "*.acr",
        "*.alg",
        "*.glg",
        "*.glo",
        "*.gls",
        "*.ist",
        "*.fls",
        "*.log",
        "*.fdb_latexmk"
        ],
        "editor.wordWrap": "on"

    创建一个以.tex结尾的文件,开始写作之旅吧。

    写一篇LaTeX文档

    tex文件中写入以下内容:

    documentclass{article}
    
    begin{document}
    Hello, world! %文章正文
    end{document}

    快捷键Ctrl+Alt+B进行编译,然后Ctrl+Alt+V便可预览最后的成果。

    若需要中英混排,则可将第一行改为:

    documentclass[UTF8]{ctexart}

    4eb3ecc2e34d8e893d55f5d86720e9b5.png

    功能十分强大,除了文字之外还可以插入图片,表格,公式,代码块等,无需像WORD一样花费大量时间与精力在排版上。
    展开全文
  • 视频作者:韩骏, 文字编辑:PiperLiu, 排版:胖琪, 审核:左左❝视频日期:2019年12月9日会议主题:微软技术暨生态大会 2018会议日期:2018年10月25日演讲题目:从零开始开发一款属于你的 Visual Studio Code 插件...

    视频作者:韩骏, 文字编辑:PiperLiu, 排版:胖琪, 审核:左左

    视频日期:2019年12月9日 

    会议主题:微软技术暨生态大会 2018

    会议日期:2018年10月25日 

    演讲题目:从零开始开发一款属于你的 Visual Studio Code 插件 

    主讲人:韩骏 - 微软开发工具事业部

    预热部分

    主讲人介绍

    截止18年开会,主讲人已经开发过 16 款 VS Code 插件,其中很多插件备受好评。比如 Code Runner 已经有 400 多万下载量, GitHub 上收获 1k 星标。

    主讲人有着很深的 VS Code 的插件开发经验。

    VS Code 介绍

    Visual Studio Code 是一款微软推出的编辑器,具有以下特点:

    • 开源
    • 跨平台(macOS, Linux, Windows)
    • 轻量级
    • 智能提示(intelliSense)
    • 代码调试
    • 内置 Git 支持
    • 多语言支持
    • 丰富的插件

    谈到 VSC 的开发,就有两点不得不提:Electron 框架与 Monaco Editor 。

    VSC 是完全基于 Electron 进行开发的。

    Electron 框架具有以下特点:

    • 基于 Node.js (作为后端)和 Chromium (作为前端);
    • 使用 HTML 、 CSS 和 JavaScript 开发跨平台桌面 GUI 应用程序;
    • 使用者有:Atom 、 Skype 、 GitHub Desktop 、 Slack ...

    还有一个重要的组件,是 Monaco Editor 。其实, Monaco Editor 在微软内部有很多应用。

    Monaco Editor 有以下特点:

    • 基于浏览器的代码编辑器:intelliSense ,代码验证,语法高亮,文件比较...
    • 支持主流浏览器:IE 11 , Edge , Chrome , Firefox , Safari 和 Opera ;
    • 使用者:Azure DevOps , OneDrive , Edge Dev Tools , Gitee Web IDE 。

    VSC 插件

    简介

    VSC 有超过 8000 个插件(截止演讲的 2018 年),内容包含语言、调试器、代码格式化、代码片段、键盘映射、主题...

    VSC 如此受欢迎,离不开其丰富的插件生态。

    VSC 的插件开发

    可以分为四个步骤:

    • 设计
    • 实现
    • 推广
    • 维护

    I 设计部分

    设计部分的第一个关键词:「灵感」。那么,怎样获取灵感?

    第一点:从自身需求出发。以 Code Runner 为例:韩老师在微软曾开发过许多语言,自己曾有过一个需求:“是否可以省去在 terminal 中进入某个目录运行代码这个环节,而直接运行自己所需测试的十几行代码片段呢?”韩老师发现并没有相应插件,于是他开发了 Code Runner 。

    第二点:去发现别人的需求,比如去 GitHub issues 或者 feature request 去发现别人的需求。比如在开发前端时,自动补全 Tag 是一个很有用的功能,但当时 VSC 并未实现,于是韩老师开发了 Auto Close Tag 插件。

    第三点:查考老牌编辑器已有功能。因为 VSC 属于新兴编辑器,功能尚不完备,可以参考其他编辑器,获取需求灵感,从而开发相应插件。

    设计部分的第二个关键词:「目标用户」

    以 Code Runner 为例,其目标用户可定位成:

    • 初学者:初学者可能仅仅想了解语言的语法,无需了解编译过程,因此使用 Code Runner 可以轻松运行代码,省去其他编译命令;
    • “懒人”:Code Runner 提供了多个快捷键与触发动作,大大提升调试效率;
    • 多语言用户:多语言开发无需切换开发环境或编辑器。

    II 实现部分

    首先,应该配置好开发环境,有三点关键步骤:

    • Visual Studio Code
    • Node.js
    • Yeoman and VS Code Extension generator

    其中 Yeoman 和 generator 可从 npm 配置:

    npm install -g yo generator-code

    接下来,我们通过一个 Demo 来演示 VS Code 的开发。

    「第一步」,确认已经安装配置好了 Yeoman 与 VS Code Extension generator,打开 terminal ,输入 yo code 。

    a509ea0ecc2295a2f14045cbc81d55dc.png

    「第二步」,在命令行中会供你选择 Extension 的种类,这里推荐大家使用基于 TypeScript 进行开发,即选择 New Extension (TypeScript) 。

    「第三步」,依照命令行中的提示,输入名字、 ID 、description 、 Publish Name 等等。完成基础配置后,会生成属于你的新插件的项目文件夹,其中会配置好了 VS Code 的 Engine 。

    「第四步」,使用 VSC 打开你刚刚生成的项目,如下图。

    82629438b118b62ef1c627ca1bb7cb1c.png

    可以注意到,(通过 sky fording )生成了许多文件,但其实,值得注意的只有两个文件:

    • Extension.ts
    • package.json

    在 package.json 中,关注 contributes ,其定义了一个 Command :

    "contributes": {
    "commands": [
    {
    "command": "extension.helloWorld",
    "title": "Hello World"
    }
    ]
    }

    同时注意:

    "activationEvents": [
    "onCommand:extension.helloWorld"
    ]

    这里表示,该 event 是由 command 激活的。这是出于性能的考虑,在 VSC 中,插件一般都是 lazy load 的,只有激活才启用插件。

    而 Extension.ts 可以理解为一个激活的函数。

    // this method is called when your extension is activated
    // your extension is activated the very first time the command is executed
    export function activate(context: vscode.ExtensionContext) {

    // Use the console to output diagnostic information (console.log) and errors (console.error)
    // This line of code will only be executed once when your extension is activated
    console.log('Congratulations, your extension "hello-piper" is now active!');

    // The command has been defined in the package.json file
    // Now provide the implementation of the command with registerCommand
    // The commandId parameter must match the command field in package.json
    let disposable = vscode.commands.registerCommand('extension.helloWorld', () => {
    // The code you place here will be executed every time your command is executed

    // Display a message box to the user
    vscode.window.showInformationMessage('Hello Piper!');
    });

    context.subscriptions.push(disposable);
    }

    当 command 出现时,上述实例会 showInformationMessage('Hello Piper!')

    「第五步」,我们尝试调试这个插件。在左侧的 Run 工具栏中点击 debug 按钮, VSC 会为我们打开一个加载好该插件的新 VSC 。

    在新 VSC 中 Ctrl+Shift+P 输入我们之前定义好的命令,可见有效。如下图。

    516df61099f7ecad5feb0663d73b9a5f.png

    以上就是建立 VSC 插件项目的过程,有经验的开发人员可以阅读微软官方文档 https://code.visualstudio.com/api 进行插件开发。

    以上为视频前 25 分钟内容。

    「第六步」,接下来韩老师现场修改 vscode-translator 插件,以此为例讲解关于插件开发的更多操作。以下是详细内容。

    vscode-translator 的项目地址:https://github.com/formulahendry/vscode-translator

    首先来看 package.json 。

    "commands": [{
    "command": "translator.translate",
    "title": "Translate"
    },
    {
    "command": "translator.replaceWithTranslation",
    "title": "Replace with Translation"
    },
    {
    "command": "translator.toggleCaptureWord",
    "title": "Toggle - Capture Word"
    }
    ]

    在 commands 内注册了关于 Translate 的命令。

    "menus": {
    "editor/context": [{
    "command": "translator.translate",
    "group": "navigation@1"
    },
    {
    "command": "translator.replaceWithTranslation",
    "group": "navigation@2"
    }
    ]
    }

    在 menus 中配置相应命令,可以增加“右键弹出菜单命令”的效果。

    "keybindings": [{
    "command": "translator.translate",
    "key": "ctrl+alt+z"
    }

    很多人喜欢使用键盘快捷键进行操作,鉴于此,韩老师增加了 keybindings 项。

    接着我们来看 Extension.ts ,其中也是注册 translate 的相关 Function 。

    fb6370a8f5148a8fda9eee0ebeff83d2.png

    进入 Extension.ts 注册的函数文件:translator.ts ,我们可以看到:通过 activeTextEditor 对象可以拿到当前 selection 的内容(即需要被翻译的文本)。之后,通过 translate 函数,得到被翻译好的文本。在当前版本中,使用的是有道 API :

    public static async translate(source: string, showErrorMessage: boolean = false): Promise<string> {
    try {
    const result = (await axios.get(`https://fanyi.youdao.com/translate?&doctype=json&type=AUTO&i=${encodeURIComponent(source)}`)).data;
    return result['translateResult'].map((translateResult: any) => translateResult.map((sentence: any) => sentence['tgt']).join('')).join('\n');
    } catch (error) {
    if (showErrorMessage) {
    vscode.window.showErrorMessage(error.toString());
    }
    return "";
    }
    }

    至于 hover 功能(鼠标悬浮于文本上),这利用了 VS Code 提供的 HoverProvider 的功能。

    import { Hover, HoverProvider, Position, TextDocument } from 'vscode';
    export class TranslatorHoverProvider implements HoverProvider {}

    「第七步」,关于发布该插件。

    VS Code 提供了 VSCE ,可以很方便地发布插件。可以通过 npm 来进行安装。

    在发布前,需要进行测试。

    韩老师展示了 Azure Pipelines 的全平台测试过程(在 Windows/Mac OS/Linux 平台测试 CI/CD )。

    使用 VSCE publish 来发布。

    「第八步」,将本地项目与 Azure 配置好后,可以在 Azure 的 Application Insights 上查看用户的下载情况与行为。

    以上为视频前 39 分钟内容, DEMO 部分结束。

    韩老师分享了三个 Tips :

    Tip 1:快速迭代。帕累托法则(二八定律)是指,80%的用户往往只会用20%的功能。因此,发布第一个版本的插件时,不需要实现全部功能,就可以看出该插件的前景。

    Tip 2:可以使用 VS Code Insider ,该版本每天都会更新,可以最快速地查看新功能。

    Tip 3:为插件加一些快捷方式。其实插件的转换率(使用人数除以下载数量)的很低,为插件增加快捷方式方便人员使用,可以大幅提高转换率。

    III 推广部分

    推广越早越好。

    推广渠道可以有博客论坛等等,比如 Stack Overflow , v2ex , 知乎等等。

    IV 维护部分

    首先,维护应该是数据驱动的,可以关注:

    • 下载量、月活、日活;
    • 用户的使用行为;
    • 根据不同的使用情况,为相应功能提供优先级;
    • Fail Fast , 如果插件效果不好,或许应该尽早放弃。

    最后老师讲了讲开源与社区:老师几乎的所有的工具都是开源的。开源是一种双赢的模式,一个好的项目会吸引很多人 pull request 和 issue ,可以让开发者学习很多,也可以帮助插件项目快速迭代成长。

    展开全文
  • 比如在开发前端时,自动补全 Tag 是一个很有用的功能,但当时 VSC 并未实现,于是韩老师开发了 Auto Close Tag 插件。 第三点:查考老牌编辑器已有功能。因为 VSC 属于新兴编辑器,功能尚不完备,可以参考其他编辑器...
    be620c64642ca8acb0e1a5e6bf30e789.gif

    视频日期:2019年12月9日 

    会议主题:微软技术暨生态大会 2018

    会议日期:2018年10月25日 

    演讲题目:从零开始开发一款属于你的 Visual Studio Code 插件 

    主讲人:韩骏 - 微软开发工具事业部

    32650d20556133976893648bcd9278c3.png  预热部分  32650d20556133976893648bcd9278c3.png主讲人介绍

    截止18年开会,主讲人已经开发过 16 款 VS Code 插件,其中很多插件备受好评。比如 Code Runner 已经有 400 多万下载量, GitHub 上收获 1k 星标。

    主讲人有着很深的 VS Code 的插件开发经验。

    VS Code 介绍

    Visual Studio Code 是一款微软推出的编辑器,具有以下特点:

    • 开源

    • 跨平台(macOS, Linux, Windows)

    • 轻量级

    • 智能提示(intelliSense)

    • 代码调试

    • 内置 Git 支持

    • 多语言支持

    • 丰富的插件

    谈到 VSC 的开发,就有两点不得不提:Electron 框架与 Monaco Editor 。

    VSC 是完全基于 Electron 进行开发的。

    Electron 框架具有以下特点:

    • 基于 Node.js (作为后端)和 Chromium (作为前端);

    • 使用 HTML 、 CSS 和 JavaScript 开发跨平台桌面 GUI 应用程序;

    • 使用者有:Atom 、 Skype 、 GitHub Desktop 、 Slack ...

    还有一个重要的组件,是 Monaco Editor 。其实, Monaco Editor 在微软内部有很多应用。

    Monaco Editor 有以下特点:

    • 基于浏览器的代码编辑器:intelliSense ,代码验证,语法高亮,文件比较...

    • 支持主流浏览器:IE 11 , Edge , Chrome , Firefox , Safari 和 Opera ;

    • 使用者:Azure DevOps , OneDrive , Edge Dev Tools , Gitee Web IDE 。

    32650d20556133976893648bcd9278c3.png VSC 插件  32650d20556133976893648bcd9278c3.png简介

    VSC 有超过 8000 个插件(截止演讲的 2018 年),内容包含语言、调试器、代码格式化、代码片段、键盘映射、主题...

    VSC 如此受欢迎,离不开其丰富的插件生态。

    VSC 的插件开发

    可以分为四个步骤:

    • 设计

    • 实现

    • 推广

    • 维护

    I 设计部分

    设计部分的第一个关键词:「灵感」。那么,怎样获取灵感?

    第一点:从自身需求出发。以 Code Runner 为例:韩老师在微软曾开发过许多语言,自己曾有过一个需求:“是否可以省去在 terminal 中进入某个目录运行代码这个环节,而直接运行自己所需测试的十几行代码片段呢?”韩老师发现并没有相应插件,于是他开发了 Code Runner 。

    第二点:去发现别人的需求,比如去 GitHub issues 或者 feature request 去发现别人的需求。比如在开发前端时,自动补全 Tag 是一个很有用的功能,但当时 VSC 并未实现,于是韩老师开发了 Auto Close Tag 插件。

    第三点:查考老牌编辑器已有功能。因为 VSC 属于新兴编辑器,功能尚不完备,可以参考其他编辑器,获取需求灵感,从而开发相应插件。

    设计部分的第二个关键词:「目标用户」

    以 Code Runner 为例,其目标用户可定位成:

    • 初学者:初学者可能仅仅想了解语言的语法,无需了解编译过程,因此使用 Code Runner 可以轻松运行代码,省去其他编译命令;

    • “懒人”:Code Runner 提供了多个快捷键与触发动作,大大提升调试效率;

    • 多语言用户:多语言开发无需切换开发环境或编辑器。

    II 实现部分

    首先,应该配置好开发环境,有三点关键步骤:

    • Visual Studio Code

    • Node.js

    • Yeoman and VS Code Extension generator

    其中 Yeoman 和 generator 可从 npm 配置:

    npm install -g yo generator-code

    接下来,我们通过一个 Demo 来演示 VS Code 的开发。

    「第一步」

    确认已经安装配置好了 Yeoman 与 VS Code Extension generator,打开 terminal ,输入 yo code 。

    61e0c78e1b8be438db8d4404f893c0a0.png

    「第二步」

    在命令行中会供你选择 Extension 的种类,这里推荐大家使用基于 TypeScript 进行开发,即选择 New Extension (TypeScript) 

    「第三步」

    依照命令行中的提示,输入名字、 ID 、description 、 Publish Name 等等。完成基础配置后,会生成属于你的新插件的项目文件夹,其中会配置好了 VS Code 的 Engine 。

    「第四步」

    使用 VSC 打开你刚刚生成的项目,如下图。

    fde7cd7ccf60a024482d3e31a239cef1.png

    可以注意到,(通过 sky fording )生成了许多文件,但其实,值得注意的只有两个文件:

    • Extension.ts

    • package.json

    在 package.json 中,关注 contributes ,其定义了一个 Command :

    "contributes": {    "commands": [        {            "command": "extension.helloWorld",            "title": "Hello World"        }    ]}

    同时注意:

    "activationEvents": [    "onCommand:extension.helloWorld" ]

    这里表示,该 event 是由 command 激活的。这是出于性能的考虑,在 VSC 中,插件一般都是 lazy load 的,只有激活才启用插件。

    而 Extension.ts 可以理解为一个激活的函数。

    // this method is called when your extension is activated// your extension is activated the very first time the command is executedexportfunction activate(context: vscode.ExtensionContext) { // Use the console to output diagnostic information (console.log) and errors (console.error) // This line of code will only be executed once when your extension is activated console.log('Congratulations, your extension "hello-piper" is now active!'); // The command has been defined in the package.json file // Now provide the implementation of the command with registerCommand // The commandId parameter must match the command field in package.json let disposable = vscode.commands.registerCommand('extension.helloWorld', () => { // The code you place here will be executed every time your command is executed // Display a message box to the user vscode.window.showInformationMessage('Hello Piper!'); }); context.subscriptions.push(disposable);}

    当 command 出现时,上述实例会showInformationMessage('Hello Piper!')

    「第五步」

    我们尝试调试这个插件。在左侧的 Run 工具栏中点击 debug 按钮, VSC 会为我们打开一个加载好该插件的新 VSC 。

    在新 VSC 中 Ctrl+Shift+P 输入我们之前定义好的命令,可见有效。如下图。

    d100c54cff9041f817619de88151a459.png

    以上就是建立 VSC 插件项目的过程,有经验的开发人员可以阅读微软官方文档 https://code.visualstudio.com/api 进行插件开发。

    以上为视频前 25 分钟内容。

    「第六步」

    接下来韩老师现场修改 vscode-translator 插件,以此为例讲解关于插件开发的更多操作。以下是详细内容。

    vscode-translator 的项目地址:

    https://github.com/formulahendry/vscode-translator

    首先来看 package.json 。

    "commands": [{ "command": "translator.translate", "title": "Translate" }, { "command": "translator.replaceWithTranslation", "title": "Replace with Translation" }, { "command": "translator.toggleCaptureWord", "title": "Toggle - Capture Word" }]

    在 commands 内注册了关于 Translate 的命令。

    "menus": { "editor/context": [{ "command": "translator.translate", "group": "navigation@1" }, { "command": "translator.replaceWithTranslation", "group": "navigation@2" } ]}

    在 menus 中配置相应命令,可以增加“右键弹出菜单命令”的效果。

    "keybindings": [{ "command": "translator.translate", "key": "ctrl+alt+z"}

    很多人喜欢使用键盘快捷键进行操作,鉴于此,韩老师增加了 keybindings 项。

    接着我们来看 Extension.ts ,其中也是注册 translate 的相关 Function 。

    b8b3f1f791a9cd6d20c7f37a0747daa5.png

    进入 Extension.ts 注册的函数文件:translator.ts ,我们可以看到:通过 activeTextEditor 对象可以拿到当前 selection 的内容(即需要被翻译的文本)。之后,通过 translate 函数,得到被翻译好的文本。在当前版本中,使用的是有道 API :

    publicstaticasync translate(source: string, showErrorMessage: boolean = false): Promise<string> { try { const result = (await axios.get(`https://fanyi.youdao.com/translate?&doctype=json&type=AUTO&i=${encodeURIComponent(source)}`)).data; return result['translateResult'].map((translateResult: any) => translateResult.map((sentence: any) => sentence['tgt']).join('')).join('\n'); } catch (error) { if (showErrorMessage) { vscode.window.showErrorMessage(error.toString()); } return""; }}

    至于 hover 功能(鼠标悬浮于文本上),这利用了 VS Code 提供的 HoverProvider 的功能。

    import { Hover, HoverProvider, Position, TextDocument } from'vscode';exportclass TranslatorHoverProvider implements HoverProvider {}

    「第七步」关于发布该插件。

    VS Code 提供了 VSCE ,可以很方便地发布插件。可以通过 npm 来进行安装。

    在发布前,需要进行测试。

    韩老师展示了 Azure Pipelines 的全平台测试过程(在 Windows/Mac OS/Linux 平台测试 CI/CD )。

    使用 VSCE publish 来发布。

    「第八步」

    将本地项目与 Azure 配置好后,可以在 Azure 的 Application Insights 上查看用户的下载情况与行为。

    以上为视频前 39 分钟内容, DEMO 部分结束。

    韩老师分享了三个 Tips :

    • Tip 1:快速迭代。帕累托法则(二八定律)是指,80%的用户往往只会用20%的功能。因此,发布第一个版本的插件时,不需要实现全部功能,就可以看出该插件的前景。

    • Tip 2:可以使用 VS Code Insider ,该版本每天都会更新,可以最快速地查看新功能。

    • Tip 3:为插件加一些快捷方式。其实插件的转换率(使用人数除以下载数量)的很低,为插件增加快捷方式方便人员使用,可以大幅提高转换率。

    III 推广部分

    推广越早越好。

    推广渠道可以有博客论坛等等,比如 Stack Overflow , v2ex , 知乎等等。

    IV 维护部分

    首先,维护应该是数据驱动的,可以关注:

    • 下载量、月活、日活;

    • 用户的使用行为;

    • 根据不同的使用情况,为相应功能提供优先级;

    • Fail Fast , 如果插件效果不好,或许应该尽早放弃。

    最后老师讲了讲开源与社区:老师几乎的所有的工具都是开源的。开源是一种双赢的模式,一个好的项目会吸引很多人 pull request 和 issue ,可以让开发者学习很多,也可以帮助插件项目快速迭代成长。

    27d3c24ba277b69d146857e88444b867.png

    de77709e75a9c2faa321c6eccd2df0f7.pnga27d2627d1351cdfe233cd296301be73.png

    关注我们
    更多开发者活动及技术讯息

    请关注微软中国MSDN公众号

    ▲▲661abdeb20244fadd28fefeaed5307a2.gif

    展开全文
  • VScode代码格式自动修正,自动排版

    万次阅读 多人点赞 2019-05-27 18:03:34
    下载插件ESLint ... // vscode默认启用了根据文件类型自动设置tabsize的选项 "editor.detectIndentation": false, // 重新设定tabsize "editor.tabSize": 2, // #每次保存的时候自动格式化 "edit...

    下载插件ESLint

    文件->首选项->设置

    复制粘贴进去:

    {
        // vscode默认启用了根据文件类型自动设置tabsize的选项
        "editor.detectIndentation": false,
        // 重新设定tabsize
        "editor.tabSize": 2,
        // #每次保存的时候自动格式化 
        "editor.formatOnSave": true,
        // #每次保存的时候将代码按eslint格式进行修复
        "eslint.autoFixOnSave": true,
        // 添加 vue 支持
        "eslint.validate": [
          "javascript",
          "javascriptreact",
          {
            "language": "vue",
            "autoFix": true
          }
        ],
        // #让prettier使用eslint的代码格式进行校验 
        "prettier.eslintIntegration": true,
        // #去掉代码结尾的分号 
        "prettier.semi": false,
        // #使用带引号替代双引号 
        "prettier.singleQuote": true,
        // #让函数(名)和后面的括号之间加个空格
        "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
        // #这个按用户自身习惯选择 
        "vetur.format.defaultFormatter.html": "js-beautify-html",
        // #让vue中的js按编辑器自带的ts格式进行格式化 
        "vetur.format.defaultFormatter.js": "vscode-typescript",
        "vetur.format.defaultFormatterOptions": {
          "js-beautify-html": {
            "wrap_line_length": 120,
            "wrap_attributes": "auto"
            // #vue组件中html代码格式化样式
          }
        },
        // 格式化stylus, 需安装Manta's Stylus Supremacy插件
        "stylusSupremacy.insertColons": false, // 是否插入冒号
        "stylusSupremacy.insertSemicolons": false, // 是否插入分号
        "stylusSupremacy.insertBraces": false, // 是否插入大括号
        "stylusSupremacy.insertNewLineAroundImports": false, // import之后是否换行
        "stylusSupremacy.insertNewLineAroundBlocks": false,
        "explorer.confirmDelete": false // 两个选择器中是否换行
      }
      

     

    展开全文
  • Markdown插件Markdown All in OneMAO是Markdown编辑中的必备插件之一,提供了Markdown快捷键和自动补全功能,其快捷键与Typora有所不同:快捷键此外,MAO还提供非常多的增强功能,例如自动补全、TOC等扩展,使VS ...
  • 最近学习vue 用的是vscode,感觉自动格式化代码很乱 所以网上搜索了一下设置 未设置之前的效果 设置之后的效果 具体设置如下
  • 文章目录前言插入引用文献文献自动刷新 逐渐放弃word,但是也无法全部丢弃,因为word下还是有许多有用的插件,如英文写作利器,Grammarly,有了它至少不用犯许多低级错误。但是word的排版实在令人难受,此事古难全。...
  • Vscode的快捷键

    2019-06-06 10:26:45
    选中按TAB右移,按SHIFT+...然后按Ctrl + K,紧接着Ctrl + F (自动排版) Ctrl+K ,Ctrl+C (代码注解) Ctrl+K ,Ctrl+U (取消代码注解) Ctrl+# (新打开编辑区域) ctrl+shift+k VSCode 删除当前行快捷键 ...
  • vscode 代码格式化

    2020-04-03 10:23:09
    vscode 代码格式化,自动修正、自动排版 { "atomKeymap.promptV3Features": true, "editor.multiCursorModifier": "ctrlCmd", "editor.formatOnPaste": true, "editor.tabSize": 4, "explorer.confirmDelete": ...
  • ## 先睹为快感受下在 JS 下也能 智能提示 和 点击跳转 的 Feeling~在绝大部分地方...$ mkdir showcase ## 背景VSCode 等 IDE 的智能提示,一般是通过静态分析来实现的。因此,它们对 Egg 的支持并不是很好,因为 Egg...
  • vscode 与pycharm 配置 autopep8

    千次阅读 2019-05-15 00:36:34
    autopep8是一个可以将Python代码自动排版为PEP8风格第三方包,使用它可以轻松地排版出格式优美整齐的代码。 一、vscode配置autopep8 打开vscode 选择一段代码 ,右键选择“格式化文档”若提示 autopep8未定义点yes...
  • vscode代码格式化换行问题

    千次阅读 2020-09-29 14:23:02
    vscode格式化插件固然好用,但是也出现了一些弊端,写代码时标签的属性自动换行,于是给页面的排版带来了问题,下面是解决的方案: vscode点击左上角找到首选项–>设置–>搜索vetur更改下面配置即可 // prettier在...
  • ①、Vue学习

    2019-03-21 18:04:00
    3、vscode 自动排版 1)、安装ESLint 2、设置vscode 配置文件 1)、打开工具栏 --->文件  ---->首选项  ------->设置 2)、打开配置文件(往下翻就可以找到) 3)、配置如下信息 "files....
  • vscode 中写 Markdown 如何装X

    千次阅读 2019-01-22 23:24:43
    之前写 md 文档都是用的 Typora ,这款编辑器很简洁方便, 但是在处理图片的时候有点蛋疼,当然你可以用付费插件自动上传,但是秉着勤俭节约的特质,我就逛了逛了其他方案。然后发现其实用 vscode 写 Markdown 也非常...
  • 写作三件套(VScode Miktex Latex Workshop)入门三大坑

    千次阅读 热门讨论 2019-11-04 19:14:11
    烦透了word的排版,想转Latex,立马被一大堆Latex命令所烦透。网上不断有人念叨写作用latex才是正确的打开方式。没办法,长痛不如短痛,今天算正式入坑了。为了让写Latex的过程少吐点血,总得找个界面友好一些,带...
  • 下载插件ESLint 2.文件->首选项->设置 最上面的 File-Perference-setting ... // vscode默认启用了根据文件类型自动设置tabsize的选项 "editor.detectIndentation": false, ...
  • 在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format。使用gg=G可对整篇代码进行排版。...
  • cmake作为一个跨平台的构建工具,在开源社区得到了广泛运用,并且在项目中被大量采用,但是cmake作为一个类脚本的语言,基本上没有编辑器很好的支持代码自动补全和提示,所有在我们往往需要边查cmake文档边写cmake...
  • 本文演示了在 MacOS 系统...更好的排版:VS Code 搭建 c 编译、调试环境​blog.vect0r.me实现的功能:[x] 代码高亮[x] 自动补全[x] 定义 / 引用跳转[x] 一键编译 / 调试[x] 断点最终的项目目录树:. ├── .editor...
  • 错误提示: Overfull \hbox (16.80003pt too wide) LaTeX [27, 1] Underfull \hbox (badness 10000) LaTeX [27, 1] 原因分析: Overfull是说该处内容太多,超出了设定...Underfull是说该处排版内容太稀疏了(badness...
  • LaTeX Workshop是的扩展,旨在为使用Visual Studio Code进行LaTeX排版提供核心功能。 没有社区的贡献,尤其是当前和过去的主要贡献者的贡献,该项目将不会成功: 杰罗姆·勒隆(Jerome Lelong) 田村隆 ...
  • ——word2016系列教程之"文本框链接使用"我们使用word文档进行手抄报排版或其他文档排版时,可能会出现一个板块的内容比较多,排不下去。需要在其它板块进行排列,像这样……,如图1所示。图1这样的版面,当第一个...
  • 目的:使用vscode并安装eslint插件,项目成员统一代码规范,代码统一自动修复、统一格式化排版;插件: (请安装以下3款插件)关于ESLint配置:(请配置以下内容)1:全局安装eslintnpm install -g eslint2: 打开vscode ...
  • **如何在Vs Code中快速写Html? **vscode 中运用谷歌浏览器需注** Vscode:中自动排版
  • 前端常用插件

    2019-06-20 14:43:44
    vscode插件: live server view in browser eslint //js自动排版 code runner //运行js c++ Python等程序 chrome插件: vuejs devtools //需要引用vue.js可以监测
  • Vue.js是当下最火的JavaScipt MVVM库 我们直接使用vue-cli ... 配置USER SETTINGS(保存自动排版) 我的USER SETTINGS如下: { "eslint.autoFixOnSave": true, "eslint.validate": [ ...
  • Graphviz 是一个自动排版的作图软件,可以生成 png pdf 等格式。 dot 语法介绍 部分图形属性介绍 示例 使用VSCode进行预览生成 参考 dot 语言 Graphviz 构建组件为 图,节点,边,用属性对其进行描述。 以下是定义...

空空如也

空空如也

1 2
收藏数 34
精华内容 13
关键字:

vscode自动排版