VSCode插件开发--一些API

VSCode 打开本地目录或工作空间 命令ID vscode.openFolder ,打开一个目录或者工作空间。可以在当前窗口打开,或者新建窗口打开。 参数 uri ,Uri类型,可选,目录(工作空间)路径。如果不提供,那么将会弹出一个原生的目录选择对话框 newWindow,可选,是否打开一个新的窗口 // 在新窗口打开/some/path/to/folder let uri = vscode.Uri.file("/some/path/to/folder"); vscode.commands.executeCommand("vscode.openFolder",uri,true); 当前活动的Terminal(Shell终端) 内置方法 vscode.window.activeTerminal 创建Terminal(Shell终端) 使用内置方法 vscode.window.createTerminal,它有三个重载函数, 返回值均为 vscode.Terminal createTerminal(name?: string, shellPath?: string, shellArgs?: string[] | string): Terminal 参数解释name可选 ,终端创建后显示在UI上的名字shellPath可选,自定义shell终端的执行路径shellArgs可选 ,传递给自定义终端的执行参数。 只对Windows生效 shellArgs 详细格式参见https://msdn.microsoft.com/en-au/08dfcab2-eb6e-49a4-80eb-87d4076c98c6 createTerminal(options: TerminalOptions): Terminal 参数解释options必选 ,TerminalOptions配置参数 TerminalOptions 可用的值 参数解释占位占位占位占位占位占位占位占位占位占位占位占位占位cwd可选 ,string 或 Uri ,终端的工作目录env可选 ,object ,添加到终端中的环境变量hideFromUser可选 ,boolean ,如果设置为true,终端将正常运行,但直到调用Terminal.show时,才会对用户公开。 通常的用法是在需要运行可能需要交互性,但只想在需要交互时对用户公开name可选 ,string ,终端创建后显示在UI上的名字shellArgs可选 , string[] 或 string ,传递给自定义终端的执行参数 只对Windows生效shellPath可选 , string ,自定义shell终端的执行路径strictEnv可选 , boolean ,终端环境是否应完全与TerminalOptions.env中提供的一致。 如果为false(默认),则环境将基于窗口的环境,并且还会在顶部应用配置的平台设置,例如terminal.integrated.windows.env。 如果true,则必须提供完整的环境。 createTerminal(options: ExtensionTerminalOptions): Terminal 此方法将创建一个由插件(扩展)控制输入输出的终端环境 参数解释options必选 ,ExtensionTerminalOptions配置参数 ...

January 7, 2021 · 1 min · holdsky

typescript 聚合多个文件的多个类到一个命名空间

最近调研VSCode的插件开发,选择typescript语言,看了typescript的官方的指导手册关于 namespace 的使用方式,我尝试类官方给出的一个文件和多个文件场景下使用namespace 。 结果一个文件使用namesapce没有问题,但是多个文件共享namespace,VSCode的语法提示总是提示找不到xxxx。 重点说明下,插件工程使用 yo code 创建的,namespace的示例也是官方的,官方的多个文件共享一个命名空间的方法是使用 /// <reference path = "xxxx.ts" /> 指令。 百思不解,百度依然不解。幸好与多年的c++经验,借鉴c++的namespace中导入符号的方法,我找到类一条可行的路—-综合利用 nameapce , import as , extends,示意如下: a.ts内容 //a.ts export class A { } b.ts内容 //b.ts export class B { } c.ts内容 //c.ts export class C { } 然后创建一个聚合的ts文件,将 a,b,c的符号以子类继承方式聚合 my.ts //my.ts import * as _a from 'a'; import * as _b from 'b'; import * as _c from 'c'; expport namespace my { export class A extends _a.A {} export class B extends _b.B {} export class C extends _c.C {} } 使用示意: import {my} from 'my'; let tmp = new my.A();

January 21, 2020 · 1 min · holdsky

Windows10:配置Visual Studio Code 以SSH方式访问远程主机

Windows10上遇到过ssh的坑,记录下过程 参考 https://code.visualstudio.com/docs/remote/troubleshooting#_installing-a-supported-ssh-client 环境和知识准备 远程主机,并开启ssh-server服务(通常端口22) Windows环境(本文Windwos10家庭版) Visual Studio Code 公钥加密算法,对SSH,通常为RSA 已经生成好的ssh公钥文件和私有文件 步骤 安装ssh-client 对于Windows10的一些版本,可以通过 设置--系统--应用和功能--管理可选功能--添加功能 来开启ssh-client,奈何本穷的Windows10不支持。 还有两种方法来安装ssh-client 通过PowerShell安装,以管理员方式启动PowerShell,具体参考 这里,反正本穷是没有成功。 于是,只有通过安装Git for Windows来安装ssh-client了, 下载地址 安装RemoteSSH 这里需要给Visual Studio Code 安装扩展包,以支持RemoteSSH。 Visual Studio Code -- 查看 --扩展,在扩展中搜索 Remote Development,然后安装这个扩展包,会自动安装相关依赖包。 配置Vistual Studio Code SSH Visual Studio Code -- 设置,搜索SSH,在结果列表中找到 扩展--Remote-SSH -- Remote.SSH:Config File,自定义RemoteSSH的配置文件路径,然后创建这个配置文件,内容如下: Host 自定义别名 User 远程主机ssh登陆的用户名 HostName 远程主机名字,可以是ip地址 Port 远程主机ssh端口号,一般是22 IdentityFile 身份验证文件路径,即ssh私钥文件路径 访问 Vistual Studio Code – 查看 –命令面板 –Remote-SSH:Connect ToHost 选择配置文件中配置好的主机即可。

September 21, 2019 · 1 min · holdsky