Visual studio code не показывает ошибки

Your privacy

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Подскажите есть ли какое то расширение или настройки для vs code что б в коде на C# подчеркивались ошибки например переменные которые не были созданы, но используются. Что не пишу почему то никакие ошибки не подчеркиваются пример:62091bea14060951262251.png


  • Вопрос задан

    более года назад

  • 1226 просмотров

so I recently got started with vscode and working with the c++ project when I noticed that some of the errors aren’t displaying. Also, the program would run fine on vscode but when used it on repl.it it would show some critical errors like «signal: Aborted (core dumped)» and it would tell me at which line it encountered that problem.

Looking at vscode however it seems to me it doesn’t detect subtle errors such as when I have a function that would return a string and I purposely return 0 instead of a string it still considers it a valid operation. I don’t know if the issue is the IntelliSense or some error-checking aspects, but one thing for certain I know visual studio would show this with a warning sign that would appear on the number line.

I do have the squiggly lines enabled for errors and it does show errors if I have some keyword typed incorrectly. What I want to know is where the c++ would fail to run and tell me before the run, or even during runtime.

screenshot of no error when there should be

asked Aug 15, 2022 at 12:56

AceJoker Studio's user avatar

2

VSCode is pretty intelligent, and in theory it should be able to have all the IntelliSense that those other IDEs have. However, that does not come out of the box. What you need to do it install some extensions specific to the programming / scripting languages that you work with. For example, for C++ you can download C/C++ extension developed by Microsoft.

After installing the needed extensions please read some documentation and tweak them as needed.

Your IntelliSense issues will be solved.

answered Aug 15, 2022 at 13:00

Dennis Kozevnikoff's user avatar

0

