Visual Studio Online “Monaco”入門(4)
Visual Studio Online “Monaco”のオプション設定(user.json/team.json Settings)
Webブラウザー上で動作する開発環境「Visual Studio Online “Monaco”」のオプション設定ファイル(user.json/team.json)に指定できる「全ての設定項目」について説明する。
第1回では、Visual Studio Online “Monaco”の概要と、Git関連を除く主要機能を説明した。本稿はその付録として、オプション設定ファイル(user.json/team.json)に指定できる全ての設定項目(2013年12月18日時点)を一覧表にまとめている。なお、“Monaco”のオプション設定は、GUIではなく、JSON形式のテキストファイル(user.json/team.json)に記述する。
user.json/team.jsonファイルを参照すると、デフォルトで以下のような設定項目が用意されている。
設定ファイルの種別(type):
「user」か「team」を指定する。「team」を指定したチーム用の設定ファイル(team.json)よりも、「user」を指定したユーザー用(user.json)が優先される(※このような挙動になるようなのだが、“Monaco”をチームで使用する方法が分からなかったので、実際には挙動を確認できていない。別アカウントの2人で編集した場合は、どちらも同じuser.jsonファイルを参照してしまい、1人が設定変更するともう1人の方にも適用されてしまった)。
エディター(editor):
エディターを構成するために使われる。
行番号(lineNumbers):
コードエディターの左側に行番号を表示するか/しないか(true/false)を指定する。既定値は「true」。
字間(glyphMargin):
グリフマージン(=エディターの左端の境界線のことのようだ)を表示するか/しないか(true/false)を指定する。既定値は「false」。
タブサイズ(tabSize):
タブ文字のサイズ(数値)を指定する。既定値は「"auto"」。
スペース挿入(insertSpaces):
タブ挿入でタブではなくスペースを挿入するか/しないか(true/false)を指定する。既定値は「"auto"」。
丸角の選択(roundedSelection):
選択範囲の角を丸くするか/しないか(true/false)を指定する。既定値は「true」。Chromeでは設定による外観の違いが分かったが、IEだとよく分からなかった。
最終行超えのスクロール(scrollBeyondLastLine):
最終行を超えてスクロールするか/しないか(true/false)を指定する。既定値は「true」。
行の折り返し(wrappingColumn):
何文字目で次の行に折り返すを指定する。「0」を指定すると、ビューポートの横幅で折り返す。既定値は「300」。
クイック入力候補表示(quickSuggestions):
入力中にクイック入力候補を表示するか/しないか(true/false)を指定する。既定値は「true」。
クイック入力候補の遅延時間(quickSuggestionsDelay):
クイック入力候補を表示するまでに何ms(ミリ秒)遅延させるを指定する。既定値は「500」。
自動閉じかっこ(autoClosingBrackets):
開きかっこを入力すると、その後に自動的に閉じかっこを挿入するか/しないか(true/false)を指定する。既定値は「true」。
入力時の整形(formatOnType):
入力後の行を自動的に整形するかどうかを指定する。既定値は「false」。※この設定項目に関しては、正常に動作する条件が不明で、動作を確認できなかった。
きっかけ文字でIntelliSense表示(suggestOnTriggerCharacters):
きっかけ文字(例えば「document」の後に「.」)が入力されたら、自動的にIntelliSenseを表示するか/しないか(true/false)を指定する。既定値は「true」。
概要ルーラー(overviewRulerLanes):
概要ルーラー内の同じ行位置に表示されるデコレーション(=色付きの四角)の数を指定する。既定値は「3」。
概要ルーラーでのカーソル非表示(hideCursorInOverviewRuler):
概要ルーラー内に、現在の入力カーソルを表示するか/しないか(true/false)を指定する。既定値は「true」。
コンソール(console):
コンソールを構成するために使われる。各設定の意味は、上記の「エディター」で説明済みのため割愛する。
行番号(lineNumbers): 既定値は「false」。
丸角の選択(roundedSelection): 既定値は「true」。
行の折り返し(wrappingColumn): 既定値は「0」。
クイック入力候補の遅延時間(quickSuggestionsDelay): 既定値は「50」。
最終行超えのスクロール(scrollBeyondLastLine): 既定値は「true」。
概要ルーラーでのカーソル非表示(hideCursorInOverviewRuler): 既定値は「true」。
言語(languages):
特定の言語に関する関する構成設定を行う。
CSS:
CSS言語のコード記述の検証ルール(「Lint」と呼ばれる)を構成するために使われる(※「CSS Lint」と同じような機能構成になっているようだ)。設定値には「ignore」(=無視)、「warning」(=警告)、「error」(=エラー)のいずれかを指定できる。エラー箇所には赤色のマーカーで、警告箇所には緑色のマーカーで波線が引かれる。マーカーの内容を確かめるには、マウスカーソルを乗せるか、Ctrl
+.
/⌘
+.
キーを押すと順番にマーカーの位置を移動できる。次の表を参照。
日本語訳 (設定項目名) | 説明 | 既定値 |
---|---|---|
ボックスモデル (box-model) |
paddingやborderを使う際に、widthやheightを使用してはいけない | ignore |
互換性のある全ベンダープレフィックス (compatible-vendor-prefixes) |
幅広いユーザーにリーチできるように、全ての互換性のあるベンダープレフィックスを含める。例えば「-webkit-box-shadow」を使った場合は、「-moz-box-shadow」も使わないとエラーになる | warning |
表示プロパティのグループ化 (display-property-grouping) |
あるプロパティは、ある表示プロパティとともに使ってはいけない。例えば「display: inline;」というプロパティを使っているなら、「margin: 0;」のような表示プロパティを使うとエラーになる | warning |
背景画像の重複 (duplicate-background-images) |
全ての背景画像指定は独自でなければならない。スプライト画像の場合は、共通クラスを使わなければならない | ignore |
プロパティの重複 (duplicate-properties) |
あるプロパティがもう1つ定義されており、重複している | warning |
空の定義 (empty-rule) |
何もプロパティが含まれていないCSS定義は、削除しなければならない | warning |
グラデーション (gradients) |
ベンダーフィックス付きのgradientを使う場合は、全プレフィックスを使わなければならない | warning |
ID (ids) |
HTMLコードに対する強固な結び付きを回避するために、セレクターにはIDを含めてはいけない | ignore |
!important (important) |
CSSルールをオーバーライドするための「!important」を使ってはいけない | ignore |
既知のプロパティ (known-properties) |
CSS仕様に載っている既知のプロパティ、もしくはベンダーフィックス付きのプロパティでなければならない | ignore |
outline: none (outline-none) |
「:focus」ルール以外で、「outline: none」や「outline: 0」を使ってはいけない | warning |
過剰な要素指定 (overqualified-elements) |
要素に対するクラスやID(例:「a.foo」や「a#foo」)を使ってはいけない | ignore |
特別指定のヘッダー (qualified-headings) |
<h3>のような見出し指定で「.foo h3」のように特別な名前空間で識別してはいけない | ignore |
正規表現のセレクター (regex-selectors) |
正規表現のようななセレクターは遅いので避けなければならない | ignore |
プロパティ値のまとめ書き (shorthand) |
可能な場所ではプロパティ値をまとめ書き(例:「margin:10px 20px 20px 30px;」)しなければならない | ignore |
テキストインデント (text-indent) |
「-99px」より大きなマイナスのtext-indentプロパティ値を指定してはいけない | ignore |
唯一の見出し指定 (unique-headings) |
見出し指定は1回だけにしなければならない | ignore |
ユニバーサルセレクター (universal-selector) |
ユニバーサルセレクター(例:「* { ... }」)は遅いので使ってはいけない | ignore |
不十分な属性指定 (unqualified-attributes) |
不十分な指定の属性セレクター(例:「.mybox [type=text] { ... }」)は遅いので、より細かく指定(例:「.mybox [type=text] a { ... }」)しなければならない | ignore |
ベンダープレフィックス (vendor-prefix) |
ベンダープレフィックス付きプロパティを使う場合は、標準プロパティも必ず含めなければならない | warning |
「0」の単位指定 (zero-units) |
値が「0」の場合は、単位(例:「0px」)を指定してはいけない | warning |
JavaScript:
JavaScript言語のコード記述の検証ルール(「Lint」と呼ばれる)を構成するために使われる。
- 入力候補設定(suggestSettings): JavaScript IntelliSenseの動作方法を指定する。
→ 常に全ての入力候補語句(alwaysAllWords): 現在のドキュメントにおける全ての語句を常に入力候補に含めるか/含めないか(true/false)を指定する。既定値は「false」。
→ メソッドの入力候補でのコードスニペットの使用(useCodeSnippetsOnMethodSuggest): メソッドの入力候補から入力した際に、パラメーターシグネチャ付きで関数を完成させるか/させないか(true/false)を指定する。。既定値は「false」。
- バリデーション設定(validationSettings): JavaScriptコードの妥当性確認の動作方法を指定する。
→ コード生成ターゲット(codeGenTarget): 「ES3」と「ES5」のどちらのECMAスクリプトのバージョンを使用するかを指定する。既定値は「ES5」。
→ LINT(lint): 妥当性確認に関する各種設定。次の表を参照。
日本語訳 (設定項目名) | 説明 | 既定値 |
---|---|---|
丸カッコ省略不可 (curlyBracketsMustNotBeOmitted) |
丸カッコを省略してはいけない | ignore |
コメントなしの空ブロック (emptyBlocksWithoutComment) |
空のブロックにはコメントがなければならない | ignore |
厳格ではない比較演算子 (comparisonOperatorsNotStrict) |
「!=」と「==」の代わりに、「!==」と「===」を使わなければならない | warning |
セミコロンなし (missingSemicolon) |
セミコロンがなければならない | warning |
予約語 (reservedKeywords) |
予約語を使ってはならない | warning |
TypeScript専用 (typeScriptSpecifics) |
JavaScriptコード内でTypeScript言語専用の構文を使ってはいけない | warning |
未知のtypeofの結果 (unknownTypeOfResults) |
typeof演算子で想定外の出力が返されている | warning |
ブロックではなくセミコロン (semicolonsInsteadOfBlocks) |
ブロックで書くべきところにセミコロンを記述してはならない | warning |
ループ内の関数 (functionsInsideLoops) |
ループの中に関数を書いてはいけない | warning |
「///」参照の問題 (tripleSlashReferenceAlike) |
「///」による参照先が見付からない | warning |
未使用の変数 (unusedVariables) |
未使用のローカル変数 | warning |
未使用の関数 (unusedFunctions) |
未使用のローカル関数 | warning |
小文字関数のコンストラクター (newOnLowercaseFunctions) |
小文字の名前の関数をコンストラクターとして使ってはいけない | warning |
retrun関数のコンストラクター (newOnReturningFunctions) |
return文付きの関数をコンストラクターとして使ってはいけない | warning |
変数の再宣言 (redeclaredVariables) |
変数を再宣言して、その型を変更してはならない | warning |
未宣言の変数 (undeclaredVariables) |
未宣言の変数を使ってはいけない | error |
未知のプロパティ (unknownProperty) |
未知のプロパティを使ってはいけない | ignore |
プリミティブ (primitivesInInstanceOf) |
プリミティブ型でinstanceof演算子を使ってはいけない(例えば「3 instanceof Number;」はエラー扱い) | error |
数値型の混在 (mixedTypesArithmetics) |
数値以外で算術演算子(++/--など)を使ってはならない(例えば「"5"++;」はエラー扱い) | warning |
強制的な型変換 (forcedTypeConversion) |
代入によって変数の型を再宣言してはならない | warning |
JSON:
JSONの設定とスキーマ言語を構成するために使われる。
- スキーマ(schemas): 現在のプロジェクト内のJSONファイルにスキーマを結び付ける。既定値は「[]]。
TypeScript:
TypeScript言語を構成するために使われる。各設定の意味は、上記の「JavaScript」で説明済みのものは、説明を割愛する。
- 入力候補設定(suggestSettings): TypeScript IntelliSenseの動作方法を指定する。
→ 常に全ての入力候補語句(alwaysAllWords): 既定値は「false」。
→ メソッドの入力候補でのコードスニペットの使用(useCodeSnippetsOnMethodSuggest): 既定値は「false」。
- 複数のワーカーを許可するか(allowMultipleWorkers): TypeScriptが1つ以上のWebワーカーを使用するのを許可する。変更はブラウザー更新後を有効になる。既定値は「false」。
- バリデーション設定(validationSettings): TypeScriptコードの妥当性確認の動作方法を指定する。
→ コード生成ターゲット(codeGenTarget): 既定値は「ES5」。
→ LINT(lint): 次の表を参照。
日本語訳 (設定項目名) | 説明 | 既定値 |
---|---|---|
コメントなしの空ブロック (emptyBlocksWithoutComment) |
空のブロックにはコメントがなければならない | ignore |
丸カッコ省略不可 (curlyBracketsMustNotBeOmitted) |
丸カッコを省略してはいけない | ignore |
厳格ではない比較演算子 (comparisonOperatorsNotStrict) |
「!=」と「==」の代わりに、「!==」と「===」を使わなければならない | warning |
セミコロンなし (missingSemicolon) |
セミコロンがなければならない | warning |
未知のtypeofの結果 (unknownTypeOfResults) |
typeof演算子で想定外の出力が返されている | warning |
ブロックではなくセミコロン (semicolonsInsteadOfBlocks) |
ブロックで書くべきところにセミコロンを記述してはならない | warning |
ループ内の関数 (functionsInsideLoops) |
ループの中に関数を書いてはいけない | warning |
戻り値型なしの関数 (functionsWithoutReturnType) |
クラス内のメンバー関数に対して戻り値型のアノテーション(例:「:void」)を省略してはいけない | warning |
「///」参照の問題 (tripleSlashReferenceAlike) |
「///」による参照先が見付からない | warning |
未使用のimport (unusedImports) |
未使用のインポート(import) | warning |
未使用の変数 (unusedVariables) |
未使用のローカル変数 | warning |
未使用の関数 (unusedFunctions) |
未使用のローカル関数 | warning |
未使用のメンバー (unusedMembers) |
未使用のprivateメンバー | warning |
検索(search):
検索関連の設定を構成するために使われる。
除外フォルダー(excludeFolders):
ワークスペース内でフルテキスト検索を行うときに除外するフォルダーを指定する。初期設定では「.git」と「node_modules」が指定されている。
実行(run):
実行動作を構成するために使われる。
サフィックス(suffix):
[Run]ボタンを押した時に、[出力(Output)]領域に表示されるURLの後に文字列を追加できる。例えば「/Home」と指定した場合、実行されるURLは「http://markdown.azurewebsites.net/Home」のようになる。
テーマ(theme):
「vs」が指定されている。この設定値を変更することで、テーマが切り替わると想像されるが、入力可能な名前が不明なため、実際には試せていない(現状ではまだ実装が完了していないのかもしれない)。
■
- 第1回: Visual Studio Online “Monaco”の概要と、Git関連を除く主要機能を説明している。
- 【前】→ ・第3回: コンソール(Console/Terminal)で使える全てのコマンドと、コマンドスニペットを一覧表にまとめている。
- 【次はこちら】→ 第5回: IntelliSenseから利用可能な「コードスニペット」を一覧表にまとめている。
- 第6回(近日公開予定): 「開発」→「ソース管理」→「本番公開」をGitでシームレスに行える“Monaco”のGit関連機能と使い方を説明している。
1. 開発環境までもWeb化?! Visual Studio Online “Monaco”機能徹底解説(Win&Mac対応)
Visual Studioのオンライン版?! Webブラウザー上で動作する開発環境“Monaco”で開発はどう変わるのか? その全機能をさまざまなブラウザーで徹底的に試してみる。さらにデスクトップアプリ開発も実験してみる。
2. Visual Studio Online “Monaco”の全コマンド(Commands)一覧(Win&Mac対応)
Webブラウザー上で動作する開発環境「Visual Studio Online “Monaco”」が提供する「全てのコマンド」と「全ての(Windows向けとMac OS向けの)ショートカットキー」を一覧表にまとめて紹介する。
3. Visual Studio Online “Monaco”のコンソール(Console/Terminal)で使える全コマンド一覧
Webブラウザー上で動作する開発環境「Visual Studio Online “Monaco”」が提供する、コンソール用の「全てのコマンド」と「コマンドスニペット」を一覧表にまとめて紹介する。
4. 【現在、表示中】≫ Visual Studio Online “Monaco”のオプション設定(user.json/team.json Settings)
Webブラウザー上で動作する開発環境「Visual Studio Online “Monaco”」のオプション設定ファイル(user.json/team.json)に指定できる「全ての設定項目」について説明する。
5. Visual Studio Online “Monaco”のコードスニペット(Code Snippets)
Webブラウザー上で動作する開発環境「Visual Studio Online “Monaco”」のIntelliSenseから利用可能な「コードスニペット」についてまとめる。