港闸网站建设制作广州公司网站建设

web/2025/10/7 22:54:58/文章来源:
港闸网站建设制作,广州公司网站建设,福州微信网站,京东商城 网站建设#x1f431; 个人主页#xff1a;不叫猫先生#xff0c;公众号#xff1a;前端舵手 #x1f64b;‍♂️ 作者简介#xff1a;2022年度博客之星前端领域TOP 2#xff0c;前端领域优质作者、阿里云专家博主#xff0c;专注于前端各领域技术#xff0c;共同学习共同进步… 个人主页不叫猫先生公众号前端舵手 ‍♂️ 作者简介2022年度博客之星前端领域TOP 2前端领域优质作者、阿里云专家博主专注于前端各领域技术共同学习共同进步一起加油呀 优质专栏vue3vitetypeScript从入门到实践 资料领取前端进阶资料可以找我免费领取 摸鱼学习交流我们的宗旨是在「工作中摸鱼摸鱼中进步」期待大佬一起来摸鱼(文末有我wx或者私信) 目录 通用功能一、Command 命令1、含有回调参数的命令2、控制命令是否显示在命令选项板中3、手动执行命令案例 4、获取所有命令5、内置命令6、命令面板菜单项的上下文特定可见性 二、menus菜单1、editor/title2、editor/context3、when4、group组内排序 三、快捷键1、复制2、粘贴3、剪切 写在后面 通用功能 本篇主要从command命令、menus菜单、快捷键三个方面讲解都归于通用功能详细可参考官方文档。 一、Command 命令 这个例子在入门教程中已经说过extension.ts文件中在activate生命周期中使用registerCommand注册命令。 export function activate(context: vscode.ExtensionContext) {context.subscriptions.push(vscode.commands.registerCommand(demoPlugin.helloWorld, () {vscode.window.showInformationMessage(Hello World from helloWord!);})); } 在packag.json中注册 contributes: {commands: [{command: demoPlugin.helloWorld,title: Hello World}] } 比如我写一个注释的命令 1、含有回调参数的命令 比如你想在执行某个命令之后执行某个事件可以把事件放到registerCommand的第二个参数 //extension.ts const commandHandler (name: string world) {console.log(Hello ${name}!!!);};context.subscriptions.push(vscode.commands.registerCommand(demoPlugin.sayHello, commandHandler));//package.jsoncontributes: {commands: [{command: demoPlugin.sayHello,title: SayHello}] }如图mac本cmdshiftpwindows本ctrlshiftp在开发工具的顶部就会出现下拉框可以看到SayHello命令就在下拉框中当我们选择SayHello后就会执行回调函数可以看到在控制台打印出Hello world 2、控制命令是否显示在命令选项板中 注册了demoPlugin.sayHello命令之后在某个条件下显示在某条件下不显示可以通过commandPalette来进行设置用when来设置条件。 editorLangId markdown意思是只有在markdown文件才显示 menus: {commandPalette: [{command: demoPlugin.sayHello,when: editorLangId markdown}]}3、手动执行命令 executeCommand可以手动执行已注册的命令该方法允许您以编程方式触发命令并传递可能需要的参数。必须是显式触发了某个操作然后才能手动执行命令。 vscode.commands.executeCommand(yourcommand, params1, params2, ...).then(result {console.log(命令结果, result); });在插件被激活时命令会被注册但命令 demoPlugin.helloWorld 并不会立即执行除非有其他代码或事件触发了这个命令。例如当用户打开了一个包含支持插件的文件类型的文件或者触发了特定的命令/动作。 所以下面的这种写法是不会被触发的。 export function activate(context: vscode.ExtensionContext) {context.subscriptions.push(vscode.commands.registerCommand(demoPlugin.helloWorld, () {vscode.window.showInformationMessage(Hello World from helloWord!);}));vscode.commands.executeCommand(demoPlugin.helloWorld) }案例 重新定义注释设置ctrle或者cmde触发note命令然后执行editor.action.addCommentLine context.subscriptions.push(vscode.commands.registerCommand(demoPlugin.note, () {vscode.commands.executeCommand(editor.action.addCommentLine);}));contributes: {commands: [{command: demoPlugin.note,title: Note}], //快捷键触发keybindings: [{command: demoPlugin.note,key: ctrle,mac: cmde,when: editorTextFocus}]}4、获取所有命令 getCommands()会异步的获取所有命令。 vscode.commands.getCommands().then(res {console.log(所有命令,res); }); 5、内置命令 比如这个打开文件夹命令vscode.openFolder注册demoPlugin.openFolder当我们触发openFolder时候会执行vscode.openFolder内置命令打开我们指定路径的文件夹。其他的内置命令可参考官网介绍Built-in Commands //extension.ts context.subscriptions.push(vscode.commands.registerCommand(demoPlugin.openFolder,async () {// vscode.window.showInformationMessage(Hello World from helloWord!);const folderUri vscode.Uri.file(/Users/zbs/dongwan/dist);const success await vscode.commands.executeCommand(vscode.openFolder, folderUri);if (success) {vscode.window.showInformationMessage(Successfully opened the folder.);} else {vscode.window.showErrorMessage(Failed to open the folder.);}}));//package.json{ command: demoPlugin.openFolder,title: openFolder,category: demoPlugin}6、命令面板菜单项的上下文特定可见性 当在 package.json中注册命令时它们将自动显示在命令面板**⇧⌘P**中。为了更好地控制命令可见性有commandPalette菜单项。它允许您定义一个when条件来控制命令是否应在命令面板中可见。 下面的案例指当编辑器中有选中文本即有选择的文本时才会显示该菜单项。只有当用户选中了文本时菜单项才会被显示。 {commands: [{command: extension.sayHello,title: Hello World}],menus: {commandPalette: [{command: extension.sayHello,when: editorHasSelection}]} }二、menus菜单 向编辑器或资源管理器提供命令的菜单项。菜单项定义包含选择时应调用的命令以及该项目应显示的条件。后者是通过when子句定义的该子句使用键绑定when 子句 contexts。 属性command指示选择菜单项时要运行哪个命令。属性submenu指示在此位置呈现哪个子菜单。 下面是一些常见的场景 全局命令面板 -commandPalette文件菜单和入门页面中的新建文件项 -file/newFile资源管理器上下文菜单 -explorer/context编辑器上下文菜单 -editor/context编辑器标题菜单栏 -editor/title编辑器标题上下文菜单 -editor/title/context调试调用堆栈视图上下文菜单 -debug/callstack/context调试调用堆栈视图内联操作 -debug/callstack/context组inline调试变量视图上下文菜单 -debug/variables/context调试工具栏 -debug/toolBar 1、editor/title editor/title为编辑器标题菜单栏设置当resourceLangId为markdown时候即资源文件的语言标识为 markdown 时显示该菜单项。 editor/title定义这个菜单出现的位置位于编辑器标题菜单栏when控制菜单合适出现command定义菜单被点击后要执行什么操作alt定义备用命令按住alt键打开菜单时将执行对应命令group定义菜单分组 {contributes: {menus: {editor/title: [{//用于确定在何时显示这个菜单项。when: resourceLangId markdown,//菜单项点击后要执行的命令当用户点击这个菜单项时会执行 markdown.showPreview 命令。这是 VS Code 默认提供的命令用于显示 Markdown 预览command: markdown.showPreview,//alt为菜单项的备选命令如果 markdown.showPreview 命令无法执行则会尝试执行 markdown.showPreviewToSide 命令。alt 属性允许您为菜单项提供一个备选的命令。当然也可以是其他按键alt: markdown.showPreviewToSide,//菜单项的分组在编辑器标题菜单中菜单项通常分组显示group: navigation}]}} }在不设置上面的属性之前当文件类型为markdown时默认有四个菜单 Open Changes 文件有哪些改变会跟之前md文件对比Open Preview to the Side在侧边窗口预览Split editor right在右侧新开一个编辑器窗口More Actions更多 设置editor/title属性之后则会多一个按钮Open Preview在当前窗口打开预览新开一个tab 2、editor/context 编辑器上下文菜单即编辑器的右键菜单在编辑器中右键单击时出现的菜单。demoPlugin.helloWorld命令在上面代码中已经有写过。 menus: {editor/context: [{command: demoPlugin.helloWorld,group: navigation}]} 单机右键的时候我们可以看到helloWorld的选项如下图 3、when when的具体用法可参考官方文档。when可以控制什么时候显示菜单项但是不仅仅适用于菜单项的控制。部分用法如下 resourceLangId javascript当编辑的文件是js文件时 resourceFilename test.js当当前打开文件名是test.js时 isLinux、isMac、isWindows判断当前操作系统 editorFocus编辑器具有焦点时 editorHasSelection编辑器中有文本被选中时 view someViewId当当前视图ID等于someViewId时 editorTextFocus表示当前编辑器是否处于焦点状态即是否具有输入焦点。当编辑器具有输入焦点时用户可以在编辑器中输入和编辑文本。也可以用在多个条件可以通过与或非进行组合比如 when: debuggersAvailable !inDebugMode对于when子句条件表达式以下条件运算符对于键绑定很有用 OperatorSymbolExampleEquality“editorLangId typescript”Inequality!“resourceExtname ! .js”Or(这里实际是英文竖杠英文竖杠不显示所以用中文竖杠显示)“isLinux isWindows”And“textInputFocus !editorReadonly”Matches~resourceScheme ~ /^untitled$ 4、group 菜单项可以分组。它们按字典顺序排序并遵循以下默认值/规则。您可以将菜单项添加到这些组中或者在其间、下方或上方添加新的菜单项组。 编辑器上下文菜单具有以下默认组 navigation-navigation在任何情况下团队都是第一位的。1_modification- 该组紧随其后包含修改代码的命令。9_cutcopypaste- 倒数第二个默认组包含基本编辑命令。z_commands- 最后一个默认组带有用于打开命令面板的条目。 explorer/context有这些默认组 navigation 放在这个组的永远排在最前面 2_workspace 与工作空间操作相关的命令 3_compare 与差异编辑器中的文件比较相关的命令。 4_search 与在搜索视图中搜索相关的命令 5_cutcopypaste 与剪切复制和粘贴文件相关的命令 7_modification 与修改文件相关的命令 在编辑器选项卡上下文菜单有这些默认组 1_close - 与关闭编辑器相关的命令。 3_preview - 与固定编辑器相关的命令 在editor/title有这些默认组 1_diff - 与使用差异编辑器相关的命令 3_open - 与打开编辑器相关的命令 5_close - 与关闭编辑器相关的命令 组内排序 组内的顺序取决于标题或顺序属性。菜单项的组本地顺序是通过附加到组标识符来指定的如下所示 editor/context: [{command: demoPlugin.helloWorld,group: navigation2},{command: demoPlugin.note,group: navigation1}]可以看到2为Hello World1为Note按后的数字进行排序 三、快捷键 快捷键更多描述看官方文档快捷键操作的时候其实背后是有一套逻辑在运行这套逻辑与快捷键互相绑定。 下面我们设置了三个快捷键复制、粘贴、剪切并且配置了windows和mac两个操作系统快捷键与command相结合在触发快捷键时执行命令的操作。 1、复制 目的是获取复制的文本、复制内容的起始行以及当前文件的路径。 contributes: {keybindings: [{command: extension.copyCommand,key: ctrlc,mac: cmdc,when: editorTextFocus}]}用 registerTextEditorCommand 注册一个命令时这个命令将与特定的文本编辑器关联接收两个参数一个是命令标识符一个是命令触发执行的回调。 回调中的参数解释如下 第一个参数是一个 TextEditor 对象表示与命令关联的文本编辑器第二个参数是一个 TextEditorEdit 对象用于对文本进行编辑 vscode.commands.registerTextEditorCommand(extension.copyCommand, (textEditor, edit) {const selection textEditor.selection;// 获取选中的文本const selectedText textEditor.document.getText(selection);// 将选中的文本存储到剪贴板vscode.env.clipboard.writeText(selectedText);const activeTextEditor vscode.window.activeTextEditor;let currentFilePath;if (activeTextEditor) {//输出当前文件的路径currentFilePath activeTextEditor.document.uri.fsPath;}// 获取选中文本的起始行和结束行如果是第一行则line为0故一般1const startLine selection.start.line 1;const endLine selection.end.line 1;console.log(startLine, startLine)console.log(endLine, endLine)})2、粘贴 目的是获取粘贴的内容、粘贴后的起始行以及当前文件的路径。 contributes: {keybindings: [{command: extension.pasteCommand,key: ctrlv,mac: cmdv,when: editorTextFocus}]}//粘贴vscode.commands.registerCommand(extension.pasteCommand, () {const textEditor vscode.window.activeTextEditor;if (!textEditor) {return;}const selections textEditor.selections;const originalStartLine selections[0].start.line 1; // 获取粘贴前的开始行号const originalEndLine selections[0].end.line 1; // 获取粘贴前的结束行号// 获取粘贴内容vscode.env.clipboard.readText().then((clipboardText) {const edits: any[] [];const filePath textEditor.document.uri.fsPath;selections.forEach((selection) {const startPosition selection.start;const endPosition selection.end;// 创建粘贴操作对应的编辑edits.push({range: new vscode.Range(startPosition, endPosition),newText: clipboardText,});});// 使用 Promise.all 等待所有编辑操作完成Promise.all(edits.map((edit) textEditor.edit((editBuilder) {editBuilder.replace(edit.range, edit.newText);}))).then(() {// 获取粘贴后的选择区域信息const newSelections textEditor.selections;const newStartLine newSelections[0].start.line 1; // 获取粘贴后的开始行号const newEndLine newSelections[0].end.line 1; // 获取粘贴后的结束行号});});});3、剪切 目的是获取剪切的文本并且获取剪切的起始行以及当前文件的路径 contributes: {keybindings: [{command: extension.cutCommand,key: ctrlx,mac: cmdx,when: editorTextFocus}]}vscode.commands.registerTextEditorCommand(extension.cutCommand, (textEditor, edit) {const selection textEditor.selection;// 获取被剪切的文本const cutText textEditor.document.getText(selection);// 删除被剪切的文本edit.delete(selection);// 将剪切的文本存储到剪切板vscode.env.clipboard.writeText(cutText);const activeTextEditor vscode.window.activeTextEditor;let currentFilePath;if (activeTextEditor) {currentFilePath activeTextEditor.document.uri.fsPath;console.log(currentFilePath); // 输出当前文件的路径}// 获取选中文本的起始行和结束行const startLine selection.start.line 1;const endLine selection.end.line 1;});写在后面 安利一本好书《区块链原理、技术及应用》点击直达 第一章区块链概述从区块链的概念和运行原理说起继而介绍区块链的技术构成、逻辑架构和分类然后介绍区块链的发展历程和典型应用以及常用的区块链应用的开发技术。学完这一章可以对区块链有一个整体的认识明白区块链是什么能做什么。 第二章区块链中的密码学学习区块链中的密码学知识掌握区块链技术原理包括对称加密算法和非对称加密算法、椭圆曲线密码学、Merkle树、数字签名和数字证书等知识。 第三章区块链的核心机制介绍了区块链核心机制包括共识机制、账户交易和智能合约等。 第四章打造自己的第一个区块链—基于Python从本章开始进入动手实践的阶段本章基于Python实现一个功能完备的区块链系统。 第五章智能合约开发实践—基于Solidity介绍如何基于Solidity开发一个智能合约。 第六章以太坊之DApp开发实战—基于Truffle框架以太坊是专注于智能合约、开发并运行DApp的区块链平台本章介绍了以太坊中DApp去中心化应用的概念和开发并实现了两个完整的DApp猜拳游戏和宠物商店。 第七章超级账本开发实战—基于Go语言超级账本是一个开源项目它提供了一个成熟的商用区块链框架。本章介绍了超级账本的概念、安装和使用并通过超级账本中的几个实例介绍超级账本的开发过程。 第八章Libra开发实践—基于Move语言Libra是由Facebook打造的一套简单的全球通用支付系统和金融基础设施本章将介绍Libra的架构和特点以及基于MOVE语言的应用开发实践。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88732.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站数据分析工具网站在开发过程中如何做SEO

