diff --git a/src/services/jsDoc.ts b/src/services/jsDoc.ts
index 07db4402cbf..622463d96fa 100644
--- a/src/services/jsDoc.ts
+++ b/src/services/jsDoc.ts
@@ -259,8 +259,6 @@ namespace ts.JsDoc {
}
function getCommentOwnerInfo(tokenAtPos: Node): CommentOwnerInfo | undefined {
// TODO: add support for:
- // - enums/enum members
- // - property declarations
// - potentially property assignments
for (let commentOwner = tokenAtPos; commentOwner; commentOwner = commentOwner.parent) {
switch (commentOwner.kind) {
@@ -273,6 +271,9 @@ namespace ts.JsDoc {
case SyntaxKind.ClassDeclaration:
case SyntaxKind.InterfaceDeclaration:
+ case SyntaxKind.PropertySignature:
+ case SyntaxKind.EnumDeclaration:
+ case SyntaxKind.EnumMember:
return { commentOwner };
case SyntaxKind.VariableStatement: {
diff --git a/tests/cases/fourslash/docCommentTemplateInterfaces.ts b/tests/cases/fourslash/docCommentTemplateInterfaces.ts
deleted file mode 100644
index 2faf49351f2..00000000000
--- a/tests/cases/fourslash/docCommentTemplateInterfaces.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-///
-
-/////*interfaceFoo*/
-////interface Foo {
-//// /*propertybar*/
-//// bar: any;
-////
-//// /*methodbaz*/
-//// baz(message: any): void;
-////}
-
-verify.docCommentTemplateAt("interfaceFoo", /*expectedOffset*/ 8,
-`/**
- *
- */`);
-
-verify.emptyDocCommentTemplateAt("propertybar");
-
-verify.docCommentTemplateAt("methodbaz", /*expectedOffset*/ 12,
- `/**
- *
- * @param message
- */`);
\ No newline at end of file
diff --git a/tests/cases/fourslash/docCommentTemplateInterfacesAndEnums.ts b/tests/cases/fourslash/docCommentTemplateInterfacesAndEnums.ts
new file mode 100644
index 00000000000..ed10ba86d98
--- /dev/null
+++ b/tests/cases/fourslash/docCommentTemplateInterfacesAndEnums.ts
@@ -0,0 +1,50 @@
+///
+
+/////*interfaceFoo*/
+////interface Foo {
+//// /*propertybar*/
+//// bar: any;
+////
+//// /*methodbaz*/
+//// baz(message: any): void;
+////}
+////
+/////*enumStatus*/
+////const enum Status {
+//// /*memberOpen*/
+//// Open,
+////
+//// /*memberClosed*/
+//// Closed
+////}
+
+verify.docCommentTemplateAt("interfaceFoo", /*expectedOffset*/ 8,
+`/**
+ *
+ */`);
+
+verify.docCommentTemplateAt("propertybar", /*expectedOffset*/ 12,
+ `/**
+ *
+ */`);
+
+verify.docCommentTemplateAt("methodbaz", /*expectedOffset*/ 12,
+ `/**
+ *
+ * @param message
+ */`);
+
+verify.docCommentTemplateAt("enumStatus", /*expectedOffset*/ 8,
+`/**
+ *
+ */`);
+
+verify.docCommentTemplateAt("memberOpen", /*expectedOffset*/ 12,
+ `/**
+ *
+ */`);
+
+verify.docCommentTemplateAt("memberClosed", /*expectedOffset*/ 12,
+ `/**
+ *
+ */`);
\ No newline at end of file