Visual studio code 如何在VisualStudio代码中生成UUID?

Visual studio code 如何在VisualStudio代码中生成UUID?,visual-studio-code,Visual Studio Code,是否可以创建一个代码片段或任务运行程序(或其他任何东西),允许我在VSCode中生成UUID?这个问题也可以用一种更一般的方式来解释:我可以运行一个外部工具/程序并在当前光标位置插入结果吗 谢谢。很遗憾,您现在无法使用代码片段来完成此操作。我认为它也不能通过任务工作 我能为您做的唯一一件事就是为您提供一个适用于C#、TypeScript和Yaml文件(在VSCode 0.9.0中测试)的黑客解决方案。 让我们为TypeScripts实现它来制作一个示例: 转到安装VSCode的文件夹 打开文件

是否可以创建一个代码片段或任务运行程序(或其他任何东西),允许我在VSCode中生成UUID?这个问题也可以用一种更一般的方式来解释:我可以运行一个外部工具/程序并在当前光标位置插入结果吗


谢谢。

很遗憾,您现在无法使用代码片段来完成此操作。我认为它也不能通过任务工作

我能为您做的唯一一件事就是为您提供一个适用于C#、TypeScript和Yaml文件(在VSCode 0.9.0中测试)的黑客解决方案。 让我们为TypeScripts实现它来制作一个示例:

  • 转到安装VSCode的文件夹
  • 打开文件
    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);
    }  
    
重新启动代码后,您将始终在.ts文件中收到一个名为“创建新UUID”的建议,该建议在当前光标位置添加一个值,如“243BC2A6-1AB5-445B-B086-DBDED67368F5”。您可以通过按
CTRL+Space
强制显示建议框


将此建议添加到C和YAML中,您需要在相应的建议SuppSup.js文件中执行同样的操作。

< P>以下扩展是非常容易使用的,并且正是您想要的:(或从VS市场获得)

< >关于代码狙击手和UUID,认为VSCode 1.53(2021)介绍了一个有趣的特性:

有新的代码段变量用于插入UUID和插入当前文件的相对路径

下面的示例代码段将打印:

let someId = 'foo/test.js/c13d226f-1932-40e2-9fd9-10198c219e33'
//使用UUID和相对文件路径的示例代码段
{
“范围”:“javascript”,
“前缀”:“newVars”,
“body”:“let someId='${RELATIVE_FILEPATH}/${UUID}'$0”
}

您可能对这个github项目感兴趣:谢谢,考虑到代码片段和任务在VSCode中的工作方式,这看起来是一个不错的方法。我正试图让它在json文件中工作,我会让你知道它是否也能工作。@GabePerez你能在使用代码片段时生成json文件吗?对于稍后回答这个问题的人,如果扩展名不再存在,只需在扩展名面板上搜索“GUID”,你就会在那里找到一些。
let someId = 'foo/test.js/c13d226f-1932-40e2-9fd9-10198c219e33'