vscode./code打开当前文件夹

本文介绍如何在VSCode的终端中使用./code命令打开当前文件夹,并提供了遇到权限问题时的解决办法。此外还介绍了如何通过快捷键搜索并执行shell命令。

vscode 在终端用./code打开当前文件夹

打开VScode 使用command+shift+p 搜索shell
请添加图片描述
搜索code 看到的第一个进行点击就可以了
可能遇到的问题:
请添加图片描述

遇到这个问题其实就是没有读写权限使用chown

sudo chown -R [yourusername] [filepath]

sudo chown -R [yourusername] /usr/local/bin/code

如果失败 使用sudo chown -R [yourusername] /usr/local/bin

请添加图片描述
安装成功,使用code./可以使用vs code打开任意文件夹

添加文件夹后刷新import * as path from 'path'; export class DDriveTreeDataProvider implements TreeDataProvider<TreeItem> { private _onDidChangeTreeData: vscode.EventEmitter<TreeItem | undefined | null | void> = new vscode.EventEmitter<TreeItem | undefined | null | void>(); readonly onDidChangeTreeData: Event<TreeItem | undefined | null | void> = this._onDidChangeTreeData.event; private path: string; //通过构造函数接收参数 constructor(path:string) { this.path=path; this.refresh();//构造函数立即触发刷新 } //定义刷新函数 refresh(): void { this._onDidChangeTreeData.fire(); } //将数据项(element)转换为 VS Code 能渲染的 TreeItem getTreeItem(element: TreeItem): TreeItem | Thenable<TreeItem> { return element; } getChildren(element?: TreeItem | undefined): ProviderResult<TreeItem[]> { const path=this.path; //const path='d:/'; if (!element) { //当前节点是否是根节点 // 根节点(d盘),返回一个可展开的文件夹节点 const dDriveItem = new TreeItem(path, TreeItemCollapsibleState.Collapsed); // 创建D盘根节点 dDriveItem.resourceUri = vscode.Uri.file(path);//绑定真实文件路径(方便后续读取子目录) return [dDriveItem]; // 返回根节点(数组形式) } else { // 子节点,读取该文件夹下的文件/子目录并返回 const folderPath = element.resourceUri?.fsPath || path;//获取当前文件夹路径 return this.getFolderItems(folderPath); // 读取该文件夹下的文件/子目录 } } // 读取该文件夹下的文件/子目录 private async getFolderItems(folderPath: string): Promise<TreeItem[]> { try { const uri = vscode.Uri.file(folderPath);//将本地文件路径转换为 VS Code 可识别的资源 URI const children = await vscode.workspace.fs.readDirectory(uri);//异步读取目录内容 //筛选出所有文件夹并转换为 VS Code 树形视图节点(TreeItem) const folderItems = children .filter(([name, type]) => type === vscode.FileType.Directory) .map(([name]) => { const fullPath = path.join(folderPath, name); //拼接 const item = new TreeItem(name, TreeItemCollapsibleState.Collapsed); //创根节点 item.resourceUri = vscode.Uri.file(fullPath); //绑定真实文件路径(方便后续读取子目录) item.tooltip = fullPath;//悬停提示完整路径 item.contextValue = 'folder'; // 可选的上下文标识(用于右键菜单) return item; }); // 在filter后添加文件处理 const fileItems = children .filter(([_, type]) => type === vscode.FileType.File) .map(([name]) => { const fullPath = path.join(folderPath, name); //拼接 const item = new vscode.TreeItem(name, vscode.TreeItemCollapsibleState.None);//创叶节点 item.resourceUri = vscode.Uri.file(fullPath); //绑定真实文件路径(方便后续读取子目录) item.tooltip = fullPath;//悬停提示完整路径 item.contextValue = 'file'; // 可选的上下文标识(用于右键菜单) // 命令配置(点击行为) item.command = { command: 'vscode.open', title: '打开文件', arguments: [vscode.Uri.file(fullPath)] // 传入文件URI }; return item; }); return [...folderItems, ...fileItems]; // 合并返回 } catch (error) { console.error(`Error reading directory ${folderPath}:`, error); return []; } } }
08-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值