I’ve figured out that it wasn’t displaying the crash errors because my installation of msvc was flawed. I downloaded msvc again and used the Pacman commands to install all the necessary files and now my crash errors show. However, some syntax errors still don’t show like int main {… without a closing curly brace. This code still runs, and the error is picked up during the run time. I would’ve expected the error to be highlighted before the run.

answered Aug 15, 2022 at 18:58

AceJoker Studio's user avatar

2

@alexdima
these are mine settings

{
  "breadcrumbs.filePath": "off",
  "breadcrumbs.symbolPath": "off",
  "editor.acceptSuggestionOnEnter": "smart",
  "editor.colorDecorators": false,
  "editor.cursorBlinking": "smooth",
  "editor.cursorStyle": "line-thin",
  "editor.detectIndentation": false,
  "editor.fontSize": 12,
  "editor.hover.enabled": false,
  "editor.minimap.renderCharacters": false,
  "editor.multiCursorModifier": "ctrlCmd",
  "editor.scrollBeyondLastLine": false,
  "editor.snippetSuggestions": "top",
  "editor.tabSize": 2,
  "editor.wordWrap": "on",
  "explorer.confirmDelete": false,
  "explorer.confirmDragAndDrop": false,
  "files.exclude": {
    "**/.git": true,
    "**/.svn": true,
    "**/.hg": true,
    "**/CVS": true,
    "**/.DS_Store": true,
    "**/node_modules": true,
  },
  "files.insertFinalNewline": true,
  "files.trimFinalNewlines": true,
  "files.trimTrailingWhitespace": true,
  "html.format.wrapAttributes": "force-expand-multiline",
  "window.closeWhenEmpty": true,
  "window.restoreFullscreen": true,
  "window.titleBarStyle": "custom",
  "workbench.commandPalette.history": 0,
  "workbench.editor.tabSizing": "shrink",
  "workbench.settings.editor": "json",
  "workbench.settings.useSplitJSON": true,
  "workbench.startupEditor": "newUntitledFile",
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[javascriptreact]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "javascript.updateImportsOnFileMove.enabled": "always",
  "breadcrumbs.enabled": false,
  "editor.renderControlCharacters": false,
  "editor.renderWhitespace": "none",
  "[json]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[typescript]": {
    "editor.defaultFormatter": "vscode.typescript-language-features"
  },
  "diffEditor.renderSideBySide": true,
  "javascript.validate.enable": false,
  "search.searchOnTypeDebouncePeriod": 500,
  "git.openDiffOnClick": false,
  "workbench.colorTheme": "GitHub Dark",
  "svg.preview.mode": "svg",
  "editor.codeActionsOnSave": {
      "source.fixAll.eslint": true
  }
}

I haven’t touched them since the last update and highlighting stopped working.
--user-data-dir with this highlighting works. soo, should I delete my settings and start over?

#c# #visual-studio-code #intellisense #omnisharp

#c# #visual-studio-code #intellisense #omnisharp

Вопрос:

У меня проблема с новой установкой кода Visual Studio. Это случалось со мной раньше, но я действительно не помню решения этой проблемы, но я знаю, что это можно решить. Когда я набираю некоторый код в редакторе, я должен подчеркнуть его красной фигурной линией, но этого не происходит. Я читал, что для этого требуется расширение IntelliSense, но я не могу найти его для C #. Я узнал, что «C #» (на базе OmniSharp) от Microsoft будет работать так же, но это не так. Я нигде не могу найти помощь, которую ищу уже 2 дня подряд, и я уверен, что просто переусердствовал. Надеюсь, вы знаете ответ, ребята.

Комментарии:

1. Установлен ли ваш языковой режим? Вы должны увидеть «C #» в правом конце нижней панели. Если вы этого не сделаете, вы можете выполнить Change Language Mode в палитре команд.

2. да, я проверил, там написано C # и рядом с ним слева CRLF

3. Я бы также проверил, установлено ли расширение C #.

4. он действительно установлен. и я переустановил его примерно 5 раз, чтобы убедиться, но все равно ничего.. у меня действительно нет идей..

5. Вы открываете файл решения или просто каталог при открытии своего проекта?

Ответ №1:

Вы уверены, что выбрали для компиляции тот же Program.cs, который вы также видите в своем окне? Со мной часто случается.

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

Теперь к сути дела. При написании строк объявления начального значения Visual Studio Code не показывает ошибки там, где они должны быть. (Выбран код запуска, выбран язык Js, после сохранения записи и нажатия команды Код запуска). Пробовал разные манипуляции, результат тот же. Если да, или как исправить ошибку? Второй день не продвинулся в ответах.

Так как в версии 18 года любимую MonoDevelop больше не поддерживают, придется пользоваться VS. Все будет ничего, но подсказок как в моно нет, вернее есть но команд юнити там нет (Time, touch, PlayerPrefs и все остальное), как их включить? В VS code тоже их нет

user avatar

Всё до банальности просто, достаточно установить расширения для Visual Studio для этого прожмите:

Средства -> Расширения и обновления. (Tools -> Extentions and Updates..)

В появившемся окне вбить в поисковике Unity.

Установить расширение. (Visual Studio 2017 Tools for Unity)

Но по идее без него должно было всё работать, вроде бы.

user avatar

В Unity надо открыть: Edit -> Preferences, вкладка External Tools, в External Script Editor выбирать: Visual Studio 2017 Community.

user avatar

Была такая же проблема при использовании VSCode в юнити 2019.2.11f, т.е. не отображались контекстные подсказки при вводе для классов, методов и т.д.

Как решил: 1) Делаем все в точности как описано в официальном мануале по интеграции VSCode с Unity https://code.visualstudio.com/docs/other/unity

2) Если все сделали по мануалу, у вас должен быть установлен VSCode с плагинами C# и Debugger for Unity, при этом в юнити в EditPreferencesExternal tools у вас выставлен VSCode(с установленными параметрами ProjectPath, File, Line, Column) как редактор скриптов и установлен флажок Editor Attaching. Далее, открываем любой скрипт из юнити — он должен открыться в VSCode и в окне Explorer-а должна отображаться вся структура вашего проекта( а не только файл открытого скрипта).

3)Плагин C# внутри VSCode должен выдать предупреждение в лог (консоль можно открыть в самом нижнем поле редактора VSCode слева внизу два значка — ошибка и предупреждение), что файл проекта подгружен некорректно из-за отсутствия необходимого пакета .Net Framework какой-либо версии (в моем случае это была версия 4.7.1, в вашем случае может быть другая)! Устанавливаем требуемый пакет .NET Framework с оф. сайта майкрософта (https://dotnet.microsoft.com/download/dotnet-framework) или откуда угодно, ДАЖЕ ЕСЛИ УСТАНОВЛЕНА БОЛЕЕ ПОЗДНЯЯ ВЕРСИЯ (это никак не повредит ей).

После установки .Net Framework закройте на всякий случай Unity(если изменяли состояние флажка Editor attaching) и VSCode. Откройте юнити заново и откройте любой скрипт. В этот раз при открытии файла плагин C# в VSCode больше не должен выдавать ошибок загрузки проекта и контекстные подсказки будут работать.

Как подключить Visual Studio Code и Unity? Как включить эти подсказки и автодописание значений в коде? я использую Visual Studio Code, открываю его через Unity, то есть подключение через Unity. Но когда я начинаю писать допустим «Transform» то программа не видит этого значения. Без подсказок писать там просто практически невозможно, а обычный Visual Studio я не хочу использовать потому что VS Code для меня удобнее. Я скачивал .NET Core версии, ставил пути в переменные, смотрел 30+ видео на ютубе, но ничего не работает. Даже VS Code Insider тоже не работает. Никакие установленные расширения тоже не помогают.

Единственно что я получаю: OmniSharp Error: spawn cmd ENOENT

Пишу комментарий со своего второго аккаунта.

Нужно установить .NET Framework (Dev, Targeting Pack, SDK)
В Unity поставить .NET на 4x
В Visual Studio Code установить все нужные расширения, такие как: Unity Tools, C#
Добавить в переменную окружения path путь C:WindowsSystem32 (И в пользовательскую и в системную)
Как вариант ещё можно попробовать установить Packcage (вроде так называется) «Visual Studio Code for Unity» в Unity
И ещё можно попробовать нажать Assets > Open C# Project

После этого всё точно должно заработать. Если нет, то перезагрузите пк, а после входа в Visual Studio Code подождите минут 5 чтобы всё загрузилось. (После перезагрузки пк у меня всё заработало)

Долблюсь с этим интеллисансом каждый раз, после переустановки винды. Каждый раз ошибки разные, но такой ещё не ловил.

Попробуй добавить в пользовательскую переменную окружения path путь C:WindowsSystem32. Гугл говорит что вроде помогает.

Terresquall Blog

If you are our Patreon, log in to enjoy an ad-free reading experience and access Patreon-exclusive articles.

Get in Touch

Recent Posts

  • How to fix .gitignore not working on your repository
  • Creating a Farming RPG (like Harvest Moon) in Unity — Part 11: Saving Farmland Data
  • Bitnami phpMyAdmin: For security reasons, this URL is only accessible using localhost

Find Posts by Category

Terresquall Blog

Save Soil

Soil quality across the world is degrading, and this will result in 40% less food for everyone by 2045. Check out the Save Soil movement, and find out what you can do to contribute to a better world for our children.

Note: This is not an ad. We are not being paid to put up this notice.

Fixing Visual Studio's IntelliSense in Unity

Fixing Visual Studio’s IntelliSense (auto-complete) in Unity

If you like our article, do take some time to check out the rest of our site! We have plenty of Unity-related posts, tutorials and even some content on web development!

One of the biggest perks of using Microsoft’s Visual Studio to write your Unity scripts is IntelliSense — a code completion aid in Visual Studio that offers suggestions as you write your code, and contextually presents you with information about classes, properties and methods that you are working with.

Given Unity’s enormous scripting API, IntelliSense is a tremendously helpful feature, especially for coders who are beginning their foray into developing games and software with Unity; and while we’d love to say that IntelliSense is automatically set up and linked to Unity’s API when you install it with the Unity Editor, sometimes that’s just not the case. So, if you’ve got both Unity and Visual Studio set up, but find that IntelliSense is still not offering Unity API suggestions, then this guide is for you.

There can be many reasons why IntelliSense is failing to work properly on your device, and we are assuming that you’ve already scoured the Internet a fair bit before stumbling on our article. Hence, we’ve put together a table of contents of sorts below, so if you’ve already tried some of the solutions we have, you can skip right through them.

If you prefer watching a video instead of reading, do check out our video guide for this post too.

Article continues after the advertisement:

1. Is my IntelliSense not working?

For IntelliSense to detect and work with Unity’s API, Visual Studio needs to:

  1. Be linked to the Unity Editor, and;
  2. Have the appropriate extensions installed (read further to find out what they are)

If you’ve installed Visual Studio via Unity Hub, this can have been automatically set up, but not always. Due to the bevy of ways which you can install Unity and Visual Studio, misconfigurations can happen, and you might end up with Visual Studio not integrating itself into Unity, and an IntelliSense feature that is not properly linked to Unity’s API.

