Перейти к содержимому

Как включить подсказки в visual studio code

  • автор:

Как включить подсказки в VS code для C#?

Я не знаю, они есть но не все, нету допустим «System», «Console». Может нужно расширение какое-то скачать?

Отслеживать
задан 15 янв 2023 в 19:30
1 1 1 бронзовый знак

Пожалуйста, уточните вашу конкретную проблему или приведите более подробную информацию о том, что именно вам нужно. В текущем виде сложно понять, что именно вы спрашиваете.

15 янв 2023 в 19:47
15 янв 2023 в 19:51
18 янв 2023 в 20:09

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Установите это расширение- C# for Visual Studio Code
А вообще заходите сюда или в раздел «Расширения» в VS Code и ищете по ключевому слову «C#» или «.Net».

Отслеживать
ответ дан 17 янв 2023 в 10:24
Сергей Татевосян Сергей Татевосян
314 1 1 серебряный знак 14 14 бронзовых знаков

  • c#
  • visual-studio-code
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.8.3130

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Пошаговое руководство. Отображение подсказок QuickInfo

Область применения:yesVisual Studio Visual Studio для Mac noVisual Studio Code no

QuickInfo — это функция IntelliSense, которая отображает сигнатуры и описания методов при перемещении указателя на имя метода. Вы можете реализовать такие функции на основе языка, как QuickInfo, определив идентификаторы, для которых требуется предоставить описания QuickInfo, а затем создав подсказку, в которой будет отображаться содержимое. Вы можете определить QuickInfo в контексте языковой службы или определить собственное расширение имени файла и тип контента и отобразить QuickInfo только для этого типа или отобразить QuickInfo для существующего типа контента (например, «текст»). В этом пошаговом руководстве показано, как отобразить QuickInfo для типа контента «text».

В примере QuickInfo в этом пошаговом руководстве отображаются подсказки при перемещении указателя на имя метода. Для реализации этих четырех интерфейсов требуется:

  • исходный интерфейс
  • интерфейс поставщика источника
  • интерфейс контроллера
  • интерфейс поставщика контроллера Поставщики исходных и контроллеров являются компонентами компонента Managed Extensibility Framework (MEF), и отвечают за экспорт классов источника и контроллера и импорта служб и брокеров, таких как ITextBufferFactoryService, который создает текстовый буфер подсказки и IQuickInfoBroker, который активирует сеанс QuickInfo. В этом примере источник QuickInfo использует жестко закодированный список имен и описаний методов, но в полных реализациях языковая служба и документация по языку отвечают за предоставление этого содержимого.

Создание проекта MEF

Создание проекта MEF

  1. Создайте проект VSIX на C#. (В Диалоговое окно «Новый проект» , выберите Visual C# / Расширяемость, а затем ПРОЕКТ VSIX.) Назовите решение QuickInfoTest .
  2. Добавьте в проект шаблон элемента классификатора редактора. Дополнительные сведения: Создание расширения с помощью шаблона элемента редактора.
  3. Удалите файлы существующих классов.

Реализация источника QuickInfo

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

Реализация источника QuickInfo
  1. Добавьте файл класса с именем TestQuickInfoSource .
  2. Добавьте ссылку на Microsoft.VisualStudio.Language.IntelliSense.
  3. Добавьте приведенные ниже импортированные данные.
