vscode API:读取剪贴板文本内容

oli*_*x14 3 clipboard node.js promise visual-studio-code vscode-extensions

我目前正在尝试为Visual Studio Code编写扩展,但我无法理解如何读取剪贴板内容

VSCode API指定此方法:

readText ():Thenable<String>

按照我阅读的内容Thenable,我应该能够获得这样的剪贴板文本:

var clipboard_content = vscode.env.clipboard.readText().then((text)=>text);
Run Code Online (Sandbox Code Playgroud)

但我设法得到的只是一个Promise { pending }对象。

我想得到的是剪贴板内容作为string

bat*_*to3 5

基础错误。

因为您使用promises(异步)并想要async/await(线性)功能。

它应该是(承诺,异步代码):

vscode.env.clipboard.readText().then((text)=>{
    clipboard_content = text; 
    /* code */
});
Run Code Online (Sandbox Code Playgroud)

或(顺序代码)

let clipboard_content = await vscode.env.clipboard.readText(); 
/* code */
Run Code Online (Sandbox Code Playgroud)

PS.: 在JS中,命名变量和函数camelCasesnake_case时候应该使用而不是。这是JavaScript Standard Style的推荐之一