Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 提供「;“打开文件”;来自Visual Studio代码源代码管理窗格上下文菜单的命令_Visual Studio Code_Vscode Extensions - Fatal编程技术网

Visual studio code 提供「;“打开文件”;来自Visual Studio代码源代码管理窗格上下文菜单的命令

Visual studio code 提供「;“打开文件”;来自Visual Studio代码源代码管理窗格上下文菜单的命令,visual-studio-code,vscode-extensions,Visual Studio Code,Vscode Extensions,在VisualStudio代码中,当我在项目中使用Git源代码管理时,我可以在“源代码管理”视图中右键单击一个文件并选择“打开文件”来查看该文件,就像我只是从资源管理器窗格中打开它一样。如何为自己的SCM扩展实现类似的上下文菜单和命令?我让它工作到文件列表的位置,我可以选择一个来显示差异,或者选择内联命令图标来显示以不同方式选择的版本之间的差异。但是我不知道如何添加上下文菜单或命令来简单地打开其中一个文件而不是比较。要添加上下文菜单,可以在package.json文件中指定命令和上下文菜单项。在

在VisualStudio代码中,当我在项目中使用Git源代码管理时,我可以在“源代码管理”视图中右键单击一个文件并选择“打开文件”来查看该文件,就像我只是从资源管理器窗格中打开它一样。如何为自己的SCM扩展实现类似的上下文菜单和命令?我让它工作到文件列表的位置,我可以选择一个来显示差异,或者选择内联命令图标来显示以不同方式选择的版本之间的差异。但是我不知道如何添加上下文菜单或命令来简单地打开其中一个文件而不是比较。

要添加上下文菜单,可以在package.json文件中指定命令和上下文菜单项。在
贡献
块的
命令
数组中,添加如下命令:

{
“命令”:“accurev.openFile”,
“类别”:“AccuRev”,
“标题”:“打开文件”
}
然后参考上下文菜单项中定义的命令,例如
菜单
块的
scm/resourceState/context
数组:

{
“命令”:“accurev.openFile”,
“当”:“scmProvider==accurev”
}
最后,为使用VisualStudio代码内置的open命令的新命令注册一个命令处理程序。这可以在扩展初始
activate
功能期间运行的代码中完成:

globalState.disposables.push(vscode.commands.registerCommand('acurev.openFile',async(file:acurevfile)=>{
试一试{
等待vscode.commands.executeCommand('vscode.open',file.resourceUri);
}
捕捉(错误){
if(全局状态){
globalState.channel.appendLine(错误);
}
}
}));

在本例中,
globalState
只是一个变量,用于跟踪扩展中的一些全局变量,包括关闭扩展后将清理的一次性对象列表,以及为扩展写入日志文本的通道。

要添加到上下文菜单,可以在package.json文件中指定命令和上下文菜单项。在
贡献
块的
命令
数组中,添加如下命令:

{
“命令”:“accurev.openFile”,
“类别”:“AccuRev”,
“标题”:“打开文件”
}
然后参考上下文菜单项中定义的命令,例如
菜单
块的
scm/resourceState/context
数组:

{
“命令”:“accurev.openFile”,
“当”:“scmProvider==accurev”
}
最后,为使用VisualStudio代码内置的open命令的新命令注册一个命令处理程序。这可以在扩展初始
activate
功能期间运行的代码中完成:

globalState.disposables.push(vscode.commands.registerCommand('acurev.openFile',async(file:acurevfile)=>{
试一试{
等待vscode.commands.executeCommand('vscode.open',file.resourceUri);
}
捕捉(错误){
if(全局状态){
globalState.channel.appendLine(错误);
}
}
}));
在本例中,
globalState
只是一个变量,用于跟踪扩展中的一些全局变量,包括将随扩展关闭而清理的一次性对象列表,以及为扩展写入日志文本的通道