PhpStorm cannot create scratch files
I have been using PhpStorm for a decade now I believe that it is the best IDE for PHP developers.
TLDR
Linux: Check the permissions in
~/.config/JetBrains/PhpStorm2023.3/
for thescratches
folder. (your PhpStorm version might be different so check the folder name also.
Storytime
I have recently come across an error that took a bit to figure out.
Whenever I would press Ctrl+Shift+Alt Insert
in order to create a new scratch file, I would be presented with a message could not create file scratch.php. Clearly a permissions issue but where is the file created?
In my Linux station I first checked under ~/.local
$ ls -la .local/share/
total 168
drwx------ 19 nikos nikos 4096 Dec 7 08:42 .
drwx------ 4 nikos nikos 4096 Nov 29 13:18 ..
drwxr-xr-x 2 nikos nikos 4096 Nov 30 11:49 applications
...
drwxr-xr-x 3 nikos nikos 4096 Dec 7 08:34 JetBrains
...
drwx------ 5 nikos nikos 4096 Dec 2 09:13 Trash
That is probably it, but checking all the files under the JetBrains
folder showed no change in permissions or the owner.
After a bit of digging I opted to check the ~/.config
folder, which is usually the place where configuration files are stored.
$ ls -la .config/
total 108
drwx------ 22 nikos nikos 4096 Dec 7 08:23 .
drwx------ 30 nikos nikos 4096 Dec 7 08:34 ..
drwxr-xr-x 2 nikos nikos 4096 Nov 30 11:57 autostart
...
drwxr-xr-x 3 nikos nikos 4096 Nov 29 18:41 JetBrains
...
-rw-r--r-- 1 nikos nikos 27 Nov 29 13:18 xdg-terminals.list
And there it is, the JetBrains
folder. Looking a bit deeper:
$ ls -la .config/JetBrains/PhpStorm2023.3/
total 148
drwxr-xr-x 13 nikos nikos 4096 Dec 7 08:34 .
drwxr-xr-x 3 nikos nikos 4096 Nov 29 18:41 ..
-rw-r--r-- 1 nikos nikos 3027 Dec 2 19:24 bundled_plugins.txt
drwxr-xr-x 2 nikos nikos 4096 Nov 29 18:48 codestyles
drwxr-xr-x 2 nikos nikos 4096 Nov 29 18:48 colors
-rw-r--r-- 1 nikos nikos 1077 Nov 29 18:43 disabled_plugins.txt
-rw-r--r-- 1 nikos nikos 0 Dec 5 10:42 disabled_update.txt
-rw-r--r-- 1 nikos nikos 93 Dec 7 08:33 early-access-registry.txt
drwxr-xr-x 5 nikos nikos 4096 Nov 29 18:44 event-log-metadata
drwxr-xr-x 2 nikos nikos 4096 Nov 29 18:48 inspection
drwxr-xr-x 2 nikos nikos 4096 Nov 29 18:49 jdbc-drivers
-rw-r--r-- 1 nikos nikos 6 Dec 7 08:34 .lock
drwxr-xr-x 2 nikos nikos 4096 Dec 7 08:42 options
-rw-r--r-- 1 nikos nikos 10 Nov 29 18:42 phpstorm64.vmoptions
-rw-r--r-- 1 nikos nikos 31076 Dec 2 19:23 phpstorm.key
-rw-r--r-- 1 nikos nikos 31076 Nov 29 18:50 plugin_PCWMP.license
drwxr-xr-x 2 root root 4096 Nov 30 21:41 scratches <====
drwxr-xr-x 8 nikos nikos 4096 Nov 29 18:43 settingsSync
drwxr-xr-x 2 nikos nikos 4096 Nov 29 18:41 ssl
drwxr-xr-x 2 nikos nikos 4096 Dec 5 09:06 tasks
-rw-r--r-- 1 nikos nikos 6431 Dec 7 08:24 updatedBrokenPlugins.db
-rw------- 1 nikos nikos 36 Dec 5 09:06 user.web.token
drwxr-xr-x 2 nikos nikos 4096 Dec 7 08:42 workspace
After this, it was just a matter of setting the owner for the file:
sudo chown nikos:nikos -R ~/.config/JetBrains/PhpStorm2023.3/scratches
and now the scratches are working in PhpStorm.
I hope this helps.
-
Nikolaos Dimopoulos
Boldly goes where no other coder has gone before.... and other ramblings
Recent Posts
-
Setting up Docker for Qubes OS
2024-10-05 -
PhpStorm cannot create scratch files
2023-12-07 -
PHP 8.2 Deprecation of Dynamic Properties
2023-07-18 -
New Look
2023-06-12 -
Linux Swap file in RAM
2023-04-17
Tag Cloud
-
amazon (3)
android (1)
angularjs (7)
apps (1)
aurora (1)
aws (1)
backup (2)
bash (1)
bitbucket (1)
blog (2)
books (1)
bootstrap (1)
buzz (1)
cPanel (1)
cache (1)
celebrations (4)
chromium (3)
chromium os (3)
cloud computing (3)
codacy (1)
codecov (1)
communications (1)
composer (1)
conversion (1)
copy (1)
degoogle (5)
design (1)
design patterns (3)
discord (1)
docker (1)
docs (3)
documentation (1)
ec2 (3)
emerge (1)
encoding (1)
factory (1)
froyo (1)
fujitsu (1)
gentoo (7)
git (3)
github (2)
gmail (3)
google (16)
google apps (4)
google maps (1)
gource (1)
ha (1)
hosting (2)
how to (36)
igbinary (1)
information (5)
input (1)
installation (6)
internet (1)
iphone (1)
json (2)
libreoffice (1)
linux (13)
localization (1)
lts (1)
mariadb (1)
memorial day (1)
metrics (1)
migration (1)
mod_rewrite (1)
mov (1)
mp4 (1)
mysql (6)
nas (1)
netlify (1)
new look (1)
nexus one (2)
nfs (1)
notebook (1)
online storage (1)
openoffice (1)
opinion (1)
oracle (1)
patterns (1)
payroll (1)
performance (3)
personal (9)
phalcon (12)
php (23)
php8 (2)
php82 (1)
phpstorm (1)
phpunit (2)
picasa (2)
portage (1)
privacy (1)
programming (9)
proxy (1)
qubes os (1)
rant (5)
rdbms (1)
rds (1)
relationships (1)
release (1)
remove (1)
replication (1)
review (9)
rsync (2)
s1300 (1)
scan (1)
scratch (1)
serialize (1)
series (9)
singleton (1)
sorting (1)
spaceship (1)
spam (1)
ssl (1)
static (1)
storage (6)
submodules (1)
subversion (2)
svn (1)
swap (1)
tdd (1)
technorati (1)
test driven development (1)
testability (1)
testing (2)
titles (1)
traits (1)
ua (1)
ubuntu (1)
update (6)
upgrade (1)
usa (2)
usort (1)
utf8 (1)
video (1)
visualization (1)
vps (1)
webm (1)
website (1)
wget (1)
zend framework (4)
zram (1)
zstd (1)