Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   В чём Вы пишете??? (https://javascript.ru/forum/offtopic/21242-v-chjom-vy-pishete.html)

abc_ua 09.09.2011 14:11

B~Vladi,
Хорошо, спасибо. Последняя версия 10.5.1. Про java в курсе, про idea узнал из видео яндекс.субботников, там верстальщик рассказывал о том, как эффективно работать в идее, решил попробовать.

Kolyaj 09.09.2011 14:15

Те видео устаревшие, тогда WebStorm/PhpStorm ещё не было. Для PHP/JavaScript/HTML/CSS лучше использовать их.

abc_ua 09.09.2011 14:56

Kolyaj,
спасибо, сейчас буду изучать

B~Vladi 09.09.2011 15:48

Цитата:

Сообщение от Kolyaj
Для PHP/JavaScript/HTML/CSS лучше использовать их.

Под них до сих пор не портировано куча полезных плагинов из идеи, или я чего-то не знаю?
Я привык делить проекты на модули в идеи и никаких неудобств не испытываю. Чем лучше?

Kolyaj 09.09.2011 15:59

Цитата:

Сообщение от B~Vladi
Чем лучше?

Тем, что легче стартануть. Ты уже стартанул, тебе всё равно.
Ну и IDEA в первую очередь для Java, там всё заточено под разработку на Java.

abc_ua 09.09.2011 16:28

Kolyaj,
еще раз спасибо, WebStorm то, что надо.

monolithed 03.11.2011 10:41

Давно не пользовался WebStorm, решил обновить лицензию.
Не помню, чтобы такое было, но после каждого введенного символа приходится ждать сек., чтобы он появился.
А в настройках после каждого клика 3-4 сек. иногда вообще приходится два раза кликать.

Раньше комп был слабее, а сейчас i5x4, 2x4Gb и жутко тупит.
Может, что в настройках отключить?

B~Vladi 03.11.2011 10:52

Цитата:

Сообщение от monolithed
Может, что в настройках отключить?

Для начала снеси все плагины, посмотри будет ли тупить. Потом по одному включай. Ещё попробуй найти и отключить в настройках Autopopup code completion или что-то типа того.

monolithed 03.11.2011 11:08

Цитата:

Сообщение от B~Vladi
Autopopup code completion

это автокомплит?

Gozar 03.11.2011 12:12

Не знаю как в WebStorm, но похоже беда такая же как и в phpStorm. PHPStorm тупил по страшному если в php файлах подключена подсветка html внутри строк. При отключении беда проходит и autopopup in (ms) всплывающее меню нужно поставить задержку подольше, например на 1000 ms. В общем путем экспериментов. Но установка задержек мало помогает.

B~Vladi 03.11.2011 12:25

Цитата:

Сообщение от monolithed
это автокомплит?

Да, но в виде попапа, т.е. просто предлагаются значения. У меня от этого так же тупила IDEA.
Цитата:

Сообщение от Gozar
autopopup in (ms) всплывающее меню нужно поставить задержку подольше, например на 1000 ms.

Её вообще лучше отключить. Если надо посмотреть варианты - Ctrl + Space покажет тот же попап.

monolithed 03.11.2011 13:23

Autopopup in отключил, Autopopup code completion in поставил 500, вроде по лучше стало, но чем больше файл тем сильней тупит.

B~Vladi 03.11.2011 14:11

Ещё есть попап документации, но он должен быть отключен по умолчанию. Ещё есть (по крайней мере в IDEA) подсветка переменной по всему scope, когда в ней находится курсор и выделение текущего scope, что тоже влияет.

Gozar 03.11.2011 14:12

Цитата:

Сообщение от monolithed (Сообщение 134225)
чем больше файл тем сильней тупит.

Тип файла какой? Тупит он в основном из-за подсветки синтаксиса.

monolithed 03.11.2011 14:30

Цитата:

Сообщение от Gozar
Тип файла какой?

JS 2000 стр.

monolithed 05.11.2011 00:57

Короче, после открытия файла в 9000 стр. (отклик на символ - 4-5 сек!) хотел выкинуть этот редактор.

Написал разработчикам, посоветовали установить WebStorm 3 EAP, к моему удивлению отклик стал мгновенным (тормозит только удаление сток и перевод на новую строку, ну и память жрет 250мб).

float 05.11.2011 03:55

И это супер дупер ИДЕ для профи... та ещё и за сотню с хвостом.

По сабжу.
Не юзаю иде тк мне особо не зачем + у меня очень большой опыт общения с допотопными тачками.
Имею привычку чуть что закрывать прогу и работать в ИДЕ становиться накладно по времени:)
Вот мой выбор:) :

