是否可以创建允许我在VSCode中生成UUID的代码片段或任务运行器(或其他任何东西)?这个问题也可以用更通用的方式解释:我可以运行外部工具/程序并将结果插入当前光标位置。
感谢。
答案 0 :(得分:2)
以下扩展程序非常易于使用,完全符合您的要求:https://github.com/heaths/vscode-guid
享受!
-Simon
答案 1 :(得分:1)
不幸的是,您现在无法使用代码段执行此操作。我不认为它可以通过任务工作。
我能为您做的唯一事情就是为您提供适用于C#,TypeScript和Yaml文件的hacky解决方案(在VSCode 0.9.0中测试)。 让我们为TypeScripts实现它来做一个例子:
resources\app\extensions\typescript\out\features\suggestSupport.js
将方法newGuid()
添加到SuggestSupport
类:
// copied from: https://github.com/Microsoft/ApplicationInsights-JS/blob/master/JavaScript/JavaScriptSDK/Util.ts
SuggestSupport.prototype.newGuid = function() {
var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];
// c.f. rfc4122 (UUID version 4 = xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx)
var oct = "", tmp;
for (var a = 0; a < 4; a++) {
tmp = (4294967296 * Math.random()) | 0;
oct += hexValues[tmp & 0xF] + hexValues[tmp >> 4 & 0xF] + hexValues[tmp >> 8 & 0xF] + hexValues[tmp >> 12 & 0xF] + hexValues[tmp >> 16 & 0xF] + hexValues[tmp >> 20 & 0xF] + hexValues[tmp >> 24 & 0xF] + hexValues[tmp >> 28 & 0xF];
}
// "Set the two most significant bits (bits 6 and 7) of the clock_seq_hi_and_reserved to zero and one, respectively"
var clockSequenceHi = hexValues[8 + (Math.random() * 4) | 0];
return oct.substr(0, 8) + "-" + oct.substr(9, 4) + "-4" + oct.substr(13, 3) + "-" + clockSequenceHi + oct.substr(16, 3) + "-" + oct.substr(19, 12);
}
找到var suggests = [];
函数内的suggest
行
在该行下面添加此建议:
suggests.push({
label: "Create new UUID",
codeSnippet: "\"" + _this.newGuid() + "\"",
type: "keyword"
});
重新启动Code后,您将始终在.ts
个文件中收到一个名为“Create new UUID”的建议,该建议在当前光标位置添加"243BC2A6-1AB5-445B-B086-DBDED67368F5"
之类的值。您可以按CTRL + Space
强制显示建议框的外观。
要将此建议添加到C#和YAML,您需要在相应的suggestSupport.js文件中执行相同的操作。
答案 2 :(得分:0)
关于代码狙击和 uuid,请考虑 VSCode 1.53(2021 年 1 月)引入了一个有趣的功能:
<块引用>有新的片段变量用于插入 uuid 和插入当前文件的相对路径。
下面的示例片段将打印:
let someId = 'foo/test.js/c13d226f-1932-40e2-9fd9-10198c219e33'
// sample snippet using UUID and RELATIVE_FILEPATH
{
"scope": "javascript",
"prefix": "newVars",
"body": "let someId = '${RELATIVE_FILEPATH}/${UUID}'$0"
}