Pull to refresh

Comments 21

перебивание получилось изза задержек скайпа
Лично для меня это был первый опыт записи подкаста через Скайп и домашние наушники ;-) Так-что прошу прощения.
Встроенный терминал в IDEA 13 CE валится:
null
java.lang.ExceptionInInitializerError
	at com.pty4j.unix.Pty.ptyMasterOpen(Pty.java:116)
	at com.pty4j.unix.Pty.openMaster(Pty.java:158)
	at com.pty4j.unix.Pty.<init>(Pty.java:40)
	at com.pty4j.PtyProcess.exec(PtyProcess.java:59)
	at com.pty4j.PtyProcess.exec(PtyProcess.java:47)
	at org.jetbrains.plugins.terminal.LocalTerminalDirectRunner.createProcess(LocalTerminalDirectRunner.java:71)
	at org.jetbrains.plugins.terminal.LocalTerminalDirectRunner.createProcess(LocalTerminalDirectRunner.java:32)
	at org.jetbrains.plugins.terminal.AbstractTerminalRunner.openSession(AbstractTerminalRunner.java:175)
	at org.jetbrains.plugins.terminal.AbstractTerminalRunner.createTerminalWidget(AbstractTerminalRunner.java:96)
	at org.jetbrains.plugins.terminal.TerminalView.createTerminalInContentPanel(TerminalView.java:114)
	at org.jetbrains.plugins.terminal.TerminalView.initTerminal(TerminalView.java:62)
	at org.jetbrains.plugins.terminal.TerminalToolWindowFactory.createToolWindowContent(TerminalToolWindowFactory.java:17)
	at com.intellij.openapi.wm.impl.ToolWindowImpl.ensureContentInitialized(ToolWindowImpl.java:449)
	at com.intellij.openapi.wm.impl.ToolWindowManagerImpl$11.run(ToolWindowManagerImpl.java:528)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:346)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:694)
	at java.awt.EventQueue$3.run(EventQueue.java:692)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:696)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:524)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:335)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: java.lang.RuntimeException: Pty4J has no support for OS FreeBSD
	at com.pty4j.unix.PtyHelpers.<clinit>(PtyHelpers.java:210)
	... 32 more
Хм, эксепшн «Pty4J has no support for OS FreeBSD» явно от Pty4J. Операционка неправильно определяется. Отправил разработчикам, сообщу если появится информация на этот счет.

Видимо кто-то KDE2 пропатчил неправильно. ;-)
У меня:
> uname -rsm
FreeBSD 10.0-PRERELEASE amd64
> java -version
openjdk version "1.7.0_45"
OpenJDK Runtime Environment (build 1.7.0_45-b18)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
Оболочка — /bin/tcsh

(Графическая среда Xfce4 4.10, а не KDE2, если это кому-то поможет.)
Спасибо, не помешает. Насчет KDE2 — шутка :)
Ну, система PC-BSD всё-таки разрабатывается не просто так, а как ещё одна альтернатива свободного Unix-десктопа. Это натуральная FreeBSD с добавленными плюшками.

Некоторые пользуются FreeBSD потому, что там, в отличие от популярных дистрибутивов Linux, довольно высокая скорость портирования новых версий ПО. Конечно, есть условности и трудные моменты, если у такого ПО есть завязки на конкретную операционную систему или окружение. Например, Eclipse и OpenJDK портируются на FreeBSD с задержкой из-за специфических зависимостей от известных ОС и/или отсутствия прямой поддержки этой ОС производителем ПО. В IBM, например, по всем признакам вообще не знают про эту операционную систему, и в статьях IBM developerworks она практически не упоминается. Код Eclipse, изобилующий многочисленными операторами условной компиляции #ifdef, годен только для Windows, Linux и MacOSX, но портеры и с этим как-то справляются. Ещё. Последнее обновление OpenJDK7u45 мы получили через два месяца после официального анонса. С чем связана последняя задержка обновления openjdk7 не могу сказать, но порт linux-sun-jdk17 обновился довольно быстро.
Ой. Я просто удивился как andreycheptsov угадал половину шутки про KDE2 под FreeBSD. Больше ничего не имел ввиду. Чесслово.
Раз уж пошёл разговор о новых фичах в IDEA, скажите, у неё есть возможность переформатирования исходного кода (Java, например) при сохранении редактируемого файла? То есть, есть ли возможность не нажимать Ctrl+Alt+L в окне редактора, а нажать Ctrls+s, и код переформатируется и сохранится?

Далее, замечание касается блока импорта в редакторе кода Java-программы. Существует ли способ настройки IDE сделать так, чтобы в импорт включались только конкретные классы и статические методы без всяких glob pattern match (*). Например, мне нужно объявить несколько объектов классов из пакета java.sql, может ли IDEA импорт по шаблону:
import java.sql.*;
«развернуть» в список из импортов конкретных классов:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
Может есть какая-то комбинация клавиш на этот счёт или опция настроек?
Автоформатирование при сохранении нет. Я так понимаю это навеяно аналогом в Eclipse, так?

По поводу второго:

image
Автоформатирование кода при сохранении и автоматическая оптимизация блока импорта навеяны Netbeans 7.4.

Ещё заметил различие в порядке сортировки импортов.

IDEA:
import javax.annotation.Resource;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
import javax.sql.DataSource;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;


Netbeans:
import java.io.Serializable;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Resource;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
import javax.sql.DataSource;

Причём настройки форматирования импорта в Netbeans гораздо более подробные (вплоть до правил форматирования импорта вложенных публичных классов).
UPD: фиксится в настройках форматирования импорта IDEA.
есть ли возможность не нажимать Ctrl+Alt+L в окне редактора, а нажать Ctrls+s, и код переформатируется и сохранится?


Я спрашивал когда-то об этом в support, там мне ответили:

… также можно переформатировать код при коммите в VCS. В Эклипсе вам нужно вручную нажимать Ctrl+S для сохранения файла, в IDEA файлы сохраняются автоматически, если у вас привычка что файлы переформатируются при сохранении, сделайте Ctrl+S горячей кнопкой для Reformat Code.

А они не сказали, КОГДА файлы сохраняются автоматически? (А то вдруг электричество кончится «на самом интересном месте», а у тебя файлы непонятно-в-каком состоянии — то ли сохранились, то ли нет, а ты до этого только и делал, что форматировал код...).
Это настраивается, File -> Settings -> General

А чтобы файлы не были в непонятно каком состоянии — опцию Safe write лучше не выключать.
Там ещё есть один пункт «Save files automatically if application is idle for [15] sec.» Этот пункт лично у меня не отмечен галочкой. Можно ли надеяться, что отформатированные файлы всё равно будут «безопасно записаны» и не будет неконсистенции при внезапном пропадании заряда батарейки (у ноутбука)?
Отличный выпуск! Спасибо большое гостю и ведущим. Моментами получилось сумбурно, но в целом, все равно, очень хорошо и по делу.
После неоднократных падений и рестартов IDEA заметил несколько процессов java c gradle в памяти. После выхода из среды пришлось последовательно прибивать их руками.
Sign up to leave a comment.

Articles