using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel.Composition; using Microsoft.VisualStudio.Language.Intellisense; using Microsoft.VisualStudio.Text; using Microsoft.VisualStudio.Text.Editor; using Microsoft.VisualStudio.Text.Operations; using Microsoft.VisualStudio.Text.Tagging; using Microsoft.VisualStudio.Utilities; 
Imports System Imports System.Collections.Generic Imports System.Linq Imports System.Text Imports System.Collections.ObjectModel Imports System.ComponentModel.Composition Imports Microsoft.VisualStudio.Language.Intellisense Imports Microsoft.VisualStudio.Text Imports Microsoft.VisualStudio.Text.Editor Imports Microsoft.VisualStudio.Text.Operations Imports Microsoft.VisualStudio.Text.Tagging Imports Microsoft.VisualStudio.Utilities 
internal class TestQuickInfoSource : IQuickInfoSource 
Friend Class TestQuickInfoSource Implements IQuickInfoSource 
private TestQuickInfoSourceProvider m_provider; private ITextBuffer m_subjectBuffer; private Dictionary m_dictionary; 
Private m_provider As TestQuickInfoSourceProvider Private m_subjectBuffer As ITextBuffer Private m_dictionary As Dictionary(Of String, String) 
public TestQuickInfoSource(TestQuickInfoSourceProvider provider, ITextBuffer subjectBuffer) < m_provider = provider; m_subjectBuffer = subjectBuffer; //these are the method names and their descriptions m_dictionary = new Dictionary(); m_dictionary.Add("add", "int add(int firstInt, int secondInt)\nAdds one integer to another."); m_dictionary.Add("subtract", "int subtract(int firstInt, int secondInt)\nSubtracts one integer from another."); m_dictionary.Add("multiply", "int multiply(int firstInt, int secondInt)\nMultiplies one integer by another."); m_dictionary.Add("divide", "int divide(int firstInt, int secondInt)\nDivides one integer by another."); > 
Public Sub New(ByVal provider As TestQuickInfoSourceProvider, ByVal subjectBuffer As ITextBuffer) m_provider = provider m_subjectBuffer = subjectBuffer 'these are the method names and their descriptions m_dictionary = New Dictionary(Of String, String)() m_dictionary.Add("add", "int add(int firstInt, int secondInt)" & vbLf & "Adds one integer to another.") m_dictionary.Add("subtract", "int subtract(int firstInt, int secondInt)" & vbLf & "Subtracts one integer from another.") m_dictionary.Add("multiply", "int multiply(int firstInt, int secondInt)" & vbLf & "Multiplies one integer by another.") m_dictionary.Add("divide", "int divide(int firstInt, int secondInt)" & vbLf & "Divides one integer by another.") End Sub 
public void AugmentQuickInfoSession(IQuickInfoSession session, IList qiContent, out ITrackingSpan applicableToSpan) < // Map the trigger point down to our buffer. SnapshotPoint? subjectTriggerPoint = session.GetTriggerPoint(m_subjectBuffer.CurrentSnapshot); if (!subjectTriggerPoint.HasValue) < applicableToSpan = null; return; >ITextSnapshot currentSnapshot = subjectTriggerPoint.Value.Snapshot; SnapshotSpan querySpan = new SnapshotSpan(subjectTriggerPoint.Value, 0); //look for occurrences of our QuickInfo words in the span ITextStructureNavigator navigator = m_provider.NavigatorService.GetTextStructureNavigator(m_subjectBuffer); TextExtent extent = navigator.GetExtentOfWord(subjectTriggerPoint.Value); string searchText = extent.Span.GetText(); foreach (string key in m_dictionary.Keys) < int foundIndex = searchText.IndexOf(key, StringComparison.CurrentCultureIgnoreCase); if (foundIndex >-1) < applicableToSpan = currentSnapshot.CreateTrackingSpan ( //querySpan.Start.Add(foundIndex).Position, 9, SpanTrackingMode.EdgeInclusive extent.Span.Start + foundIndex, key.Length, SpanTrackingMode.EdgeInclusive ); string value; m_dictionary.TryGetValue(key, out value); if (value != null) qiContent.Add(value); else qiContent.Add(""); return; >> applicableToSpan = null; > 
Public Sub AugmentQuickInfoSession(ByVal session As IQuickInfoSession, ByVal qiContent As IList(Of Object), ByRef applicableToSpan As ITrackingSpan) Implements IQuickInfoSource.AugmentQuickInfoSession ' Map the trigger point down to our buffer. Dim subjectTriggerPoint As System.Nullable(Of SnapshotPoint) = session.GetTriggerPoint(m_subjectBuffer.CurrentSnapshot) If Not subjectTriggerPoint.HasValue Then applicableToSpan = Nothing Exit Sub End If Dim currentSnapshot As ITextSnapshot = subjectTriggerPoint.Value.Snapshot Dim querySpan As New SnapshotSpan(subjectTriggerPoint.Value, 0) 'look for occurrences of our QuickInfo words in the span Dim navigator As ITextStructureNavigator = m_provider.NavigatorService.GetTextStructureNavigator(m_subjectBuffer) Dim extent As TextExtent = navigator.GetExtentOfWord(subjectTriggerPoint.Value) Dim searchText As String = extent.Span.GetText() For Each key As String In m_dictionary.Keys Dim foundIndex As Integer = searchText.IndexOf(key, StringComparison.CurrentCultureIgnoreCase) If foundIndex > -1 Then 'applicableToSpan = currentSnapshot.CreateTrackingSpan(querySpan.Start.Add(foundIndex).Position, 9, SpanTrackingMode.EdgeInclusive) applicableToSpan = currentSnapshot.CreateTrackingSpan(extent.Span.Start + foundIndex, key.Length, SpanTrackingMode.EdgeInclusive) Dim value As String = "" m_dictionary.TryGetValue(key, value) If value IsNot Nothing Then qiContent.Add(value) Else qiContent.Add("") End If Exit Sub End If Next applicableToSpan = Nothing End Sub 
private bool m_isDisposed; public void Dispose() < if (!m_isDisposed) < GC.SuppressFinalize(this); m_isDisposed = true; >> 
Private m_isDisposed As Boolean Public Sub Dispose() Implements IDisposable.Dispose If Not m_isDisposed Then GC.SuppressFinalize(Me) m_isDisposed = True End If End Sub 

Реализация поставщика источника QuickInfo

Поставщик источника QuickInfo служит в первую очередь для экспорта в качестве части компонента MEF и создания экземпляра источника QuickInfo. Так как это часть компонента MEF, она может импортировать другие компоненты MEF.

Реализация поставщика источника QuickInfo
  1. Объявите поставщик источника QuickInfo с именем TestQuickInfoSourceProvider , который реализует IQuickInfoSourceProviderи экспортирует его с NameAttribute помощью источника ToolTip QuickInfo, параметра OrderAttribute Before=»default» и ContentTypeAttribute «text».
[Export(typeof(IQuickInfoSourceProvider))] [Name("ToolTip QuickInfo Source")] [Order(Before = "Default Quick Info Presenter")] [ContentType("text")] internal class TestQuickInfoSourceProvider : IQuickInfoSourceProvider 
 _ _ _ _ Friend Class TestQuickInfoSourceProvider Implements IQuickInfoSourceProvider 
[Import] internal ITextStructureNavigatorSelectorService NavigatorService < get; set; >[Import] internal ITextBufferFactoryService TextBufferFactoryService
Private _NavigatorService As ITextStructureNavigatorSelectorService _ Friend Property NavigatorService() As ITextStructureNavigatorSelectorService Get Return _NavigatorService End Get Set(ByVal value As ITextStructureNavigatorSelectorService) _NavigatorService = value End Set End Property Private _TextBufferFactoryService As ITextBufferFactoryService _ Friend Property TextBufferFactoryService() As ITextBufferFactoryService Get Return _TextBufferFactoryService End Get Set(ByVal value As ITextBufferFactoryService) _TextBufferFactoryService = value End Set End Property 
public IQuickInfoSource TryCreateQuickInfoSource(ITextBuffer textBuffer)
Public Function TryCreateQuickInfoSource(ByVal textBuffer As ITextBuffer) As IQuickInfoSource Implements IQuickInfoSourceProvider.TryCreateQuickInfoSource Return New TestQuickInfoSource(Me, textBuffer) End Function 

Реализация контроллера QuickInfo

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

Реализация контроллера QuickInfo

  1. Объявите класс, реализующий IIntellisenseControllerи назовите его TestQuickInfoController .
