Я использую Notepad++ и VS Code, и для легкого переключения между ними я настроилБегатькоманда в Notepad++ для запуска VS Code с текущим файлом и позицией курсора:
code -g $(FULL_CURRENT_PATH):$(CURRENT_LINE):$(CURRENT_COLUMN)
Однако значения для строки и столбца отличаются на 1, поэтому, если в Notepad++ я нахожусь на строке 2, столбце 4, в VS Code я оказываюсь на строке 1, столбце 3.
Помимо написания промежуточного скрипта, который добавляет 1 к обоим значениям, есть ли способ исправить это?
решение1
CMD не может выполнять арифметические действия в одну строку, поэтому я бы использовал powershell. Эта команда работает для меня, хотя она не сильно отличается от написания скрипта на данном этапе. Я добавил переносы строк для удобства чтения, но это однострочный код для NP++ Run:
powershell -command $FILE="""$(FULL_CURRENT_PATH)""";
$LINE=$(CURRENT_LINE)+1;
$COLUMN=$(CURRENT_COLUMN)+1;
$command = """code -g `"""${FILE}:${LINE}:${COLUMN}`""" """;
Invoke-Expression -command $command
Тройные кавычки, так как блокнот запускает программы, использующие Run
, и имена переменных в ${foo}
формате из-за символов двоеточия.