We’ve found that, when installing some versions of Unity 2019 and 2020, Visual Studio does not always integrate with Unity’s API by default. So if things are not working properly, it might not be caused by misconfiguration on your end.

Is IntelliSense set up?

If you see these things, then IntelliSense hasn’t been set up on your device.

To check if IntelliSense is properly set up, open any script from the Unity Editor, and look out for 2 things:

  1. Whether the top-left dropdown says Miscellaneous Files. If it does, then IntelliSense is not set up.
  2. Try declaring a Unity variable, like a GameObject . If IntelliSense is properly set up, Visual Studio should have an auto-complete suggestion for you before you finish typing.

2. Getting IntelliSense working

So if IntelliSense isn’t working for you, what should you do?

a. Open your scripts from Unity

Before you try anything else from here, first make sure that your scripts are opened from within Unity, i.e. whenever you want to edit your scripts, double-click on them in the Unity Editor so that Visual Studio is opened by Unity.

If IntelliSense still doesn’t work when you do this, then continue onto the steps below:

b. Setting Unity’s External Script Editor

From the Unity Editor, access the Preferences window from Edit > Preferences. Then, click on 1) the External Tools tab.

Setting the External Script Editor

You’ll need to set the External Script Editor.

Set 2) the External Script Editor to the version of Visual Studio that you installed alongside Unity, then click on 3) the Regenerate project files button (if it’s there).

Once that’s done, restart Visual Studio and see if IntelliSense now works. If it still doesn’t, then you might be missing…

If Visual Studio doesn’t appear on the dropdown, you will have to use the Browse… option (pictured above) to find it. It’s typically under C:Program Files (x86)Microsoft Visual Studio2019CommunityCommon7IDEdevenv.exe for Windows devices.

Article continues after the advertisement:

c. Visual Studio Tools for Unity

To install this, open Visual Studio and go to Tools > Get Tools and Features.

Accessing the Visual Studio Installer

This opens the Visual Studio Installer.

Note: You’ll need administrator permissions to open this window, as it makes changes to the Visual Studio installation on your computer.

Once the installer is open, go to Workloads and find Game development with Unity. Check the box, and then click on the Modify button on the bottom-right corner to begin installation.

Finding the Game development with Unity workload

Install the Game development with Unity workload.

A popup may ask you to close certain processes before beginning installation. If this happens, close your Visual Studio project and the Unity Editor application.

When installation completes, restart both Unity and Visual Studio, then check to see if IntelliSense now works.

The Games development with Unity workload actually installs 2 additional Visual Studio components — Visual Studio Tools for Unity and C# and Visual Basic. You can install both modules individually by going to the Individual components tab, and checking both components in the list that is shown.

Finding Visual Studio Tools for Unity

Article continues after the advertisement:

d. Check your .NET API compatibility level

If IntelliSense still refuses to work, you can open the Unity Editor and head to Edit > Project Settings and access the Player (or Player Settings) tab. Scroll down to the Other Settings sub-tab, and find the Api Compatibility Level dropdown under the Configuration heading.

You want to set the Api Compatibility Level to a different option, and see which is the one that works for your device.

Setting the Api Compatibility Level

The Api Compatibility Level setting is nested quite deep in.

e. Regenerating your Unity project files

If the above solutions we’ve proposed did not work for you, you can also try this solution from one of our comment contributions.

Note: Back up your Unity project before trying this, as we are deleting some essential project files and letting Unity regenerate them.

  1. Close both Visual Studio and Unity on your device.
  2. Remove all .sln and .csproj files in your Unity project folder.
  3. Remove the .vs and Library folders in your Unity project folder.
  4. Re-open the project in Unity, then go to Assets > Open C# Project to open Visual Studio.

3. Conclusion

As with the other articles on the blog, we’d love if you leave a comment below, especially if you:

  1. Find any errors in this article, or;
  2. Find an IntelliSense fix that is not listed in this article

Your comments will add on to the information that is already here, and help other future readers!

4. Video guide

Is this post not visual enough? Perhaps our video guide of this post can help.

Article continues after the advertisement:

There are 15 comments:

This works for me! I had been trying a lot of possible solutions but nothing worked until your post, thanks!

Thank you! Mine has been broken for YEARS!

ps. I found a solution for me, and probably for a lot of Mac users too.
You have to go in VSCode into settings and search for “useGlobalMono” and then change the “Omnisharp: Use Global Mono” setting from “auto” to “always”.
here’s the video I got it from
https://www.youtube.com/watch?v=KJYrRv9cShY

