idea - JetBrains 系列软件内置IDE宏参数

文章介绍了在使用pyqt进行pythonGUI开发时,如何配置IDE的ExternalTools来处理项目中深层目录的文件。通过研究IDE的内置宏参数,如$FileDir$和$FileParentDir$,可以获取当前选中文件的完整路径或父目录,解决只能处理第一层文件的问题。这对于提高开发效率和文件管理非常有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前情提要:

最近在学习pyqt框架进行pythonGUI的开发,安装过程中有需要将一个python脚本配置成IDE的 External Tools 方便使用

在这里插入图片描述
可以达到的效果是在项目管理器中选中一个文件即可对这个文件格式进行转换

但是缺点是只能选中目录中的第一层文件 因为脚本中的宏替换为projectDir

当我们的文件处于项目深层目录中讲无法找到文件

深度思考> 既然projectDir为项目目录,那是否可以拿到当前选中的那个文件的父目录呢

进行一番搜寻找到了答案

以下是idea IDE内置的所以宏参数

宏观描述
$AffectedModuleNames$与当前文件相关的https://www.jetbrains.com/help/idea/creating-and-managing-modules.html的名称,以逗号分隔。
$Classpath$项目的完整类路径。
$ClasspathEntry$ 类路径中与当前文件相关的条目。
$ClipboardContent$系统剪贴板的当前内容。
$ColumnNumber$插入符号在当前文件中所在的列号。
$ContentRoot$当前文件所属https://www.jetbrains.com/help/idea/content-roots.html目录的路径。
$FileClass$由当前文件定义的类的名称。
$FileDir$包含当前文件的目录的绝对路径。
$FileDirName$包含当前文件的目录的名称。
$FileDirPathFromParent(dir)$包含当前文件的目录的路径,该目录相对于指定为参数的父目录。dir
$FileDirRelativeToProjectRoot$包含相对于模块https://www.jetbrains.com/help/idea/content-roots.html目录的当前文件的目录的路径。
$FileDirRelativeToSourcepath$包含相对于源路径根目录的当前文件的目录的路径。
$FileEncoding$当前文件的https://www.jetbrains.com/help/idea/encoding.html。
$FileExt$当前文件的扩展名。
$FileFQPackage$当前文件的完全限定包名称。例如,在 com.example.mypackage.MyClass 的情况下,包的完全限定名称是 com.example.mypackage。
$FileName$当前文件的名称(包括所有扩展名)。
$FileNameWithoutAllExtensions$不带任何扩展名的当前文件的名称。当文件的扩展名被复制时,这很有用。它将删除任何句点和随后的所有内容。例如,如果文件为 hello.txt.txt,则宏将返回 hello。$FileNameWithoutAllExtensions$
$FileNameWithoutExtension$不带扩展名的文件的名称。这只会删除一个句点,后跟一个扩展。例如,如果文件为 hello.txt.txt,则宏将返回 hello.txt。$FileNameWithoutExtension$
$FilePackage$当前文件的即时包名称(不完全限定)。例如,在 com.example.mypackage.MyClass 的情况下,包的名称是 mypackage。
$FileParentDir$当前文件所在目录的父目录的名称。
$FilePath$当前文件的绝对路径。
$FilePathRelativeToProjectRoot$相对于模块内容https://www.jetbrains.com/help/idea/content-roots.html目录的当前文件的路径。
$FilePathRelativeToSourcepath$相对于源路径根目录的当前文件的路径。
$FilePrompt$显示用于选择文件的文件系统对话框。
$FileRelativeDir$当前文件相对于模块https://www.jetbrains.com/help/idea/content-roots.html目录所在的目录的路径。
$FileRelativePath$相对于模块内容https://www.jetbrains.com/help/idea/content-roots.html目录的当前文件的路径。
$IsMake$如果使用 执行编译,则返回。truemake
$JavaDocPath$JavaDoc 输出目录。
$JDKPath$项目https://www.jetbrains.com/help/idea/sdk.html#jdk的路径。
$LineNumber$插入符号在当前文件中所在的行号。
$ModuleFileDir$当前模块文件所在目录的绝对路径。
$ModuleFilePath$当前模块文件的绝对路径。
$ModuleName$不带扩展名的当前模块文件的名称。
$ModuleSdkPath$当前模块的 https://www.jetbrains.com/help/idea/sdk.html#change-module-sdk 的路径。
$ModuleSourcePath$当前模块的源路径。
$OutputPath$当前模块的输出路径。
$ProjectFileDir$当前项目目录的绝对路径。
$ProjectName$当前项目目录的名称。
$Projectpath$当前项目的源路径。
$Prompt$显示传递任意字符串的对话框。
$RemoteProjectFileDir$远程服务器上项目目录的绝对路径。
$SelectedText$ 编辑器中当前选定的文本。
$SelectionEndColumn$所选内容结束的列号。
$SelectionEndLine$所选内容结束的行号。
$SelectionStartColumn$所选内容开始的列号。
$SelectionStartLine$所选内容开始的行号。
$Sourcepath$项目的完整源路径。
$SourcepathEntry$源路径中与当前文件相关的条目。
$UnixSeparators(path)$采用路径作为参数,并将所有分隔符转换为正斜杠。例如,将返回 .$UnixSeparators(\foo\bar)$/foo/bar

pycharm 与idea的环境变量稍有不同 请酌情使用

参考来自:
https://www.jetbrains.com/help/pycharm/built-in-macros.html

https://www.jetbrains.com/help/idea/built-in-macros.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值