第一章 计算机系统概述 1.2.2 各硬件部分的介绍 本笔记参考书目: 计算机组成原理(第六版.立体化教材)白中英、戴志涛2021王道计算机组成原理视频公开课 本节重点: 主存储器、运算器和控制器的基本组成计算机运行过程的实例 转…

网站分析报告怎么做网络营销的定价策略6个

文章目录 一、String的常用API-1(1)构造器1、介绍2、举例 (2)String与其他结构间的转换1、基本数据类型、包装类 --> 字符串2、字符串 --> 基本数据类型、包装类3、字符串 --> 字符数组4、字符数组 --> 字符串5、字符…

便宜的vps租用网站个人建什么网站最赚钱吗

sql: 结构化查询语言T-SQL:sql server数据库中用的查询语言数据库对象操作:一、建库:二、建表:三、数据操作1.添加INSERT [INTO] 表名 (列列表) VALUES(值列表)a. 列列表和值列表一一对应(顺序和个数)b。可以为null的…

哪里有网站设计学学做家庭树网站

目录 一、Text介绍 1.概念 2.特点 3.用法 4.应用 二、Text语法 1.文本格式 2.文本颜色 3.文本的对齐方式 4.文本修饰 5.文本转换 6.文本缩进 7.color:设置文本颜色。 8.font-family:设置字体系列。 9.font-size:设置字体大小。…

公司英文网站建设中国菲律宾比分

工作内容,不对外开放 文章目录 一、ApplicationContextInitializer实现向容器中注入属性实现方式一:使用spring.factories实现方式二:主启动类上添加实现方式三:配置文件中配置注意点:二、自定义监听器第一种方式:使用spring.factories第二种方式:主启动类上添加第三种方…

柳河县建设局网站集美网站开发

1、问题描述: 其一、报错为: Unexpected debugger statement.eslint(no-debugger) 中文为: 意外的“调试器”语句.eslint(无调试器) 其二、问题描述为: 在正常的 vue 项目中使用 debugger 的调试过程…

打开网上免费网站吗app网站开发学习

🍀温馨提示🍀公众号推送改版,为了不让您错过【掌中IT发烧友圈】每天的精彩推送,切记将本号设置星标哦!~01云电脑,是5G云服务时代的电脑新概念,是电脑的新的一种形态。从具体操作使用上来讲&…

营销型网页怎么制作无锡网站的优化哪家好

0x01 树 树:n个结点的有限集合,n0,空树任何非空树只有一个根结点n个结点的树只有n-1条边(除根结点,每个结点只有一个前驱,一个前驱一条边,根据这个算的)有序树与无序树:…

学院网站建设方案 网站内容网络推广整合平台

