增加一个配置导入导出的功能
TanxiangCode opened this issue · comments
项目选项卡中,配置了很多项目。当我重装系统后,我需要重新手动添加项目目录,这将是会是一个很大的工作量。并且,如果在添加项目时可以支持多选就更好了。因为目前来说,项目都会存放在特定的某个大目录之下。
项目选项卡中,配置了很多项目。当我重装系统后,我需要重新手动添加项目目录,这将是会是一个很大的工作量。
配置的导入导出功能本身实现起来其实并不麻烦,但是在nvm-desktop
的projects
界面添加项目并为其指定node
版本的时候,需要在该目录下创建一个.nvmdrc
文件并写入版本号。所以在导入导出的时候,如果批量在每个项目目录下创建.nvmdrc
文件(因为.nvmdrc
一般会添加到.gitignore
被忽视)这样会不会对用户来说体验不是很好。或者说导入配置的时候只是单纯在projects
界面添加所有项目的数据,而不为其选中之前的node
版本(用户需要手动再为其选择版本)。
或者你有更好的想法也可以交流一下。
并且,如果在添加项目时可以支持多选就更好了。因为目前来说,项目都会存放在特定的某个大目录之下。
多选的功能实现起来也不麻烦 😄 后续我会实现一下。
不过你倒是提醒了我一点,是否应该支持workspace
的功能。比如parent
目录下设置了.nvmdrc
,其所有子项目child
(子目录)如果没有设置过.nvmdrc
,那就是使用其父目录下的.nvmdrc
指定的版本。
|-- parent
|-- .nvmdrc
|-- child01
|-- child02
|-- child03
|-- ...
你觉得workspace
这种功能可以很好解决你的需求吗,如果觉得可以后续我会实现,当然你有更好的想法也欢迎。
导入的过程中,可以根据配置文件,确定是否存在目标项目,如果存在则判断项目中是否已经存在了.nvmdrc,如果已经存在,直接跳过并读取其node版本即可。一般来说,对于需要使用导入的用户是有预期的,即他知道导入后是什么样的。
至于workspace还是有必要的,这样UI中也相应的有了分组的功能,方便管理。
目前在arch
分支已经实现了多选
和workspace
的功能(workspace
主要由nvmd-command
来提供支持)。
导入的过程中,可以根据配置文件,确定是否存在目标项目,如果存在则判断项目中是否已经存在了.nvmdrc,如果已经存在,直接跳过并读取其node版本即可。一般来说,对于需要使用导入的用户是有预期的,即他知道导入后是什么样的。
关于配置的导入导出目前的想法是:支持nvm-desktop
内用户所有的设置数据,包括主题颜色
以及设置中心里面自定义的设置,数据格式准备使用最简单的json
文件。对于导入projects
相关的数据的时候会提供一个勾选框,让用户来控制是否支持单纯导入projects
这部分数据,还是在导入的同时去检索项目目录下以及处理.nvmdrc
文件相关的工作。
最新的 Release v3.2.0 已经支持了该功能,那么我就先关闭这个issue了,当然后续如果有任何问题都可以随时重新打开此issue。