Виктор Кон 05.11.2011 11:39

Прочитал все посты, думал что интересное найду. Не нашел. Очень странная дискуссия. Ведь программ для вэба есть еще не менее сотни к тем что указаны. Для Java я нашел бесплатную BlueJ. Я вообще-то без IDE писал, но постепенно начинает нравится. А сам привык работать в Notepad2 и в Тотал Коммандер, хотя и просто свой редактор написать нетрудно. Я написал vkNotepad с проверкой правописания и очень многими функциями, но в нем нет подсветки синтаксиса, руки не дошли, да и не нужно было. Есть много самодельных редакторов под web. Ссылок не даю так как ими не пользуюсь, не понравились. Просто укажу еще jEdit.

monolithed 05.11.2011 13:19

Notepad++:




WebStorm:



Так и не смог (пока) настроить цветовую схему в WebStorm.
Не в обиду тем кто пользуется WebStorm, но как мне показалось Notepad++ и NetBeans в отклике и потребление памяти в разы превосходят.
Единственный минус Notepad++ - убогий автокомплит, в остальном все те же возможности, что в других IDE.

Gozar 05.11.2011 14:29

Цитата:

Сообщение от monolithed (Сообщение 134581)
Notepad++

Что за шрифтик?

monolithed 05.11.2011 14:56

Consolas

Kolyaj 05.11.2011 23:52

Цитата:

Сообщение от monolithed
Не в обиду тем кто пользуется WebStorm, но как мне показалось Notepad++ и NetBeans в отклике и потребление памяти в разы превосходят.

Что за странная привычка сравнивать абсолютно разные вещи. Разумеется, Notepad++ меньше памяти жрёт, чем WebStorm, он и должен меньше жрать. Потому что Notepad++ -- текстовый редактор, а WebStorm -- среда разработки. Вы ещё Paint и Photoshop сравните.

monolithed 06.11.2011 02:14

Цитата:

Сообщение от Kolyaj
Что за странная привычка сравнивать абсолютно разные вещи.

У Notepad++ очень много плагинов и модулей, в том числе для работы с FTP, CVS, сессиями, сниппетами, компиляцией, отладкой, Zen Coding и пр., что в полне может его характеризовать как IDE.
Да и не в памяти дело, 250мб много, но не критично, как отклик.

Просто не понятно почему они продают продукт фактически не пригодный для работы с файлами больше 1000 строк и не информируют об этом покупателей.
Что им мешает выпустить обновление для старых продуктов, а новый уже пропатченый выкладывать?.

А то: "да, мы знаем это старый баг, мы его уже давно исправили в WebStorm 3".

Единственное, что не понятно, в EAP-версии нельзя ввести ключ, и написано, что скрок истекает в следущем месяце. Теперь каждый месяц качать EAP нужно, если так то зачем тогда вообще покупать?

PS: а вообще этот продукт мне нравится, надеюсь подружимся.

Kolyaj 06.11.2011 09:05

Цитата:

Сообщение от monolithed
У Notepad++ очень много плагинов и модулей, в том числе для работы с FTP, CVS, сессиями, сниппетами, компиляцией, отладкой, Zen Coding и пр., что в полне может его характеризовать как IDE.

Текстовый редактор работает с текстом, IDE -- с кодом. Текстовый редактор оперирует внутри себя текстом, IDE -- деревом программы. Чем текстовый редактор не обвешай, IDE он не станет.


Цитата:

Сообщение от monolithed
Просто не понятно почему они продают продукт фактически не пригодный для работы с файлами больше 1000 строк и не информируют об этом покупателей.

Мало кому надо править такие файлы, поэтому и продают.

SSD диск должен спасти время отклика.

Gozar 06.11.2011 10:17

Цитата:

Сообщение от Kolyaj (Сообщение 134731)
Мало кому надо

Много кому надо, иначе бы не исправили недоработку. Скорее всего они просто не успели оптимизировать код, поэтому такие тормоза заметны.

Kolyaj 06.11.2011 11:15

Цитата:

Сообщение от Gozar
Много кому надо, иначе бы не исправили недоработку

Мало кому надо, иначе это было бы в большем приоритете.

Gozar 06.11.2011 13:34

Цитата:

Сообщение от Kolyaj (Сообщение 134735)
Мало кому надо, иначе это было бы в большем приоритете.

Много кому надо, просто количество багов и глюков продукта поражают воображение.
Если работать хочешь, то лучше не доверять проверкам на валидность и т.д. данной IDE, т.к. она часто видит ошибки там где их нет. Может в 3 версии их исправили, но в 2 было море глюков. Качаешь новую сборку и получаешь новые глюки.

monolithed 08.11.2011 11:46

Kolyaj,
Можно ли как-то в WebStorm отключить автосохранение и автоматическое свертывание блоков кода?

Kolyaj 08.11.2011 12:05

Цитата:

Сообщение от monolithed
отключить автосохранение

Автосохранение это идеология. Ты вообще не должен думать о сохранении, ты просто пишешь код. Переходишь в браузер, обновляешь, а там уже свеженаписанное.

Цитата:

Сообщение от monolithed
автоматическое свертывание блоков кода?

У меня автоматически ничего не сворачивается, может и отключено где-то.

Вообще там в настройках есть клёвый поиск. Если набрать save, то быстро находится вкладка General с галочками Save files on frame deactivation и Save files automatically if application is idle for

x-yuri 08.11.2011 12:56

Цитата:

Сообщение от Kolyaj
Текстовый редактор работает с текстом, IDE -- с кодом. Текстовый редактор оперирует внутри себя текстом, IDE -- деревом программы. Чем текстовый редактор не обвешай, IDE он не станет.

во-первых, то что IDE должна работать с кодом, а не текстом, это придуманное требование. Во-вторых, может это упрощает какие-то задачи, немного, но в результате разница не особо заметна. Например, если я захочу переименовать компонент, оно же за меня это не сделает? А если в процессе рефакторинга (поиска) я наткнусь еще на какую-то проблему и решу сделать еще один поиск, я же не смогу отложить результаты этого поиска в phpstorm, чтобы потом к ним вернуться? Другими словами, что-то типа стека поисков

А зачем такие большие файлы, это да... не знаю, зачем над собой так издеваться. Наверное в их редакторе/ide сложно открывать файлы...

Kolyaj 08.11.2011 13:14

Цитата:

Сообщение от x-yuri
Например, если я захочу переименовать компонент, оно же за меня это не сделает?

Сделает, она же с кодом работает, а не с текстом. Текстовый редактор не сможет переименовать переменную, а IDE сможет. Другое дело, что в JavaScript-е всё достаточно плохо с глобальными переменными и со свойствами, поэтому их крайне аккуратно надо переименовывать, но с локальными переменными проблем нет.

Цитата:

Сообщение от x-yuri
А если в процессе рефакторинга (поиска) я наткнусь еще на какую-то проблему и решу сделать еще один поиск, я же не смогу отложить результаты этого поиска в phpstorm, чтобы потом к ним вернуться?

Процесс рефакторинга автоматический, там не надо всё просматривать, иначе это replace, а не рефакторинг.

x-yuri 08.11.2011 19:11

Цитата:

Сообщение от Kolyaj
Сделает, она же с кодом работает, а не с текстом. Текстовый редактор не сможет переименовать переменную, а IDE сможет.

вообще я имел в виду переименовать название класса и css-селекторы исправить. С первым наверное проблем быть не должно. А со вторым? Или например, переименовать поле БД, которое в частности передается на клиент js-коду.

Цитата:

Сообщение от Kolyaj
Другое дело, что в JavaScript-е всё достаточно плохо с глобальными переменными и со свойствами, поэтому их крайне аккуратно надо переименовывать, но с локальными переменными проблем нет.

думаю, в любом языке, где есть eval. Но что значит "крайне аккуратно"? Поиск/замена? А локальную переменную и в текстовом редакторе легко изменить.