前言 软件调试,是开发过程中必备的技能。通过调试可以发现软件存在的bug,即缺陷。调试可以帮助开发者窥探到软件运行过程中的详细状态,从而为消除bug提供重要信息。调试的英文是debug,前面的de在英文中表示“反对”,“…

赤峰住房城乡建设部网站网站空间编辑器

一、selenium环境部署 1.准备chrome浏览器(其他浏览器也行) 2.准备chrome驱动包 步骤一:查看自己的谷歌浏览器版本(浏览器版本和驱动版本一定要对应) 步骤二:下载对应的驱动包, 下载路径 : ChromeDriver - WebDriver for Chrom…

通许画册设计网站清苑区建设网站找那家公司

5902. 检查句子中的数字是否递增 句子是由若干 token 组成的一个列表,token 间用 单个 空格分隔,句子没有前导或尾随空格。每个 token 要么是一个由数字 0-9 组成的不含前导零的 正整数 ,要么是一个由小写英文字母组成的 单词 。 示例&…

自己服务器做网站主机xp做网站

作为享誉全球的装机必备工具,「压缩软件」这四个字基本可以认为是 WinRAR 的专有名字了。只要有 PC 的地方,几乎都能看到 WinRAR 的身影。不过这款软件最近却被曝出了一个有19年历史的代码执行漏洞。WinRAR 宣称在全球拥有超过5亿的用户,目前…