internal class TestQuickInfoController : IIntellisenseController 
Friend Class TestQuickInfoController Implements IIntellisenseController 
private ITextView m_textView; private IList m_subjectBuffers; private TestQuickInfoControllerProvider m_provider; private IQuickInfoSession m_session; 
Private m_textView As ITextView Private m_subjectBuffers As IList(Of ITextBuffer) Private m_provider As TestQuickInfoControllerProvider Private m_session As IQuickInfoSession 
internal TestQuickInfoController(ITextView textView, IList subjectBuffers, TestQuickInfoControllerProvider provider)
Friend Sub New(ByVal textView As ITextView, ByVal subjectBuffers As IList(Of ITextBuffer), ByVal provider As TestQuickInfoControllerProvider) m_textView = textView m_subjectBuffers = subjectBuffers m_provider = provider AddHandler m_textView.MouseHover, AddressOf Me.OnTextViewMouseHover End Sub 
private void OnTextViewMouseHover(object sender, MouseHoverEventArgs e) < //find the mouse position by mapping down to the subject buffer SnapshotPoint? point = m_textView.BufferGraph.MapDownToFirstMatch (new SnapshotPoint(m_textView.TextSnapshot, e.Position), PointTrackingMode.Positive, snapshot =>m_subjectBuffers.Contains(snapshot.TextBuffer), PositionAffinity.Predecessor); if (point != null) < ITrackingPoint triggerPoint = point.Value.Snapshot.CreateTrackingPoint(point.Value.Position, PointTrackingMode.Positive); if (!m_provider.QuickInfoBroker.IsQuickInfoActive(m_textView)) < m_session = m_provider.QuickInfoBroker.TriggerQuickInfo(m_textView, triggerPoint, true); >> > 
Private Sub OnTextViewMouseHover(ByVal sender As Object, ByVal e As MouseHoverEventArgs) 'find the mouse position by mapping down to the subject buffer Dim point As System.Nullable(Of SnapshotPoint) = m_textView.BufferGraph.MapDownToFirstMatch(New SnapshotPoint(m_textView.TextSnapshot, e.Position), PointTrackingMode.Positive, Function(snapshot) m_subjectBuffers.Contains(snapshot.TextBuffer), PositionAffinity.Predecessor) If point IsNot Nothing Then Dim triggerPoint As ITrackingPoint = point.Value.Snapshot.CreateTrackingPoint(point.Value.Position, PointTrackingMode.Positive) If Not m_provider.QuickInfoBroker.IsQuickInfoActive(m_textView) Then m_session = m_provider.QuickInfoBroker.TriggerQuickInfo(m_textView, triggerPoint, True) End If End If End Sub 
public void Detach(ITextView textView) < if (m_textView == textView) < m_textView.MouseHover -= this.OnTextViewMouseHover; m_textView = null; >> 
Public Sub Detach(ByVal textView As ITextView) Implements IIntellisenseController.Detach If m_textView Is textView Then AddHandler m_textView.MouseHover, AddressOf Me.OnTextViewMouseHover m_textView = Nothing End If End Sub 
public void ConnectSubjectBuffer(ITextBuffer subjectBuffer) < >public void DisconnectSubjectBuffer(ITextBuffer subjectBuffer)
Public Sub ConnectSubjectBuffer(ByVal subjectBuffer As ITextBuffer) Implements IIntellisenseController.ConnectSubjectBuffer End Sub Public Sub DisconnectSubjectBuffer(ByVal subjectBuffer As ITextBuffer) Implements IIntellisenseController.DisconnectSubjectBuffer End Sub 

Реализация поставщика контроллера QuickInfo

Поставщик контроллера QuickInfo служит главным образом для экспорта в качестве части компонента MEF и создания экземпляра контроллера QuickInfo. Так как это часть компонента MEF, она может импортировать другие компоненты MEF.

Реализация поставщика контроллера QuickInfo

  1. Объявите класс с именем TestQuickInfoControllerProvider , реализующий IIntellisenseControllerProviderи экспортируйте его с NameAttribute помощью контроллера QuickInfo ToolTip и ContentTypeAttribute текстового элемента:
[Export(typeof(IIntellisenseControllerProvider))] [Name("ToolTip QuickInfo Controller")] [ContentType("text")] internal class TestQuickInfoControllerProvider : IIntellisenseControllerProvider 
 _ _ _ Friend Class TestQuickInfoControllerProvider Implements IIntellisenseControllerProvider 
[Import] internal IQuickInfoBroker QuickInfoBroker
Private _QuickInfoBroker As IQuickInfoBroker _ Friend Property QuickInfoBroker() As IQuickInfoBroker Get Return _QuickInfoBroker End Get Set(ByVal value As IQuickInfoBroker) _QuickInfoBroker = value End Set End Property 
public IIntellisenseController TryCreateIntellisenseController(ITextView textView, IList subjectBuffers)
Public Function TryCreateIntellisenseController(ByVal textView As ITextView, ByVal subjectBuffers As IList(Of ITextBuffer)) As IIntellisenseController Implements IIntellisenseControllerProvider.TryCreateIntellisenseController Return New TestQuickInfoController(textView, subjectBuffers, Me) End Function 

