Sat*_*h V 7 version-control visual-studio-code vscode-extensions
我正在尝试在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只是改变文件的方案,从file到git与查询.这uri随后被提供给vscode.diff与原沿uri文件,以显示git的差异.怎么在toGitUri这里工作?
| 归档时间: |
|
| 查看次数: |
486 次 |
| 最近记录: |