Открыть файл на IntelliJ из iTerm 2

У меня есть выход в iTerm, как:

  File project/path/path/file.py:56:54 extra text information

Как я могу открыть этот файл в IntelliJ одним щелчком мыши?

Ответы

Ответ 1

IntelliJ имеет функции командной строки, которые вы можете проверить здесь:

https://www.jetbrains.com/help/idea/2016.2/working-with-intellij-idea-features-from-command-line.html

iTerm также позволяет запускать порядок командной строки, когда мы используем cmd and click на шаблон пути к файлу.

Вам нужно всего лишь перейти к настройкам iTerm, профилям, продвинутым, семантической истории

iTerm configuration

В семантической истории установите флажок "Run Comand.." и добавьте в качестве команды:

/Applications/IntelliJ\ IDEA.app/Contents/MacOS/idea  \1 --line \2

IntelliJ должен быть в текущем проекте. Вы можете применить проект:

/Applications/IntelliJ\ IDEA.app/Contents/MacOS/idea <project_path> \1 --line \2

или событие использует \5 в качестве пути проекта, \5 - это pwd в текущем каталоге терминала.

У меня были лучшие результаты с первой конфигурацией.

Примечание: с IntelliJ Idea 2019.1 я использовал: /Applications/IntelliJ\ IDEA.app/Contents/MacOS/idea --line \2 \1


Я перехожу к pycharm, и в настоящее время я использую эту строку:

/Applications/PyCharm.app/Contents/MacOS/pycharm  \1 --line \2

Ответ 2

Принятый ответ не совсем сработал для меня. Я закончил тем, что использовал:

open -a "IntelliJ IDEA" \1

Ответ 3

Я могу подтвердить, что следующая команда работает с номерами строк или без них при вводе в iTerm2> Настройки> Профили> Дополнительно> Семантическая история> Команда запуска:

 [ -z \2 ] && /usr/local/bin/idea \1 || /usr/local/bin/idea --line \2 \1

Это использует тот факт, что IntelliJ IDEA устанавливает в сценарий /usr/local/bin idea сценария запуска пула командной строки командной строки и требует, чтобы проект, в котором файл находился, был открыт (несколько проектов могут быть открыты, и он все равно найдет исправьте.)

Команда проверяет, не указан ли аргумент номера строки \2; если он есть, он будет исключать номер строки, иначе он будет указывать его с помощью --line. \1 - это имя файла, включая путь.

Чтобы увидеть все доступные варианты idea:

/usr/local/bin/idea --help

Окружающая среда:

  • iTerm2 3.1.7
  • IntelliJ IDEA CE 2018.1.5
  • macOS High Sierra 10.13.4

Ответ 4

Может быть, вы можете просто использовать Tools > Create Commandline Launcher командной Tools > Create Commandline Launcher в Intellij или других JetEbins IDE.

Ответ 5

Для тех, кто использует Jet Brains Toolbox App на MacOS. Я сделал этот простой bash-скрипт для открытия файла из iTerm в установленной на данный момент версии WebStorm. А вот команда для использования в настройках iTerm (Настройки> Профили> Дополнительно> Семантическая история> Запустить сопроцесс)

/path/to/run_webstorm_launcher.sh --line \2 \1

Спасибо Грэму Пайлу за размещение специальных аргументов в WebStorm.
Вот содержание run_webstorm_launcher.sh

#!/bin/bash

# Use this to pass an arguments to the latest WebStorm launcher in macOS
# in iTerm > Settings > Profiles > Advanced > Semantic History > Run coprocess
# path/to/run_webstorm_launcher.sh --line \2 \1
"$(grep -o '/.*/webstorm' /usr/local/bin/webstorm)" "[email protected]"