I’ve tried all the proposed solutions, but it still does not work.
I couldn’t try the “Games development with Unity” because on Mac I didn’t find the tab “Get Tools and Features”.

Right click the solution explorer in visual studio, the solution also worked for me

I thought I had selected Visual Stuio as my External Script Editor – but apparently I hadn’t, and when I did it worked 🙂

Thank you very much!

I already has VS2019 16.11.1 installed and working perfectly and also the Unity tools.
I installed Unity from a download link in a tutorial which pointed to 2017.1.0f. Unity changed this to the latest free version 2020.3.16f and I had the problem described.
Even though the Unity objects did not highlight and had no auto-complete, the scripts worked fine?
All I had to do was set the external editor in Unity and then close VS.
The next time, I opened the script from Unity, which opened VS and magically everything now works.
Great tips, thanks

Thanks for the article. Point e (e. Regenerating your Unity project files) was the final step I had to do.

Thank you! Your instructions were concise, easy-to-follow, and in my case completely solved this problem. Much appreciated.

I followed this guide and about 5 others that where exactly the same and nothing worked.

what did work, was right clicking the project and clicking “reload with dependencies”.. This literally fixed it right away.

Might be worth putting this into the guide.. Because I just nearly started eating my keyboard.

Thanks for taking time out to post this. Is the “reload with dependencies” option in Unity, or in Visual Studio? I want to add your tip into the article, but I don’t know where to find this.

I figured this out taking the hint from the original poster. You right click the project in VS, and select “Load Direct Dependencies of Project” and it instantly worked for me too.

По какой-то причине Visual Studio Code не показывает ошибок, только компилятор и отладчик. Предполагается, что должно быть окно с проблемами, но я намеренно помещаю туда ошибки, и vs code не потрудится мне сказать. Что, черт возьми, происходит?

Любая помощь будет оценена, спасибо.

2021-11-27 07:54

2
ответа

Я думаю, вам следует скачать это расширение , чтобы добавить поддержку C# в VSCode.

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

2021-11-27 05:34

Следующий код показывает, как отобразить сообщение об ошибке в случае ошибки:

      public void UDF()
    {
        
        try
        {
            some C# code . . . 
        }
        catch (Exception ex)
        {
             MessageBox.Show(ex.Message);//Show Error
        }
        finally
        {
           Some C# Code . . . 
        }
    }

2021-11-27 05:03

Я настраиваю свой VS Code для C ++. Я использую версию 1.31.1 x64 на Windows 10, устанавливаю расширение C / C ++ версии 0.21.0. Ниже мои настройки:

c_cpp_properties.json

{
    "configurations": [
        {
            "name": "MinGW",
            "includePath": [
                "${workspaceFolder}/**",
                "C:/MinGW/lib/gcc/mingw32/8.2.0/include/**"
            ],
            "defines": [
                "LOCAL"
            ],
            "cStandard": "c11",
            "cppStandard": "c++14",
            "intelliSenseMode": "clang-x64",
            "compilerPath": "C:/MinGW/bin/g++.exe"
        }
    ],
    "version": 4
}

task.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "C++ compile and run",
            "type": "shell",
            "command": "g++ "${file}" -O2 -static -std=c++14 -DLOCAL -o "${fileDirname}/${fileBasenameNoExtension}.exe" && "${fileDirname}/${fileBasenameNoExtension}.exe"",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "clear": true,
                "echo": false,
                "panel": "shared"
            }
        }
    ]
}

Моя простая тестовая программа:

#include <iostream>

using namespace std;

int main() {
    cout << "hello world"
}

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

1 ответ

Лучший ответ

Я нашел настройку, чтобы включить волнистые линии ошибок:

Preferences -> Setting -> найдите Intellisense -> выберите Enable в C_Cpp: Error Squiggles.

Вы должны проверить как настройки пользователя, так и настройки рабочего пространства.


0

user6907216user6907216
17 Фев 2019 в 19:22

Понравилась статья? Поделить с друзьями:
  • Visual studio c непонятные ошибки
  • Visio 2013 ошибка установки
  • Vipnet safeboot ошибка 09 ошибка определения рабочей директории
  • Vipnet csp ошибка при получении контекста модуля криптографии
  • Warzone ошибка nvwgf2umx dll