写这个是因为和之前写的 Windows文件(名/夹)大小写敏感识别方法 这篇文章相关
我是做python数据开发,主要在公司的linux服务器上做开发,linux文件系统对文件名大小写是敏感(case-sensitive)的,但是有时候不想去公司加班,想在家做,于是scp到本地的windows机器上,可scp过后很多文件会缺失。
公司的脚本作用要主要体现在文件名上,但是有时候有几个版本的开发脚本,难免会有用到大小写来区别,比如有一个脚本叫做DataReceiver.py
,但是有第二个版本的数据处理方式,又要保留第一种方式,就会有可能采用dataReceiver.py
来作为文件名,这样在Linux这种系统上是没有大碍的,它可以识别大小写,但是在windows上只会识别一种(mac os默认也是这样,但是也可以设置),至于优先级的高低这个问题我暂时没搞清楚,总之只会保留一个。
在Windows文件(名/夹)大小写敏感识别方法 这里我讲述了怎么修改windows开启大小写敏感的方法,可是再到IDE上又会有别的问题,平时我主要的开发工具就是Jetbrains家的pycharm了,当然vim也是。
在windows上设置文件名大小写敏感之后,打开IDE,发现目录里面还是只有大小写筛选出来的一个文件,当时我还以为我没有正确开启windows的大小写敏感,到资源管理里边去看,发现文件是有的,并没有问题。那么问题就是在IDE身上了,Google一番之后发现JetBrains的产品会先判定系统是什么系统,然后设定文件系统类型,再以此来对文件筛选。
这是JetBrains的Help文档: Filesystem Case-Sensitivity Mismatch
虽然是对java的IDEA的说明,但是对JetBrains的产品通用,CLion或者说GoLand什么的等等,pycharm也一样。
如果愿意的话可以自己到Help文档当中具体看看官方的说明,接下来说一下怎么解决case-sensitive的问题。
(可能老版本的IDE部分情况会不一样,根据实际来操作,因为JB的产品设计差不多风格我就以Pycharm为例了)
-
打开IDE,最上方菜单栏找到最后一个
Help
选项
-
找到
Help
中的Edit Custom Properties...
选项,打开
过后IDE会提示不存在这个配置文件,是否创建,点击Yes
或者Agree
即可。
然后会在系统的用户目录的应用数据目录(即AppData
)对应的应用文件夹下创建一个名为idea.properties
的配置文件。 -
配置
idea.properties
文件
在配置文件中添加这样一行配置即可idea.case.sensitive.fs=true
保存退出重启即可生效了
Addition:
- 如果发现没有生效的话尝试采用别的编辑器打开这个配置文件,确认无误后再次保存退出。因为我个人在配置的时候发现没能生效,后来用别的编辑器打开发现多了一个字母s,不知道是不是因为我Ctrl + s的手误还是IDE的问题。