回答編集履歴

1

もう少し説明を書く&識別子が目立ちすぎなので変える

2017/06/02 11:21

投稿

KanaSakaguchi
KanaSakaguchi

スコア52

test CHANGED
@@ -1,26 +1,52 @@
1
1
  自己解決したので回答します。
2
2
 
3
- 質問では自作APIとして`API`という名前を使いましたが、ややこしいと思ったので以下では`MyAPI`とします。
3
+ 質問では自作APIとして**API**という名前を使いましたが、ややこしいと思ったので以下では**MyAPI**とします。
4
4
 
5
- (ちなみに`MyAPI``Column`も実際の名前とは異なります。)
5
+ (ちなみに**MyAPI****Column**も実際の名前とは異なります。)
6
6
 
7
7
 
8
8
 
9
- `Column``MyAPI`と別のAPIにすると意図した通りに補完されました。
9
+ **Column****MyAPI**と別のAPIにすると意図した通りに補完されました。
10
10
 
11
11
 
12
12
 
13
- 1. `Column``MyAPI`と別のAPIとして作成
13
+ 1. **Column****MyAPI**と別のAPIとして作成
14
14
 
15
- 2. `MyAPI`使用するライブラリとして`Column`を登録
15
+ この時列挙型はなくそれぞれのキー値をグローバル変数として定義する
16
16
 
17
- 3. このままは`Column`が補完されなくなるので`MyAPI`に下記のコード用意
17
+ 2. **MyAPI**使用するライブラリとして**Column**登録
18
18
 
19
- 4. `MyAPI`を使いたいプロジェクトでもライブラリとして`Column`登録
19
+ 3. このままでは**Column**が補完されなくなるので**MyAPI**に**Column**のグローバル変数用意
20
20
 
21
+ 4. **MyAPI**を使いたいプロジェクトでもライブラリとして**Column**を登録
22
+
21
- 5. これで`Column`のキーが補完されるようになった
23
+ 5. これで**Column**のキーが補完されるようになった
22
24
 
23
25
 
26
+
27
+ **Column**プロジェクトのコード
28
+
29
+ ```javascript
30
+
31
+ /** @type {number} */
32
+
33
+ var UNCATEGORISED = 1;
34
+
35
+
36
+
37
+ /** @type {number} */
38
+
39
+ var DESIGN_REVIEW_PENDING = 2;
40
+
41
+
42
+
43
+ /* 以下略 */
44
+
45
+ ```
46
+
47
+
48
+
49
+ **MyAPI**に書くコード
24
50
 
25
51
  ```javascript
26
52
 
@@ -32,6 +58,8 @@
32
58
 
33
59
 
34
60
 
61
+ 補完された。
62
+
35
63
  ![MyAPI.Column.が補完されるようになった](0a9d590ccb8bc6e01e1583f7cf6b09e5.png)
36
64
 
37
65
 
@@ -42,4 +70,4 @@
42
70
 
43
71
  kei344さんの回答を見て"GASはグローバルなものしか補完されない&Objectのキーは調べてくれないもの"として諦めようかと思っていたのですが、ふと「別ライブラリにすればいけるかも?」と思ったのが当たりました。
44
72
 
45
- `MyAPI`を使いたいプロジェクトで`Column`も登録しないといけない(&`MyAPI`で列挙型が増えるたびに登録ライブラリが増える)ことなどちょっとなと思う部分はありますが、この方法以外で列挙型を定義できないということも含めて仕様だと思うことにしました。
73
+ **MyAPI**を使いたいプロジェクトで**Column**も登録しないといけない(&**MyAPI**で列挙型が増えるたびに登録ライブラリが増える)ことなどちょっとなと思う部分はありますが、この方法以外で列挙型を定義できないということも含めて仕様だと思うことにしました。