B~Vladi 08.11.2011 22:02

Цитата:

Сообщение от x-yuri
css-селекторы исправить

При правильной настройке IDEA подсветит неизвестные классы (может и переименует, не пробовал) и предложит их создать, с выбором файла. Это конечно если файл стилей будет подключен не через жопушаблонизатор или ещё как.

Не стоит забывать, что все IDE выполняют только статический анализ кода, отсюда много ограничений. Ну и ещё ограничения накладываются языком, о чем писали выше. Но это не значит, что ЯП должен создаваться под IDE (один из плюсов Dart-а). Под кодера - да.
В любом случае это лучше, чем работать с текстом :)

Kolyaj 08.11.2011 22:10

Цитата:

Сообщение от x-yuri
вообще я имел в виду переименовать название класса и css-селекторы исправить. С первым наверное проблем быть не должно. А со вторым? Или например, переименовать поле БД, которое в частности передается на клиент js-коду.

Если переименовать CSS-класс, селекторы должны поправиться, о связке CSS-HTML IDE знает. А вот о том, как ты связываешь поля БД с js-кодом IDE знать не может. Разумеется, если у тебя есть чёткая идеология, можно плагин соответствующий написать.


Цитата:

Сообщение от x-yuri
Но что значит "крайне аккуратно"? Поиск/замена?

Например, есть у тебя два файла, которые никогда не подключаются вместе на одну страницу. В каждом файле есть переменная varName. Получается, что это две разных переменных, но они обе глобальные, поэтому переименовывая одну, переименуешь другую. Хотя в целом в WebStorm это всё нормально работает, я просто не доверяю ей до конца.


Цитата:

Сообщение от x-yuri
А локальную переменную и в текстовом редакторе легко изменить.

Поиск/замена? Давай представим переменную i, которую нужно переименовать. И функция всего на 50 строк. В результате всё равно будешь выискивать глазами её. И хорошо если все использования найдёшь, текстовый редактор тебе не покажет переменную, у которой не было var, в отличие от IDE.

А без таких функций, как go to declaration и find usages совсем плохо.

x-yuri 09.11.2011 01:25

Цитата:

Сообщение от B~Vladi
При правильной настройке IDEA подсветит неизвестные классы (может и переименует, не пробовал) и предложит их создать, с выбором файла.

в смысле?

Цитата:

Сообщение от B~Vladi
Но это не значит, что ЯП должен создаваться под IDE (один из плюсов Dart-а).

не понял, в чем заключается плюс

Цитата:

Сообщение от Kolyaj
Давай представим переменную i, которую нужно переименовать. И функция всего на 50 строк. В результате всё равно будешь выискивать глазами её. И хорошо если все использования найдёшь, текстовый редактор тебе не покажет переменную, у которой не было var, в отличие от IDE.

в текстовом редакторе это просто будет немного сложнее, хотя от редактора зависит. Например, в vim заменить эту переменную на j можно так: *Nsjn.n.n.n. При этом будет подсветка найденных строк. Использования найду все. Про не было var не понял, мы же про локальную переменную говорим. А собственно, можешь сказать, какой именно рефакторинг возможен/можно доверять в phpstorm?

Цитата:

Сообщение от Kolyaj
Процесс рефакторинга автоматический, там не надо всё просматривать, иначе это replace, а не рефакторинг.

рефакторинг, только в простейших случаях можно автоматизировать, особенно в динамических языках. И возможность посмотреть, что будет после рефакторинга в phpstorm есть, насколько я помню.

Цитата:

Сообщение от Kolyaj
А без таких функций, как go to declaration и find usages совсем плохо.

go to declaration... вряд ли, разве что для чужого кода. find usages... может быть. Но это уже что-то близкое к поиску с семантикой и это бы не помешало. Все время забываю попробовать рефакторинг и поиск в phpstorm для каких-то более менее сложных задач...

вообще, понять что важно, а что просто приятно, можно перестав этим пользоваться на значительное время. Cемантика при поиске по проекту - это важно :)

monolithed 09.11.2011 08:40

Цитата:

Сообщение от Kolyaj
Автосохранение это идеология.

Возможн это дело привычки, нр все же возможность отключения должна быть.
К примеру, в файле, я могу что-то править, но сохранять не буду (помню что не нажимал Ctrl+S), потом без всякой мысли переношу этот файл в другом редакторе (например в FAR), на сервер по SSH, а там сохранено, то что я не планировал сохранять.

Конечно можно из WebStorm по SFTP загружать файлы, но мне пока удобней раздельно это делать, т.к. есть есть файлы (например С++), с которыми я работаю в другом редакторе. Может кагда-нибудь все автоматизирую))

Я бы понял если бы после закрытия проекта, команды Ctrl+Z/Ctrl+Y(Ctrl+Shift+Z) работали как в Mac, но тут то не так, нужно лезть в историю проекта или же коммитить каждую мелочь.

Kolyaj, а как сделать refresh path, т.е. пересканирование файлов в одной из директорий проекта?

Kolyaj 09.11.2011 09:14

Цитата:

Сообщение от x-yuri
Например, в vim заменить эту переменную на j можно так: *Nsjn.n.n.n.

Я не понял, что это значит :) Это решит проблему, что вокруг полно букв i, которые не относятся к этой переменной?


Цитата:

Сообщение от x-yuri
Про не было var не понял, мы же про локальную переменную говорим.

Если мы локальную переменную i заменим на j, а в одном месте забудем переименовать, то в том месте образуется глобальная переменная i.
Ещё я очень часто вижу такое
var var1 = '',
    var2 = '',
    var3 = '';

Которое после нескольких добавлений/удалений переменных в каком-нибудь Notepad++ превращается в
var var1 = '',
    var4 = '';
    var5 = '';
Storm тут засветится всякими неприятными цветами, Notepad++ не поймёт, что здесь ошибка, и заметить её будет проблематично.


Цитата:

Сообщение от x-yuri
go to declaration... вряд ли, разве что для чужого кода.

Для чужого само собой. Но и в своём всегда приятней нажать на имя функции и перейти к её определению, чем сначала найти нужный файл, а потом найти нужное место в этом файле. А можно просто нажать на функции Ctrl+Shift+I и Storm покажет исходники функции, не переходя к ней.
Советую посмотреть файл Default keymap reference, там много интересных сочетаний клавиш есть.


Цитата:

Сообщение от x-yuri
А собственно, можешь сказать, какой именно рефакторинг возможен/можно доверять в phpstorm?

Что возможно -- можно посмотреть в меню Refactor. Я активно пользуюсь Rename variable, Inline variable и вроде всё из рефакторинга. Хотя если в Storm-е переименовать CSS-файл, например, то пути к нему в HTML-файлах сами поменяются.

Kolyaj 09.11.2011 09:16

Цитата:

Сообщение от monolithed
К примеру, в файле, я могу что-то править, но сохранять не буду (помню что не нажимал Ctrl+S), потом без всякой мысли переношу этот файл в другом редакторе (например в FAR), на сервер по SSH, а там сохранено, то что я не планировал сохранять.

Это вообще что-то странное: что-то писал, но сохранять не собирался.

Цитата:

Сообщение от monolithed
Kolyaj, а как сделать refresh path, т.е. пересканирование файлов в одной из директорий проекта?

Ctrl+Alt+Y пересканирует обычно, но он это всегда по тихому делает, так что и непонятно, делает ли.

monolithed 09.11.2011 09:31

Цитата:

Сообщение от Kolyaj
Это вообще что-то странное: что-то писал, но сохранять не собирался.

Ну бывает так особенно под конец рабочего дня)
Цитата:

Сообщение от Kolyaj
Ctrl+Alt+Y пересканирует обычно

Спс, поиск в настройках это действительно круто, нигде такого не видел!
Цитата:

Сообщение от Kolyaj
но он это всегда по тихому делает, так что и непонятно, делает ли.

Ну не сразу это точно)

Gozar 09.11.2011 10:25

monolithed,
Галка:
Сохраняем на сервер автоматически: Deployment>Options>Upload changed files automatically to ...
Галки: General>Synchronization
Синхронизайя файлов при активации фрейма и сохранение файла при деактивации фрейма


Часовой пояс GMT +3, время: 00:58.