codecamp

配置IntelliJ IDEA的内容根目录

当创建 IntelliJ IDEA 模块时,该模块通常包含有一个内容根目录,对于 IntelliJ IDEA 中的内容根目录,我们可以对其进行配置。您可以添加其他的内容根目录,以及删除不必要的内容根目录。当然,您也可以对内容根目录中的文件夹进行相关的操作。

添加 IntelliJ IDEA 内容根目录

  1. 打开 “项目结构”对话框(例如,按 Ctrl+Shift+Alt+S)。
  2. 在左侧窗格中,选择 "模块"。
  3. 在右侧的窗格中,选择所需的模块。
  4. 在对话框的右侧部分,选择 "源(Sources)" 选项卡。
  5. 单击 "添加内容根"。
    添加IntelliJ IDEA内容根目录
  6. 在打开的对话框中,选择要作为内容根目录添加的文件夹,然后单击“确定”。
  7. 在 "项目结构" 对话框中单击 "确定"。

指定文件夹类别:来源,测试等

可以将内容根目录中的文件夹分配给以下类别:源、测试源、生成的源、生成的测试源和排除的文件夹(在 Java 模块中,也包括资源和测试资源)。可以在 "项目" 工具窗口或 "项目结构" 对话框中完成此操作。

  • 在“项目”工具窗口中指定文件夹类别;
  • 在“项目结构”对话框中指定文件夹类别。

在“项目”工具窗口中指定文件夹类别

在 "项目工具" 窗口中(查看 |工具窗口 |项目(View | Tool Windows | Project))处理文件夹类别的大多数功能是通过上下文菜单中的(标记目录为|<Option>(Mark Directory as | <Option>))访问的。该在大多数情况下,<Option> 是要分配给所选文件夹的类别的名称。

通过使用此 UI,您可以:

  • 将文件夹分配到类别或更改文件夹类别: 标记目录为| <Category>(Mark Directory as | <Category>),例如:标记目录为| 测试源根(Mark Directory as | Test Sources Root)。
    在IntelliJ IDEA“项目”工具窗口中指定文件夹类别
  • 取消与当前类别的文件夹关联: 标记目录为| 取消标记为<类别>(Mark Directory as | Unmark as <Category>,例如取消标记为测试源根。该操作将文件夹变为“普通”文件夹( )。 
    在IntelliJ IDEA“项目”工具窗口中指定文件夹类别 
    对于您通过使用标记目录为| 排除(Mark Directory as | Excluded)命令排除的文件夹 ,要恢复以前的类别或使一个普通的文件夹,使用标记目录为| 取消排除(Mark Directory as | Cancel Exclusion)。
  • 将子文件夹分配到不同的类别(标记目录为| <Category>)。通过使用此功能,您可以,例如,可以将源根文件夹中的文件夹排除在外,或将排除的文件夹中的文件夹标记为包含生成的源。
  • 创建内容根目录:对于继承其 "父" 文件夹中的已排除状态的子目录,请使用 标记目录为|不排除命令(Mark Directory as | Not Excluded)。

隐藏和显示排除的文件夹。要隐藏或显示您的排除的文件夹,请单击标题栏上的 ,然后单击 "显示排除的文件"。

在“项目结构”对话框中指定文件夹类别

用于处理文件夹类别的 UI 在在 "源" 选项卡上。要进入此选项卡,请打开 "项目结构" 对话框(例如按 Ctrl+Shift+Alt+S),选择“模块”,选择所需的模块,然后在对话框的右侧部分选择 "源"。

通过使用 "源" 选项卡,您可以:

  • 将文件夹分配到类别或更改文件夹类别:在右侧的标记中选择类别(例如:测试)或从左侧窗格中的上下文菜单中选择。  
    IntelliJ IDEA在“项目结构”对话框中指定文件夹类别
  • 取消与当前类别的文件夹关联。执行以下操作之一:单击标记右侧的当前类别(例如,如果当前将该文件夹分配给测试源,则测试)。单击上下文菜单中的当前类别。在右侧窗格中,在类别名称下(例如:测试源文件夹),单击文件夹名称(或文件夹路径)右侧的
    IntelliJ IDEA在“项目结构”对话框中指定文件夹类别
  • 指定生成文件夹内容(来源或资源)。对于已经分配给源,资源,测试源或测试资源的文件夹,在右侧窗格中的类别名称下(例如,测试源文件夹),单击所需文件夹(文件夹路径)右侧的
    /help/img/idea/2017.2/assign-package-prefix.png
  • 然后在打开的对话框中选择“对于生成的源”或“对于生成的资源”。
  • 将子文件夹分配给其他类别。通过使用此功能,例如,可以将源根文件夹中的文件夹排除在外,或将排除的文件夹中的文件夹标记为包含生成的源。对于感兴趣的子文件夹的过程与更改文件夹类别相同。
    /help/img/idea/2017.2/exclude_by_name_pattern.png
  • 注意:至少一个指定模式匹配的文件和文件夹的名称被排除。文件夹连同其所有内容一起被排除。通过指定名称模式, 使文件和文件夹不被排除,使用排除文件字段以指定模式。

将包前缀分配给具有 Java 源的文件夹

在Java模块中,您可以为包含源文件(例如 com.mycompany.myapp)的文件夹指定包前缀。这消除了在该文件夹(例如 com/mycompany/myapp)中创建相应的文件夹结构的必要性。有关更多信息,请参阅 Java 源代码的包前缀。

  1. 打开 “项目结构”对话框(例如按 Ctrl+Shift+Alt+S)。
  2. 在左侧窗格中,选择 "模块"。
  3. 在右侧的窗格中,选择所需的模块。
  4. 在对话框的右侧部分,选择 "源" 选项卡。
  5. 在右侧窗格中的 "源文件夹" 或 "测试源文件夹" 下,单击所需文件夹(文件夹路径)右侧的
    IntelliJ IDEA将包前缀分配给具有 Java 源的文件夹
  6. 在打开的对话框中,指定包前缀,然后单击 "确定"。
  7. 在 "项目结构" 对话框中单击 "确定"。

指定资源的输出路径

在构建过程中,默认情况下将资源复制到编译输出文件夹的根目录中。如果需要,您可以在该输出文件夹中指定一个不同的文件夹。

  1. 打开 “项目结构”对话框(例如按 Ctrl+Shift+Alt+S)。
  2. 在左侧窗格中,选择“模块”。
  3. 在右侧的窗格中,选择需要的模块。
  4. 在对话框的右侧部分,选择“源”选项卡。
  5. 在右侧的窗格中的“资源文件夹”或“测试资源文件夹”,单击 所需文件夹(文件夹路径)右侧的
    IntelliJ IDEA指定资源的输出路径
  6. 在打开的对话框中,指定相对于输出文件夹根目录的路径,然后单击"确定。
  7. 在 "项目结构" 对话框中单击 "确定"。

删除 IntelliJ IDEA 内容根目录

  1. 打开 “项目结构”对话框(例如按 Ctrl+Shift+Alt+S)。
  2. 在左侧窗格中,选择“模块”。
  3. 在右侧的窗格中,选择需要的模块。
  4. 在对话框的右侧部分,选择“源”选项卡。
  5. 在要删除的内容根目录的右侧,单击
    删除 IntelliJ IDEA 内容根目录
  6. 确认您打算删除的内容根目录。(相应的文件夹将不会被物理删除。)
  7. 在 "项目结构" 对话框中单击 "确定"。
IntelliJ IDEA内容根目录的使用
SDK怎么使用
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }