Можно ли автоматически передавать код в определеную «точку» (или позицию) документа?
======================================================================================

 Интересно вот что. Например, мы открываем документ в программе, допустим в VS-code., и я подумал, что было бы здорово иметь доступ к определенной точке в документе. Иными словами, можно ли автоматически передавать код в какую-то ячейку? К примеру, у нас может быть зарезервировано 60 столбцов, и 1000 строк , и в итоге у нас выходит 60 000 ячеек., и тогда, мы могли бы просчитать ячейки и отправить код именно в нужную.  

Или, другой пример -- у нас есть кусочек разметки. Можем ли мы в этом случае спозиционировать относительно выбраной строки кода потенциальное место для другого кода? Было бы классно, если можно было послать команду -- вставить код на строку ниже и с определеным отступом от выбранной.  

Вообщем, хотелось бы знать, можно ли теоретически осуществить такие манипуляции?  

  

Не знаю, удастся ли пояснить..Ну вот пример.  

На странице такой простой код  

  

```
<h1>lorem<h1>
<p>ipsum<p/>
```
  

  

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

  

так вот, если бы была программа, которая прописывает некий атрибут строчке, или блоку, отслеживающий их место при сохранении, скажем уникальности и условий неизменяемых параметров, ( то есть, например строка сохраняет свой атрибут при условиях, что это именно h1, или еще при каких) , то это мы всегда могли бы обратитться к уникальному номеру строки, чтобы отправить туда разметку.  

да, и было замечательно если бы можно было не прибегать k JS, а например писать в pug -е, указывая в параметарах номера ячеек, или идентификационные номер строк, ккоторые можно модифицировать из подключенного файла.  

так , например, можно закомментировать некую строку, а потом послать комманду прям тут же в разметке, и она раскомментируется, и таким образом, большие куски кода можно менять на лету.  

  

Р. S.  

  

Раз уж моя тарабарщина хоть-кому-то немного понятна, то возьму на себя смелость еще раз дополнить условие задачи, как говорят среди профанов,"своими словами".  

Как написал последний комменататор, я хочу обратиться к документу именно как к массиву строк или колонок, вне зависмости от его расширения. И , как я пониямаю, на своем уровне работать с ним как с текстом. Ведь любой код на каком-то уровне -- это **просто текст**. И вот я думаю, почему я могу рабоать с ним только "*вручную"*? ..Выделить строку, преместить ее, редактировать. Все это происходит в режиме непосредственной работы с мышью и клавиатурой. Но разве нельзя средствами   

Windows c помощью комманд манипулировать документом как текстом, модифицируюя те, или иные строки текста кода, повторю -- именно строки *текста* кода, а не строки кода. Далее, если бы можно было идентифицировать строку как уникальную , допустим `let arr = ['a', 'b,' 'c']`  

И эта уникальность определялась бы так, что строка , изначально созданная в ячейке c координатами y - 20, x - 1, и сохраняющая свою идентичность при определеных условиях, скажем если в массиве именно три элемента, ..или от 2 до 10, или это именно литералы ...-- тут дело третье уже, то этой строке назначается специальный внутрений номер, и понятное имя-псевдоним , возможно совпадающий с исходным названием -- "let arr".  

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

  

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

 Была открыта ачивка "наиболее безумное, путанное, и переусложненное описание [шаблонизатора](https://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80)". Заберите ее:  

![54551260_f363612b8a7047a82a0c629b14519e07_800.jpg](https://habrastorage.org/extt/61/0b/48/610b48a149705605216135.jpg) 

 С таблицей что-то типо этого?   

```
var td = document.getElementsByTagName("td");
td[20].innerHTML = "<script> alert(1);</script>";
```
  

А вот вторую часть вопроса не понял. Можешь максимально детально объяснить, в твоём понимании, то что хочешь сделать? 

 Если правильно понял, то нужно что-то вроде такого плагина:  

[https://marketplace.visualstudio.com/items?itemNam...](https://marketplace.visualstudio.com/items?itemName=alefragnani.Bookmarks) 

 Итак. Какие сейчас я вижу подходы к решению этой задачи. Это не решение, но версия.  

  

Необходимо, если возможно, установить двустороннюю связь двух файлов через **fs. readFileSync.** и **fs. writeFileSync.**  

  

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

  

Если я задаю после этого дубляжа псевдоним, то **fs** считывает и начинает отслеживать эту строчку, и стоит мне поменять ее параметры, и сама строка изменится, где бы она не находилась, после чего она снова перпечатается в мой файл, чтобы я мог контролировать процесс изменения.