政务网站集约化建设推进情况多个域名指向同一个网站 备案

一、关于增强输入系统的介绍 增强输入系统官方文档介绍 二、增强输入系统的具体使用 注:在使用方面,不会介绍如何创建项目等基础操作,如果还没有UE的使用基础,可以参考一下我之前UE4的文章,操作差别不会很大。 如上…

南阳住房和城乡建设管理局网站wordpress门户主体

js设计模式 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误…

泉州手机网站建设费用手机做广告设计用什么软件

这两题好像是一样的,就是3177要去掉重边。 但是为什么要去重边呢??????我认为如果有重边的话,应该也要考虑在内才是。 这两题我用了求割边,在去掉割边,用DFS缩…

制作好网站怎么导入中山网站网站建设

MAC下的SVN服务器建立: from : http://blog.csdn.net/q199109106q/article/details/8655204 在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件…

建设一个机械公司网站多少钱1688官网首页

中断处理是整个运行系统中优先级最高的代码,可以抢占任何任务级代码运行。中断机制是多任务环境运行的基础,是系统实时性的保证。几乎所有的实时多任务操作系统都需要一个周期性系统时钟中断的支持,用以完成时间片调度和延时处理。VxWorks 提…

竞价网站服务器做网站界面一般用什么来做

1. Spring单例Bean是不是线程安全的? Spring单例Bean默认并不是线程安全的。由于多个线程可能访问同一份Bean实例,当Bean的内部包含了可变状态(mutable state)即有可修改的成员变量时,就可能出现线程安全问题。Spring容器不会自动…

电子商务网站建设与管理课程的意义湖南平台网站建设制作

01 传统企业数字化转型面临诸多挑战 即将过去的2023年,chatGPT大模型、数据资产入表等事件的发生,标志着数字经济正在加速发展。数字经济是人类社会继农业经济、工业经济之后的第三种经济形态,将推动生产方式、生活方式和治理方式深刻变革&a…

网站建设方案功能寻找南京帮助做网站的单位

目录 1 概述 2 数学模型 2.1 问题表述 2.2 DG的最佳位置和容量(解析法) 2.3 使用 GA 进行最佳功率因数确定和 DG 分配 3 仿真结果与讨论 3.1 33 节点测试配电系统的仿真 3.2 69 节点测试配电系统仿真 4 结论 1 概述 为了使系统网损达到最低值&a…