Сборка и проверка кода

Чтобы протестировать этот код, создайте решение QuickInfoTest и запустите его в экспериментальном экземпляре.

Создание и тестирование решения QuickInfoTest

  1. Постройте решение.
  2. При запуске этого проекта в отладчике запускается второй экземпляр Visual Studio.
  3. Создайте текстовый файл и введите текст, включающий слова «добавить» и «вычитать».
  4. Переместите указатель на один из вхождения «add». Подпись и описание add метода должны отображаться.

Связанный контент

IntelliSense в Visual Studio

Область применения:yesVisual Studio Visual Studio для Mac noVisual Studio Code no

IntelliSense — это вспомогательное средство для написания кода, включающее несколько возможностей: «Список членов», «Сведения о параметрах», «Краткие сведения» и «Завершить слово». Эти возможности помогают получать дополнительные сведения об используемом коде, отслеживать параметры при вводе и добавлять вызовы свойств и методов путем нескольких нажатий клавиш.

Многие аспекты IntelliSense зависят от конкретного языка. Дополнительные сведения о IntelliSense для разных языков см. в разделах «Связанные материалы «.

Список участников

После ввода символа триггера (например, точки ( . ) в управляемом коде или :: в C++) появляется список допустимых членов типа (или пространства имен). Если продолжить вводить символы, список фильтруется таким образом, чтобы включать только члены, начинающиеся этими символами, или члены, у которых любое слово в имени начинается этими символами. IntelliSense также выполняет сопоставление «верблюжьего» стиля, поэтому вы можете просто ввести первую букву каждого слова с «верблюжьим» стилем в имени члена, чтобы просмотреть список совпадений.

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

В списке членов значок слева указывает на тип члена, такой как пространство имен, класс, функция или переменная. Список может быть достаточно длинным; перемещаться вверх и вниз по списку можно с помощью клавиш PAGE UP и PAGE DOWN.

Visual Studio Member List

Функцию Список членов можно вызывать вручную, нажав клавиши CTRL+J, выбрав пункт Edit>IntelliSense>Список членов или нажав кнопку Список членов на панели инструментов редактора. При вызове в пустой строке или за пределами распознаваемой области в списке отображаются символы глобального пространства имен.

Чтобы отключить список членов по умолчанию (чтобы он не отображался без специального вызова), перейдите в раздел меню Сервис>Параметры>Все языки и снимите флажок Автоматически отображать список членов. Если требуется отключить список членов только для конкретного языка, перейдите к параметрам Общие для этого языка.

Можно также включить режим подсказки, в котором в код будет вставляться только печатаемый текст. Например, если ввести идентификатор, отсутствующий в списке, и нажать клавишу TAB, в режиме завершения введенный идентификатор был бы заменен записью из списка. Для переключения между режимом завершения и режимом подсказки нажмите CTRL+ALT+ПРОБЕЛ или выберите Изменить>IntelliSense>Переключить режим завершения.

Сведения о параметрах

