Обновление PHP Storm приводит к значку «?»

16

Я установил PHPStorm 2016.1 на свою систему через cd /opt && tar -xzvvf file.tar.gzЗатем я запустил bin/phpstorm.shиз командной строки и заблокировал получившийся значок в панели запуска.

Затем прошло время, и вышла новая версия. Я удалил значок, скачал новую версию и повторил шаблон. Тем не менее, это новый значок:

Иконка PHPStorm

Что я могу сделать, чтобы это исправить?

Джастин Даринг
источник

Ответы:

35

Более простой способ будет:

  1. значок разблокировки в лаунчере
  2. распакуйте новую версию в любое удобное вам место
  3. sh /bin/phpstorm.sh
  4. когда вас спросят, хотите ли вы использовать старые настройки, вы захотите указать phpstormна старый .phpstormкаталог
  5. зайдите в Toolsменю на PhpStorm и выберите Create Desktop Entry...из выпадающего списка
  6. когда вас спросят, хотите ли вы перезаписать прежнюю настольную запись, примите и все готово.
  7. снова заблокируйте свою иконку
Джордж Удосен
источник
2
Шаг № 5 является реальным ключом. Я не знал об этом. Спасибо :)
hosseio
Это меню не появляется с PhpStorm 2019.1. У кого-нибудь есть обходной путь?
Грегуар
Возможно, вам следует поговорить со службой поддержки, поскольку я не думаю, что это нормально, если что-то не изменилось!
Джордж Удосен
12

Ответом в моем случае было удаление .desktopфайла. Это было в глобальном местоположении. Я думаю, что я должен был запустить PHPStorm от имени root в какой-то момент. Команда была

sudo rm /usr/share/applications/jetbrains-phpstorm.desktop

Затем я перезапустил phpstorm, заблокировал иконку, вышел и перезапустился через лаунчер.

$ cat ~ / .local / share / Applications / jetbrains-phpstorm.desktop

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=campaign-drive - [~/src/campaign-drive] - UserRepository.php - PhpStorm 2016.2
Icon=jetbrains-phpstorm.png
Exec=/opt/PhpStorm-162.1121.38/bin/../jre/jre/bin/java -Xbootclasspath/a:/opt/PhpStorm-162.1121.38/bin/../lib/boot.jar -classpath /opt/PhpStorm-162.1121.38/bin/../lib/bootstrap.jar:/opt/PhpStorm-162.1121.38/bin/../lib/extensions.jar:/opt/PhpStorm-162.1121.38/bin/../lib/util.jar:/opt/PhpStorm-162.1121.38/bin/../lib/jdom.jar:/opt/PhpStorm-162.1121.38/bin/../lib/log4j.jar:/opt/PhpStorm-162.1121.38/bin/../lib/trove4j.jar:/opt/PhpStorm-162.1121.38/bin/../lib/jna.jar:/opt/PhpStorm-162.1121.38/bin/../jre/lib/tools.jar -Xms128m -Xmx750m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Dawt.useSystemAAFontSettings=lcd -Djb.vmOptionsFile=/opt/PhpStorm-162.1121.38/bin/phpstorm64.vmoptions -XX:ErrorFile=/home/zippy1981/java_error_in_PHPSTORM_%p.log -XX:HeapDumpPath=/home/zippy1981/java_error_in_PHPSTORM.hprof -Djb.restart.code=88 -Didea.paths.selector=PhpStorm2016.2 -Didea.platform.prefix=PhpStorm com.intellij.idea.Main
StartupNotify=false
StartupWMClass=jetbrains-phpstorm
OnlyShowIn=Unity;
X-UnityGenerated=true
Джастин Даринг
источник
После удаления старого значка .desktop вместо создания ярлыка вручную я запускаю ./phpstorm.shскрипт и блокирую значок.
gmsantos
0
$ cat ~/.local/share/applications/jetbrains-phpstorm.desktop 

затем проверьте строку для значка

[Desktop Entry]
Version=1.0
Type=Application
Name=PhpStorm
Icon=/home/aubrey/PhpStorm/bin/phpstorm.png
Exec="/home/aubrey/PhpStorm/bin/phpstorm.sh" %f
Comment=Develop with pleasure!
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-phpstorm

редактировать файл

 $sudo nano ~/.local/share/applications/jetbrains-phpstorm.desktop 

Перейдите в вашу папку установки phpstorm, затем перейдите в / bin и проверьте имя значка, затем замените имя значка phpstorm.png на имя значка в / bin вашей установочной папки phpstorm.

user795334
источник