LINUX.ORG.RU

Посоветуйте редактор для веб-разработки с индексацией файлов

 , , ,


0

2

Ковыряю yii2, который на php. Утомляет прописывать полный путь к файлу каждый раз, например:

$this->registerJsFile('@web/js/some.js' ...и дальше доп.опции идут)

Т.е. хочется редактор, который умеет в алиасы yii2 (@web = web/ проекта и т.д.) и автокомплит для пути и имени файлов, как в вышеозначенном случае.

Местами NetBeans предлагает дополнение, но в подобных случаях - нет. yii2 плагин установлен, но всё равно.

atom с плагином yii2, sublime text3 с плагином yii2 тоже этого не делают. phpStorm тоже в этом случае не дополняет имя файлов.

В общем, посоветуйте редактор, который умеет в такие вещи. Или можно какой-то из названных научить этому? Где можно про это почитать?

★★★★

atom с плагином yii2, sublime text3 с плагином yii2 тоже этого не делают. phpStorm тоже в этом случае не дополняет имя файлов.

Тогда маловероятно, что какой-то другой редактор это сможет, тут разве что костылить свой extension для atom или sublime надо.

gwinn ★★★★
()

веб шторм считается самый навернутый и очень много автокомплитов
всяких
но это жаба, и это платно в полной редакции

MinasFilm
()
Ответ на: комментарий от gwinn

По идее для продвинутых редакторов индексация файлов - это нормальное явление, нет?

По крайней мере, при редактировании вставок html, например, при использовании font awesome, он предлагает варианты «fa fa-» и тут появляется всплывающий список с разными вариантами, которые сокращаются по мере добавления символов (для fa fa-pl уже предлагается fa fa-plus). Но для @web/js/ это не работает, почему-то.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от MinasFilm

Ну, про phpStorm я уже написал. Он знает переменную $this, которая используется в yii2 налево и направо (я в остальном не знаком с php, может оно везде так - не знаю). Ну и варианты для размещения js вида ...::POS_HEAD он знает и предлагает.

ekzotech ★★★★
() автор топика

0) (вдруг не знал) Не делай помойки из подключаемых посреди страницы скриптов и стилей. Отделяй мух от котлет.

1) Вообще не понимаю с какого хера ЭТО должно подключаться где-то в недрах бекенда. Это должно находиться в лейауте/шаблоне хедера сайта, там и подключаться средствами шаблонизатора или нативно, если без оного.

2) Если хочешь интирпразия — сделай конфиг подключения скриптов, и далее либо сразу все, либо в зависимости от роута пусть само подключается.

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

Да, я знаю, основная часть css и js подключается в стандартном AppAsset.php, ну или можно создать аналогичный файл.

Просто зачем мне городить новый лэйаут, если мне нужно на конкретной одной странице подключить 1 js?

На тестовом проекте, где я пытаюсь осилить натягивание темы AdminLTE2 на этот самый yii2, у меня сделано по твоему пункту №2 - создан AdminLTEAsset.php, в котором воткнуты всевозможные css и штук 15 разных js, а в лэйауте уже используются нужные. Но оверхед же, зачем каждому посетителю грузить ненужные ему js?

ekzotech ★★★★
() автор топика
Ответ на: комментарий от ekzotech

зачем мне городить новый лэйаут

А я не говорил про новый, я говорил про существующий. Высрал в нужном его месте список скриптов и все.

создан AdminLTEAsset.php

Нет, я про конфиг говорил. А этот твой ассет должен его подгрузить и, например в цикле что-то там сделать, хз, насрать во вьюху этим же $this->registerJsFile($item)

оверхед же, зачем каждому посетителю грузить ненужные ему js?

А вот нифейхоа! Один раз получит и закеширует — далее летать будет все, тем более это админка.

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

Ну я хз. В yii2 штатно подключаются все стили и прочее таким образом. Не встречал в других местах подключение подобных ресурсов. Если тебе где-то разово нужен js, можно подключать его указанным в ОП способом.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от ekzotech

yii2 штатно

Это для говноделов.

Поясню почему. Есть верстальщик, который в ус не дует про бекенд. А бекенд вообще должен быть еще и огорожен от верстальщика/редактора шаблонов через песочницу шаблонизатора (например Twig).

Бекендщику не с руки должно бы разбираться что там понавтыкал верстальщик или редактор новых фич и говнослайдеров. Чтобы не вылуплять глазья каждый раз когда кто-то внес правки в шаблоны, надо бы позаботиться о хуке, написать его один раз. И в таком случае новые ресурсы добавляются, а старые удаляются в одном единственном месте — конфиге. А не рыщутся по всем контроллерам и их экшнам с мыслью «так, вася в прошлом месяце уже удалил тот слайдер, надо ж еще не забыть в экшн зайти, удалить скрипты и стили этого слайдера, а петя вчера просил добавить его новый скрипт голосовалки, таак, а в каком из стопицот контроллеров это голосование то у нас было/есть?».

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

Ну, я ковыряю yii2 basic, там нет такого разделения на фронтенд и бэкенд, это раз.

AppAsset.php это штатный конфиг для подобных вещей, и выглядит он так:

<?php
/**
 * @link http://www.yiiframework.com/
 * @copyright Copyright (c) 2008 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

namespace app\assets;

use yii\web\AssetBundle;

/**
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @since 2.0
 */
class AppAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = [
        'css/site.css',
        'css/bootstrap-united.css',
    ];
    public $js = [
        'js/main.js',
    ];
    public $jsOptions = [
        'position' => \yii\web\View::POS_END,
    ];
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
    ];
}

И находится он в папке assets, которая предназначена для этого конфига и ему подобных, если будет нужно.

Т.е. в большинстве случаев достаточно указать нужные ресурсы здесь - и больше ничего не надо.

Про разделение не знаю, я только изучаю веб-дев.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от anonymous

Боюсь это для меня слишком круто.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от ekzotech

Причем тут «стандартность» yii? Речь ведь про автодополнение в редакторе, а оно работает по путям в файловой системе, @web как путь к файлу весьма неоднозначен, и если редактор не обучен разворачивать такую конструкцию (хоть сам, хоть через плагин), то и автокомплита не будет. С учетом специфики yii врядли кто из коробки будет уметь такое, как варинт попробовать сляпать сниппет.

gwinn ★★★★
()
Ответ на: комментарий от ekzotech

ну я не гуру в веб-разработке, но скажем так, по мнению наших гур, бОльшего функционала, чем есть в вебшторме - пока что нет ни у кого, и вряд ли появится

MinasFilm
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.