我有一个Git repo,有两个目录:
backend
(PHP/java代码)
frontend
(TypeScript/Vue code)我希望backend
在WebStorm中打开项目时被标记为排除,frontend
在PhpStorm中打开时被排除。
这是为了确保搜索/索引只发生在我实际要在特定IDE中编辑的文件。
当我更改被排除的目录时,它似乎也会自动将其应用于其他IDE。有没有办法把这个设置分开?
评论:
- 我有意将前端和后端都放在一个存储库中。
- 在自己的IDEA项目中打开子目录似乎没有作为一个选项,因为Git集成只在项目位于存储库的根文件夹。
当我更改排除的目录时,它似乎也会自动将其应用于其他IDE。
这是预期的。这是因为项目设置存储在.idea
子文件夹中。所有基于idea的ide都使用相同的.idea
设置格式。因此,在不同的ide中打开相同的文件夹/项目只会使它们使用已经制作的配置(在ide之间共享)。
另外,PhpStorm和WebStorm都使用相同的模块类型ID (WEB_MODULE
),并且在一个项目中只能有一个模块。IntelliJ IDEA和其他一些ide(例如PyCharm)可以处理具有多个不同类型模块的项目。
是否有办法保持这个设置分开?
是的,在一个小解决方案的帮助下:您需要将另一个IDE使用的.idea
存储在另一个地方。就这么简单。
设置和步骤:
- 假设你的项目在
C:ProjectsMyProject
. - 使成为一个全新的空项目在另一个地方,例如
C:ProjectsIDEProjectsStoreMyProject-frontend
。它将用于前端。 - 转到
Settings/Preferences | Directories
和删除现有的内容根(将是C:ProjectsIDEProjectsStoreMyProject-frontend
从上一步)。 -
添加新内容根——指向实际项目(步骤#1中的
C:ProjectsMyProject
) - 根据需要保存和配置。
你现在的情况:
这个<<ul>C:ProjectsIDEProjectsStoreMyProject-frontend.idea
中,而另一个(具有后端的原始项目))将在C:ProjectsMyProject.idea
中有。基本上:一个项目在IDE的眼睛是一个.idea
文件夹与父文件夹添加作为内容根默认情况下。我们的解决方案是将第二个项目放在不同的文件夹中,同时在它们之间共享相同的Content根目录。
https://youtrack.jetbrains.com/issue/IDEA-170102/——这是一个要求以直接的方式执行此操作的票。
我希望
backend
在WebStorm中打开项目时被标记为排除,frontend
在PhpStorm中打开时被排除。
为什么需要两个ide ?
如果你不知道:PhpStorm = WebStorm + PHP +数据库在这里你并不需要WebStorm。只要安装WebStorm附带的插件就可以了。