Функция «Сведения о параметрах» предоставляет сведения о числе параметров, необходимых методу, параметру атрибута универсального типа (в C#) или шаблону (в C++), а также об именах и типах таких параметров.

Выделение параметра полужирным шрифтом указывает на следующий параметр, необходимый при вводе функции. Для перегруженных функций можно использовать клавиши СТРЕЛКА ВВЕРХ и СТРЕЛКА ВНИЗ для просмотра сведений об альтернативных параметрах для перегрузок функций.

Parameter Info

При аннотировании функций и параметров при помощи комментариев XML-документации комментарии будут отображаться в качестве сведений о параметрах. Дополнительные сведения см. в разделе Создание XML-примечаний к коду.

Сведения о параметрах можно вызвать вручную, выбрав Изменить>IntelliSense>Сведения о параметрах, нажав клавиши CTRL+SHIFT+ПРОБЕЛ или кнопку Сведения о параметрах на панели инструментов редактора.

Краткие сведения

Функция «Краткие сведения» отображает полное объявление любого идентификатора в коде.

Visual Studio Quick Info

При выборе члена в поле Список членов для него также отображаются краткие сведения.

Parameter Info in a C# code file

Краткие сведения можно открыть вручную, выбрав пункт меню Изменить>IntelliSense>Краткие сведения или нажав клавиши CTRL+K, CTRL+Iили кнопку Краткие сведения на панели инструментов редактора.

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

Чтобы отключить краткие сведения для кода C++, можно перейти в меню Сервис>Параметры>Текстовый редактор>С/С++>Дополнительно и задать для параметра Автоматические краткие сведения значение false .

Завершение слов

Функция «Завершить слово» завершает оставшуюся часть имени переменной, команды или функции после ввода достаточного количества символов для однозначного определения термина. Чтобы вызвать функцию «Завершить слово», можно выбрать пункт меню Изменить>IntelliSense>Завершить слово либо нажать клавиши CTRL+ПРОБЕЛ или кнопку Завершить слово на панели инструментов редактора.

Параметры IntelliSense

Параметры IntelliSense включены по умолчанию. Чтобы отключить их, перейдите к разделу «Параметры >>текста» в текстовом редакторе>«Все языки» и отмените выбор сведений о параметрах или автоматических элементов списка, если вы не хотите использовать функцию «Элементы списка».

Если вы хотите изменить внешний вид элементов пользовательского интерфейса в Visual Studio, перейдите в раздел » >Параметры>параметров среды>» и «Цвета». Дополнительные сведения об этих параметрах и взаимодействии с ними см . в диалоговом окне «Шрифты и цвета», «Среда», «Параметры».

Значки IntelliSense

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

Icon Специальные возможности Description
Public Icon Modifier Открытый класс Неограниченный доступ.
Protected Icon Modifier Защищенный класс Доступ ограничен содержащим классом или типами, которые являются производными от содержащего класса.
Protected Internal Icon Modifier Защищенный внутренний класс Доступ ограничен текущей сборкой или типами, которые являются производными от содержащего класса.
Internal Icon Modifier Внутренний класс Доступ ограничен текущей сборкой.
Private Icon Modifier Закрытый класс Доступ ограничен содержащим классом или типами, которые являются производными от содержащего класса в текущей сборке. (Доступно с версии C# 7.2.)

Устранение неполадок IntelliSense

В некоторых случаях параметры IntelliSense могут не работать должным образом.

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

Курсор находится в комментарии к коду. Если курсор находится в комментарии в файле исходного кода, вы не сможете использовать IntelliSense.

Курсор находится в строковом литерале. Вы не сможете использовать IntelliSense, если курсор находится внутри кавычек, в которые заключен строковый литерал, как показано в следующем примере:

MessageBox( hWnd, "String literal|") 

Автоматические параметры отключены. По умолчанию функция IntelliSense работает автоматически, но ее можно отключить. Вы можете вызывать функцию IntelliSense, даже если автоматическое завершение операторов отключено.

Связанный контент

  • C# IntelliSense
  • Visual Basic IntelliSense
  • IntelliSense для JavaScript
  • Написание и рефакторинг кода (C++)
  • Создание XML-примечаний к коду

Как настроить подсказки в VS Code?

Попробовал поработать на VS Code. Всё нравится, но максимально бесит работа подсказок. Можно ли настроить их?
Из основных проблем:
-лишние методы(типа ввожу «console.» и в списке предлагаемых вылазит «length»)
-отображение кучи лишних переменных(в подсказках показываются переменные из других функций, свойства других объектов).
Можно ли сделать подсказки в VS Code более адекватными?

  • Вопрос задан более трёх лет назад
  • 37227 просмотров

Комментировать
Решения вопроса 2

Egorian

Egorian @Egorian Автор вопроса

Короче, как всегда. Доки наше всё. https://code.visualstudio.com/docs/editor/intellisense
Тут можно покопаться в настройках и настроить подсказки на свой вкус

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать

Taraflex

Ищу работу. Контакты в профиле.
В корень проекта положить tsconfig.json

< "compilerOptions": < "allowJs": true, "alwaysStrict": true, "baseUrl": ".", "emitDecoratorMetadata": true, "experimentalDecorators": true, "module": "esnext", "moduleResolution": "node", "target": "ESNext", "lib": [ "dom", "es2017" ] >, "exclude": [ "static", "build", "dist", "node_modules" ] >

+
Установите в зависимости проекта типы для библиотек, которые идут без типов .d.ts в комплекте https://www.npmjs.com/~types

P.S. Подсказки в vscode лучшие.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *