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 如何在vscode';s多根工作区_Visual Studio Code_Vscode Extensions - Fatal编程技术网

Visual studio code 如何在vscode';s多根工作区

Visual studio code 如何在vscode';s多根工作区,visual-studio-code,vscode-extensions,Visual Studio Code,Vscode Extensions,如何在多个根工作区中获取活动工作区。 我为vscode编写了一个扩展,并使用此代码检查当前工作区是否为多根 let wsfolders = vscode.workspace.workspaceFolders !wsfolders no wsfolders.length != 1 Multi-root 在此之后,如何找到活动工作区。VS代码中没有“活动”工作区的概念,请参阅 也许您的基本需求是找出“活动编辑器”(当前聚焦的编辑器)属于哪个工作区文件夹。 在这种情况下,您可以使用活动编辑器

如何在多个根工作区中获取活动工作区。 我为vscode编写了一个扩展,并使用此代码检查当前工作区是否为多根

let wsfolders = vscode.workspace.workspaceFolders
!wsfolders  no 
wsfolders.length != 1   Multi-root
在此之后,如何找到活动工作区。

VS代码中没有“活动”工作区的概念,请参阅

也许您的基本需求是找出“活动编辑器”(当前聚焦的编辑器)属于哪个工作区文件夹。 在这种情况下,您可以使用活动编辑器文档的路径,并将其与所有工作区文件夹的路径进行比较,以找到匹配的路径(如果有)

从“vscode”导入*为vscode;
从“路径”导入*作为路径;
if(vscode.window.activeTextEditor){
常量activeEditorPath=vscode.window.activeTextEditor.document.uri.path;
const matchingWorkspace=vscode.workspace.workspaceFolders?.find(
(wsFolder)=>{
const relative=path.relative(wsFolder.uri.fsPath,activeEditorPath);
返回relative&!relative.startsWith('..')&&!path.isAbsolute(relative);
}
);      
}
(检查路径的函数取自)

VS代码中没有“活动”工作区的概念,请参阅

也许您的基本需求是找出“活动编辑器”(当前聚焦的编辑器)属于哪个工作区文件夹。 在这种情况下,您可以使用活动编辑器文档的路径,并将其与所有工作区文件夹的路径进行比较,以找到匹配的路径(如果有)

从“vscode”导入*为vscode;
从“路径”导入*作为路径;
if(vscode.window.activeTextEditor){
常量activeEditorPath=vscode.window.activeTextEditor.document.uri.path;
const matchingWorkspace=vscode.workspace.workspaceFolders?.find(
(wsFolder)=>{
const relative=path.relative(wsFolder.uri.fsPath,activeEditorPath);
返回relative&!relative.startsWith('..')&&!path.isAbsolute(relative);
}
);      
}
(检查路径的功能取自)

使用

vscode.workspace.getWorkspaceFolder(uri:uri):WorkspaceFolder |未定义

返回包含给定uri的工作区文件夹

  • 当给定uri与任何工作区文件夹不匹配时,返回undefined
  • 当给定uri本身是工作区文件夹时,返回输入
使用

vscode.workspace.getWorkspaceFolder(uri:uri):WorkspaceFolder |未定义

返回包含给定uri的工作区文件夹

  • 当给定uri与任何工作区文件夹不匹配时,返回undefined
  • 当给定uri本身是工作区文件夹时,返回输入

与其像我的答案中那样手动实现“查找工作区逻辑”,不如使用@rioV8答案中引用的VS代码API。与其像我的答案中那样手动实现“查找工作区逻辑”,不如使用@rioV8答案中引用的VS代码API。