版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/svap1/article/details/84672418
环境:windows10 ,已经安装rust语言插件
问题:Idea打开Rust项目目录不识别Rust工程,代码不能跳转
解决办法:修改.iml文件的内容如下,然后保存,idea会自动生成sourceFolder等相关的源码路径配置。如果Idea报找不到Cargo.toml文件,则根据提示找到项目的根Cargo.toml文件。
注意,module type 要设置为RUST_MODULE 而不是JAVA_MODULE。
<?xml version="1.0" encoding="UTF-8"?>
<module type="RUST_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$"/>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
配置完成后,打开rust工程的目录,idea会自动将其识别为Rust工程,然后代码就可以跳转了。
下图是配置完成后xxx.iml文件的内容,其中xxx是项目的名称。
<?xml version="1.0" encoding="UTF-8"?>
<module type="RUST_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/dir-xxx/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/dir-xxx/examples" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/dir-xxx/tests" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/dir-xxx/benches" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/dir-xxx/target" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
配置完成xxx.iml文件后,会自动更新modules.xml misc.xml vcs.xml workspace.xml等相关的配置文件。
modules.xml文件内容示例如下。
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/xxx.iml" filepath="$PROJECT_DIR$/.idea/xxx.iml" />
</modules>
</component>
</project>
备注:
xxx.iml文件的位置可能是在.idea目录下,也可能是在工程根目录下