如何在VS 2015中使用XML IntelliSense?

时间:2015-12-14 17:20:49

标签: xml vb.net visual-studio intellisense

Visual Studio支持XML IntelliSense for Visual Basic(它会在您键入时建议XML元素和属性名称)。我试图使用VS 2015更新我几年前在VS 2012或2013中开始的项目。该项目使用XML,我已经设置使用XML IntelliSense。该项目在VS 2015下编译并正确运行,但XML IntelliSense无法正常工作(建议不使用元素名称)。

为了尝试解决问题,我创建了以下XML文件(在My Documents中存储为Test.xml):

awk 'p;/^$/{p=1}' file

我在单个表单<?xml version="1.0" encoding="utf-8"?> <Root xmlns="http://www.finetime.com"> <Parent> <Child>Data</Child> </Parent> </Root> 上创建了一个带有单个按钮Button1的新Windows窗体项目,并将以下XML架构添加到项目中(XSD文件显示在解决方案资源管理器中):

Form1

<?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.finetime.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.finetime.com"> <xs:element name="Root"> <xs:complexType> <xs:sequence> <xs:element name="Parent"> <xs:complexType> <xs:sequence> <xs:element name="Child" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> 的代码如下所示:

Form1

项目编译,运行和显示&#34;数据&#34;单击按钮时在Imports <xmlns:ft="http://www.finetime.com"> Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim xmlPath As String = IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.MyDocuments, "Test.xml") Dim xmlDoc As XDocument = XDocument.Load(xmlPath) Dim root As XElement = xmlDoc.<ft:Root>.First Dim data As String = root.<ft:Parent>.<ft:Child>.Value MessageBox.Show(data) End Sub End Class 中,但XML单词完成不会发生。

例如,当我键入MessageBox时,我希望显示XML元素名称的选择以完成语句,但不会出现任何内容。我错过了一步吗?

1 个答案:

答案 0 :(得分:3)

在Roslyn重建(VS2015)下,似乎没有包含XML Intellisense。这在MS Connect故障单中记录:https://connect.microsoft.com/VisualStudio/feedback/details/1085407/intellisense-not-working-with-xml-to-schema

  

Kevin [MSFT]发表于2015年1月14日上午9:43嗨,

     

感谢您的反馈。不幸的是,这是其中一个角落   VB IDE的体验尚未重新构建   罗斯林项目。我们的待办事项上有一个工作项目需要考虑   将来实现这一目标。

     

- Kevin Pilch-Bisson Visual Studio管理语言