Открыть результат из grep (или ack, или компилятора, или чего-то еще) в коде Visual Studio как результаты поиска или проблемы? - PullRequest
1 голос
/ 05 марта 2020

Newb ie to vscode:

Предположим, у меня есть вывод от запуска grep или ack или my-weird-compiler-or-linter, который я запускал в командной строке в файл, где каждая строка имеет стандартный формат вывода grep / compiler: file:linenumber:text как в:

» ack -w root | egrep -v '(public|build)/' > file; cat file
yarn.lock:5322:is-root@2.1.0:
yarn.lock:5324:  resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c"
yarn.lock:8244:    is-root "2.1.0"
src/apiCalls.js:11:let root = 'https://my.server/api/';
src/apiCalls.js:20:        return `${root}${name}?${usp}`;
src/apiCalls.js:44:window.setRoot = (r) => { root = r };
src/index.js:37:    ), document.getElementById('root'));

Могу ли я как-то загрузить / импортировать этот файл в vscode и сделать его отображаемым в результатах поиска (или проблем) , чтобы я мог видеть список в хорошем формате и позволить мне переходить к следующему совпадению с помощью горячей клавиши, в то же время позволяя мне видеть, как далеко я попал в список?

Я уже понимаю, что могу просто откройте терминал из vscode, а затем cat file. Затем я могу нажать CTRL на каждой строке результата, чтобы открыть, например, yarn.lock в строке 5322 из yarn.lock:5322. Но это на самом деле не интегрировано с vscode, и если у меня будет 411 строк результата, я не пойму, как далеко я попал в список после, например, получения чашки кофе.

Я понимаю, что, возможно, что-то найду это позволяет мне запускать внешний grep из vscode и видеть этот вывод, но у меня уже есть вывод и я просто хочу как-то его загрузить ...

1 Ответ

0 голосов
/ 05 марта 2020

Когда я писал этот вопрос, я нашел ответ: Интеграция с внешними инструментами с помощью задач . Создать $workspace/.vscode/tasks.json, содержащий:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "/tmp/ack",
            "type": "shell",
            "command": "cat /tmp/ack",
            "problemMatcher": {
                "owner": "ack",
                "fileLocation": [
                    "relative",
                    "${workspaceFolder}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "message": 3
                }
            }
        }
    ]
}

Бин go! Теперь файл /tmp/ack используется для хранения всего вывода grep / ack / что угодно. Запустите его с CTRL+SHIFT+P, «Задачи: Выполнить задачу», а затем выберите «/ tmp / ack». Теперь содержимое /tmp/ack отображается как проблема. Чтобы снова устранить проблемы, echo > /tmp/ack и повторите.

Я должен сказать: я люблю vscode!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...