小编Sat*_*h V的帖子

Git diff如何在vscode Git扩展中工作?

我正在尝试在vscode中创建版本控制扩展.我试着在vscode中查看Git实现.令人困惑的部分是文件差异.在git扩展源代码中,用于查看文件更改vscode.diff.要获取uri原始文件,uri可以通过更改scheme修改后的文件来生成新文件uri.这是怎么回事?

例如,在https://github.com/Microsoft/vscode/blob/master/extensions/git/src/commands.ts中,使用文件的uri调用getRightResource方法toGitUri.toGitUri实施如下,

export function toGitUri(uri: Uri, ref: string, replaceFileExtension = false): Uri {
    return uri.with({
        scheme: 'git',
        path: replaceFileExtension ? `${uri.path}.git` : uri.path,
        query: JSON.stringify({
            path: uri.fsPath,
            ref
        })
    });
}
Run Code Online (Sandbox Code Playgroud)

在这里,toGitUri只是改变文件的方案,从filegit与查询.这uri随后被提供给vscode.diff与原沿uri文件,以显示git的差异.怎么在toGitUri这里工作?

version-control visual-studio-code vscode-extensions

7
推荐指数
1
解决办法
486
查看次数

在vscode中存储与扩展相关的信息的位置

我正在创建一个扩展,其中需要从用户那里获取一个字符串并将其存储,以便将来我可以通过quickdropbox给出建议。现在,哪种存储用户输入数据的真正方法是?我看到了项目经理扩展源。在那里,用户输入的项目名称存储在%APPDATA%\ Code \ User文件夹中的project.json中。这是正确的存储方式吗?对不起,我的英语不好。

visual-studio-code vscode-extensions

2
推荐指数
1
解决办法
449
查看次数